Un developpeur c’est plus qu’un codeur…

Depuis bientôt 10 ans, je travaille en tant que développeur logiciel. Durant toutes ces années, j’ai principalement travaillé dans le domaine des systèmes embarqués, où les gens du côté hardware et du côté software collaborent de très près.
Une observation qui, selon moi, est un non-sens, c’est lorsqu’un expert firmware/hardware se retrouve dans une équipe de développement logiciel en tant que développeur, et ceci, simplement parce qu’il
est en mesure d’écrire du code.
Selon mon expérience, cette situation nuit à la performance de l’équipe et, bien évidemment, à la qualité du logiciel.
Voici une méthaphore que j’aime bien utiliser : C’est comme si une écurie de F1 décidait de me donner le rôle de pilote et ceci, simplement parce que je conduis une voiture depuis 10 ans. Je peux vous garantir que bien que je conduise une voiture, toutes les subtilités et techniques de conduite d’une F1 font en sorte que je suis loin d’être un pilote de F1 performant. De plus, je risque d’avoir plusieurs accidents avant de devenir un bon pilote.
Être développeur logiciel, c’est plus que d’écrire du code. En fait, un développeur doit savoir comment faire de l’orienté objet et des tests. Il doit aussi savoir conceptualiser le domaine, appliquer des règles d’ingénierie logicielle, coder en prenant en considération l’architecture et l’impact à long terme, etc.
Avez-vous déjà vécu cette situation? De quelle façon avez-vous composé avec celle-ci afin de réduire l’impact sur la qualité logicielle et la performance de l’équipe?

