Le bon programmeur : mythe ou réalité ?

Restez en contact, suivez CodinGame for Work
Le concept de "bon programmeur" est un concept flou et fortement subjectif. Les points de vue sur la question sont plus qu'hétéroclites et sur le web, le débat est vaste. De notre côté, nous partons du principe qu'une société qui veut produire des logiciels et services de qualité, qu'elle soit start-up ou pas, a quoi qu'il en soit besoin de bons programmeurs. Parce que la matière première d'une application, c'est le code. Et si le code n'est pas de qualité, il y a fort à parier que l'application ne sera pas solide, évolutive, ou fonctionnelle, quel que soit le nombre de personnes impliquées dans le projet, et quelles que soient les éventuelles procédures qualité mises en place. C'est un peu comme pour un restaurant qui voudrait préparer d'excellents plats : s'il ne dispose pas d'une matière première de premier choix, il a beau avoir de bonnes recettes, le résultat sera décevant. 

Il n'y a pas de règles en matière de bons programmeurs. Les chemins qui mènent à un code de qualité sont multiples. 

Est-ce une question de formation initiale ? Nous partageons l'opinion selon laquelle un bon programmeur n'est pas nécessairement issu d'une grande école ou d'un niveau élevé de formation universitaire. Il peut tout à fait être autodidacte, ou issu d'une formation courte. La compétence en programmation ne se joue pas en référence au degré de connaissance théorique.

Est-ce une question d'expérience professionnelle ? Il n'y a pas là non plus de lien de cause à effet automatique. L'expérience permet d'acquérir une forme de méthodologie, des habitudes de travail et des réflexes qui aident à gagner du temps et à mieux travailler en équipe. Dans beaucoup de métiers, on peut affirmer que l'on s'améliore en pratiquant, qu'un débutant se fera piéger dans des erreurs qu'un professionnel expérimenté ne fait plus depuis longtemps. Mais il semble que ça ne soit pas le cas en programmation. Si on compare le code de deux développeurs de profil similaire qui justifient du même niveau d'expérience professionnelle, on peut être très, très surpris. 

Est-ce lié au nombre de technologies et langages maîtrisés ? Pas nécessairement. Une liste à la Prévert sur un CV ne permet en rien de justifier le niveau de maîtrise du candidat dans les technologies et langages cités.

Peut-on se fier à la liste des entreprises dans lesquelles le candidat a travaillé précédemment ? Pas toujours. Bien sûr, certains groupes sont réputés pour leurs exigences techniques en matière de recrutement. Mais beaucoup de sociétés n'ont pas à leur disposition des process pointus d'évaluation à l'embauche. D'autant qu'un nom de société cité sur un CV, aussi prestigieux soit-il, ne permet pas de valider le rôle que le développeur a effectivement tenu dans le cadre de son emploi. Etait-il personne-ressource ou non ? A-t-il apporté des briques centrales dans la réalisation de projets ? Le CV est bien souvent trop évasif pour intégrer ce niveau de précision.

En réalité, il n'y a pas de process miracle pour détecter les bons programmeurs. On peut juste noter que les outils de détection fiables sont trop rares. 
Reste enfin à préciser ce qui fait qu'un développeur est un bon développeur. Ce sera l'occasion d'un prochain billet...



1 commentaire :

  1. J'approuve. Je suis curieux de voir ce que donne votre application d'évaluation en c#.

    RépondreSupprimer