Qu'est-ce qui fait un bon programmeur ?
Un senior liste cinq caractéristiques d'un bon programmeur

Quand peut-on dire que l'on est un bon programmeur ? Quels sont les éléments distinctifs d'un bon programmeur ? Certains d'entre nous se sont probablement déjà posés la question ou ont eu l’occasion d'en débattre.

Henrik Warne, un développeur senior, dans son blog « réflexion sur la programmation », liste cinq points clés qui permettent de distinguer ou de se définir comme un bon programmeur. Les points qu'il évoque sont les suivants :


1 - Décomposition du problème

Selon Warne, l'objectif de la programmation est de résoudre des problèmes. Ainsi, « avant d’écrire le code, le programmeur doit avoir une idée claire sur la démarche pour résoudre le problème ». Un bon programmeur sera donc celui qui sera capable de décomposer son problème au point d'aboutir à des petits éléments pouvant être résolus facilement. « Il ne s'agit pas simplement de résoudre le problème. Un bon programmeur trouve le moyen de modéliser le problème de façon à ce que le programme à mettre sur pied soit facile à implémenter et à tester », explique Warne.

2 – Analyse du scénario

Warne explique dans son billet de blog qu'un bon programmeur est celui qui a la capacité d’anticiper tous les scénarios possibles dans son programme (logique du programme, événements internes et externes qui peuvent se produire). « Pour tenir compte des différents chemins dans la logique, il se pose les questions : qu'est-ce qui se passe si cet argument est nul ? Et si aucune de ces conditions n'est vraie, etc. », affirme-t-il, concluant que le bon programmeur a la capacité de penser comme un testeur.

3 – Nommage

Le nommage des variables, des classes et des méthodes est un aspect clé de la programmation. Lorsque cela est bien fait, le programme « devient en grande partie autodocumenté, ce qui signifie que la fonction du programme est tout à fait claire à la moindre lecture du code », explique Warne.

Cependant, le nommage en programmation est l'une des activités les plus difficiles pour le programmeur, selon lui.

4 – Cohérence

« Le plus grand défi dans la programmation est probablement la gestion de la complexité. La cohérence est un moyen de gérer la complexité. Il réduit une partie de la complexité en nous permettant de voir les modèles et déduire comment les choses sont nommées, utilisées et manipulées », affirme Warne, qui explique que la cohérence permet au développeur de ne pas avoir à utiliser la puissance du cerveau pour se rappeler des exceptions et des variables aléatoires. Au lieu de cela, il peut se concentrer sur la « complexité essentielle et la complexité non accidentelle. »

D'après Warne, la cohérence est importante dans tous les aspects de la programmation. Elle s'applique aux noms de variables, méthodes, structures, interfaces utilisateur, gestions des erreurs, documentations, etc.

5 – L'apprentissage

Le développeur apprend constamment. « Avant d’intégrer une nouvelle fonctionnalité, il doit comprendre ce qu'elle est censée faire. Avant de modifier un code existant, il doit comprendre le fonctionnement de celui-ci, pour adapter ce qui doit être ajouté », explique Warne, pour qui l'apprentissage rapide rend un développeur plus efficace.

Au vu de l'évolution des plateformes et des langages, Warne conclut que la vie d'un programmeur n'est jamais ennuyeuse. Une situation qui convient parfaitement au geek qu'il est.


Source : blog Henrik Warne


Et vous ?

Selon vous, qu'est-ce qui fait un bon programmeur ? Êtes-vous d'accord avec Warne ?