Principal La Technologie Comment faire la différence entre un bon programmeur et un bon programmeur

Comment faire la différence entre un bon programmeur et un bon programmeur

Votre Horoscope Pour Demain

Si écrire du code était une science, tous les développeurs seraient à peu près les mêmes.

Tout comme dans l'art, deux développeurs n'ont pas la même pensée ou perception ou la même vérité subjective tout en écrivant du code pour le même résultat.

Alors que certains ont du mal à produire le résultat souhaité, pour quelques-uns, cela vient presque naturellement, comme si une révélation les frappait au moment où ils s'assoient pour créer des programmes ou résoudre un problème.

Dans un article de blog , Steve McConnell (cité comme un expert en génie logiciel) écrit que l'étude originale qui a trouvé d'énormes variations dans la productivité de la programmation individuelle a été menée à la fin des années 1960 par Sackman, Erikson et Grant. Ils ont constaté que le rapport du temps de codage initial entre les meilleurs et les pires programmeurs était d'environ 20 à 1. Ils n'ont trouvé aucune relation entre la quantité d'expérience d'un programmeur et la qualité ou la productivité du code.

Bien qu'il y ait eu des défauts dans cette étude, même après en avoir tenu compte, les données montrent toujours une différence de plus de 10 fois entre les meilleurs programmeurs et les pires.

est-ce que paul teutul sr est marié

Chez Arkenea, nous avons plus de cinq ans d'expérience dans le recrutement de développeurs, et il est aussi difficile qu'auparavant de distinguer un bon programmeur d'un bon.

Ce n'est pas un défi unique. Nous avons vu de nombreuses grandes entreprises et entreprises de tous les secteurs se débattre avec le même problème. Beaucoup ont créé un processus de filtrage au moyen de divers tests, mais peut-on vraiment tester un artiste ?

La réponse directe est non.

Écrire un bon code n'est tout simplement pas le seul facteur pour juger si le programmeur est une excellente ressource.

Mais il y a un moyen. Il existe d'autres indicateurs (en dehors de la qualité de l'écriture de code) qui séparent les grands programmeurs des bons.

Christopher Burke, dans une réponse sur Quora , a souligné que quiconque peut écrire des programmes fonctionnels pour résoudre des problèmes est un programmeur. Un bon programmeur, d'un autre côté, est celui qui collabore avec d'autres pour créer des programmes maintenables et élégants adaptés à une utilisation par le client, à temps et avec un faible taux de défauts, avec peu ou pas de drame interpersonnel.

Mais ce qui fait un bon programmeur, c'est celui qui comprend intuitivement les algorithmes et les architectures, peut construire de grands systèmes cohérents avec peu de supervision, peut inventer de nouveaux algorithmes, peut refactoriser des systèmes en direct sans les casser, peut communiquer efficacement et de manière convaincante avec le personnel non technique sur les et les problèmes non techniques, comprend comment contrôler son ego et peut enseigner ses compétences aux autres.

D'après mon expérience, cependant, j'assimilerais sa définition d'un programmeur à celle d'un bon programmeur et sa définition d'un bon programmeur à celle d'un grand programmeur.

Quelqu'un que Christopher appelle un grand programmeur, je dirais, n'écrirait pas nécessairement du code à ce stade de sa carrière. La personne travaillerait de manière plus stratégique avec les entreprises et leurs équipes de développement pour donner des orientations sur les produits - essentiellement quelqu'un comme un CTO.

La volonté de rester avec un problème jusqu'à ce qu'il soit résolu (à ne pas confondre avec s'asseoir sur un problème), associée à la capacité de le résoudre de manière créative, est une compétence ou une aptitude hautement souhaitée que l'on ne trouve que chez les grands programmeurs.

quel âge a anastasia ashley

Alors la question par excellence, comment identifiez-vous un grand programmeur ? Cette personne sera en mesure d'aller rapidement à la racine de votre problème. Il ou elle peut ne pas fournir instantanément une solution, mais peut tracer un chemin pour y parvenir rapidement et efficacement.