Développeur, bien plus que coder
Fabian Piau | lundi 28 avril 2014 - 13:00Voici un article sans prétention qui rejoint des articles de plus en plus nombreux sur la toile venant à l’encontre des idées reçues sur le métier de développeur. Vous allez voir que ce métier est loin de se résumer à la « simple » écriture de code.
Métier multisectoriel
Tout d’abord, l’informatique étant un métier transversal, le développeur ne connait pas de limites au niveau des secteurs d’activité qui s’offrent à lui. Pour ma part, j’ai été amené à travailler sur des projets dans des secteurs aussi variés que sont l’automobile, l’énergie, la téléphonie ou bien encore la santé. Bien sûr, à chaque fois, il faut s’adapter, acquérir une bonne compréhension du fonctionnel et de la logique business, des paramètres indispensables dans la réussite d’un projet. Pouvoir travailler dans des secteurs différents est une grande liberté, cela vous amène à rencontrer des personnes de milieux différents, c’est très enrichissant. Aussi, vous pouvez vous faire une idée sur chacun et privilégier les secteurs qui vous intéressent le plus. Ce n’est pas donné à toutes les professions.
Vision projet dans sa globalité
Un développeur participe principalement durant la phase de développement d’un projet informatique, mais il doit aussi comprendre l’ensemble des composantes d’un projet. L’implémentation ne représente qu’une toute petite partie de la vie d’un projet informatique. Il n’y a pas besoin d’avoir une maitrise complète d’un projet de bout en bout, simplement avoir une notion des activités qui gravitent autour. En effet, les étapes sont nombreuses entre la naissance d’une idée et la vente de la solution, et cela ne s’arrête pas là.
Autonomie & communication
Il est vrai qu’un développeur est souvent devant son écran et participe peu à des réunions, l’autonomie est une qualité souvent exigée. Pourtant, l’aspect communicatif et collaboratif n’est pas en reste, il est indispensable d’avoir un bon relationnel: pouvoir travailler en équipe, comprendre et discuter avec le client ou le chef de projet. Un projet informatique se fait rarement tout seul, une bonne communication est donc primordiale. On ne compte plus les outils collaboratifs disponibles dans la panoplie d’un développeur.
Architecture logicielle
Bien évidemment, le développeur est un poste technique et il passe beaucoup de son temps à écrire du code. Ecrire des suites d’instruction avec des « if », des « else » est une vision dépassée. Le code est réfléchi et suit une architecture logicielle bien précise. La programmation est objet, fonctionnelle, les architectures sont modulaires, utilisent des patterns spécialisés et le modèle doit être bien pensé au plus tôt. L’architecture logicielle peut rapidement devenir complexe sur de gros projets. C’est pour cela qu’écrire un code maintenable est primordial, les composants doivent avoir été écrits pour pouvoir évoluer facilement.
Qualité logicielle
Le développeur a aussi une casquette de testeur. Certes, ce n’est pas l’utilisateur final, mais il écrit quand même des tests (on parle de tests techniques: unitaires et d’intégration). Il s’assure que la fonctionnalité livrée répond au besoin et que l’existant fonctionne toujours (non-régression). Il a aussi la connaissance et la maitrise de nombreuses métriques de qualité sur son code. Il est sensibilisé à la dette technique et s’arrange pour la diminuer en reprenant le code en cas de besoin (on parle de refactoring).
Maitrise des outils
Le développeur connait de nombreux outils qui l’aident dans la réalisation de ses tâches quotidiennes, que ce soit des outils applicatifs (IDE, gestionnaires de versionning, de bugtracking, plateforme d’intégration continue, analyseurs de code, etc.) ou des outils purement techniques (frameworks, librairies utilitaires, bases de données, etc.). On utilise autant que possible des outils existants, il est très rare de partir de zéro pour réaliser un projet. Le choix des outils est lui aussi quelque chose qui a été mûrement réfléchi.
Veille technique
Un développeur doit apprendre, apprendre et toujours apprendre pour éviter d’être dépassé techniquement. Il est vital de s’informer, de s’autoformer sur les nouvelles technologies et de tester de nouveaux outils. Cela ne doit pas aller à l’extrême et ce n’est pas parce que l’on ne passe pas son temps libre à aller au Devoxx, écouter les Castcodeurs, suivre des cours sur Coursera que l’on est un développeur non passionné ou un mauvais développeur. A noter aussi que certains développeurs se spécialisent sur d’anciens langages de programmation où le besoin de se tenir à jour est limité, car les technologies n’évoluent plus ou très peu. C’est un choix de carrière.
Proche de la machine
Le développement est une activité technique, mais elle se fait en général avec des langages de programmation de haut niveau. Le développeur doit tout de même avoir des notions de ce qui se passe sous le capot, se poser des questions sur les frameworks qu’il utilise, les concepts sous-jacents, comprendre les mécanismes de compilation, la gestion de la mémoire, de la performance, comprendre le stockage de l’information, la gestion des nombres à virgules flottantes, etc. Même s’il ne maitrise pas tous ces concepts, avoir quelques notions lui sera très utile.
Le métier de développeur est donc très complet et revêt de multiples facettes. Au-delà de cela, je pense que les mentalités en France et dans d’autres pays européens sont en train d’évoluer progressivement vers la bonne direction. Le métier de développeur devient un métier de plus en plus valorisé. Pour finir, je peux difficilement ne pas faire une comparaison avec ce qui se passe outre-Atlantique. Aux États-Unis, les développeurs sont très bien considérés et certains d’entre eux sont parmi les personnes les plus riches de la planète… A méditer!
Pour approfondir le sujet, je vous recommande la lecture de ces quelques articles, et en bonus une petite vidéo pour finir sur une touche de légèreté.
- Tariq Krim: « Les développeurs anonymes d’aujourd’hui peuvent créer les géants de demain »
- Comment valoriser les développeurs ?
- Ne dites pas à ma mère que je suis développeur
- Putain Bob tu m’énerves !
- Travailler autrement
- Rencontre avec Ludwine, développeuse
- Développeur après 31 ans ? Ridé et chauve tu seras
Commentaires récents