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?

 

 

 

 

email

à propos de pyxis

L’Agilité guide nos pratiques depuis plus de 10 ans. Pour nous, les approches Agiles permettent de livrer rapidement et fréquemment des logiciels de qualité. Pionniers de l'Agilité au Québec, nous tirons profit chaque jour des avantages découlant des méthodes Agiles.
voir mon profil »

  • François Perron

    Salut Brian! J’ai travaillé pas mal avec des gars hardware/firmware dans des équipes Scrum, et j’en garde un souvenir d’équipes performantes produisant des logiciels surprenants!

    Je prends l’exemple d’un chargeur de batterie haute-performance. Non, les gars firmware n’étaient pas lacher lousse dans le code! Et encore moins les développeurs dans l’adressage de la mémoire ou dans la sélection des chips hardware!

    Aussi, j’ai vraiment apprécié le day-to-day de travailler avec eux! Ils apportaient à l’équipe une compréhension du HW que nous n’avions pas et ça nous permettait de créer avec eux des logiciels qui utilisait parfaitement le HW. Et de leur côté, nous avons écrit ensemble le firmware en y appliquant les principes de Clean Code et ils ont tripé.

    Je ne m’attends pas que tout le monde puisse faire tout dans une équipe! Je crois que ça revient à se rendre compte où on est compétent et où on a besoin d’aide, et d’être ouvert à demander de l’aide et apprendre ;)

  • Brian Corriveau

    Salut Francois, je suis tout a fait d’accord avec toi. Je ne veux pas dire que les gars HW ne peuvent pas etre de bon developpeur logiciel ou vice-versa.

    Mon point est que l’expertise logiciel est aussi importante que l’expertise HW. On pourrait inverser les roles et je penserais la meme chose. Je sais que je serais capable de code du HW mais j’aurais surment de la misere et je ferais surment beaucoup d’erreur.

    Aussi pour clarifier mon point: Je parle de prendre des gens hardwares pour developper des features software