Avez-vous rencontré un super programmeur? Qu'est-ce qui l'identifie en tant que tel, par rapport aux programmeurs expérimentés / excellents "normaux"?
Aussi. comment traitez-vous avec une personne de votre équipe qui croit être un super programmeur? Les deux au cas où il le serait réellement ou s'il ne l'est pas?
Edit : entrées intéressantes tout au long, merci. Quelques éléments peuvent être glanés:
Quelques définitions ont émergé. Sans tenir compte des définitions trop localisées (qui identifiaient les auteurs ou leurs connaissances comme des super programmeurs), j'ai aimé quelques définitions:
Définition de Thorbjørn : une personne qui fait l'équivalent d'une bonne équipe de manière cohérente pendant une longue période.
Electron gratuit, lié à la réponse d' Henry . Une personne très productive, aux capacités exceptionnelles. L' explication est une bonne lecture.
Un Free Electron peut tout faire en matière de code. Ils peuvent écrire une application complète à partir de zéro, apprendre une langue en un week-end et, plus important encore, ils peuvent plonger dans une énorme pile de code de spaghetti, donner un sens à cela et le faire fonctionner. Vous pouvez créer une entreprise entière autour d'un Electron libre. Ils sont si bons.
En contraste avec la dernière définition, est le point lié par James au sujet du mythe du génie programmeur ( vidéo ). La même idée est exprimée comme une programmation sans ego dans le commentaire de rwong. Ils présentent des opinions opposées quant à l'optimisation pour un programmeur aussi unique ou pour une équipe.
Ces définitions sont définitivement différentes, donc je vous serais reconnaissant si vous avez une idée de ce qui est le mieux. Ou ajoutez le vôtre si vous le souhaitez bien sûr, mais il serait utile de dire pourquoi il est différent de ceux-ci.
la source
Réponses:
Je considérerais le terme "super programmeur" uniquement pour ceux qui peuvent faire un travail qui nécessite généralement une équipe de bons programmeurs, et le faire de manière cohérente pendant une longue période.
Cela va à la fois pour écrire du code de haute qualité (documentation, tests, etc.) et pour résoudre des problèmes très difficiles nécessitant beaucoup de connaissances et de talent à résoudre.
Mais cela nécessite une performance élevée sur tous les comptes depuis longtemps. Pour ceux qui écrivent des tonnes de code que personne ne peut comprendre et maintenir, le terme n'est pas applicable.
Comment faire avec? Si vous avez vraiment une telle personne, faites tout ce que vous pouvez pour fournir l'échafaudage nécessaire pour que la personne excelle. Cela signifie déplacer les choses non pertinentes et fournir les ressources dont la personne a besoin. Veuillez noter que j'ai trouvé que les très bons interprètes ont tendance à être humbles.
Il est malheureusement beaucoup plus probable que vous ayez une personne qui pense être un super programmeur et qui ne l'est pas. D'après mon expérience, la façon de les gérer est de rendre leurs performances mesurables. "FindBugs ne peut trouver aucun problème", "Tout le code doit avoir des tests correspondant aux cas d'utilisation", "Revue par les pairs".
Si le code est vraiment difficile à comprendre, envisagez des réunions hebdomadaires où le programmeur pas si super explique tout code que le code qu'il a écrit depuis la dernière réunion que n'importe qui peut demander anonymement pour avoir expliqué, et n'importe qui peut rejeter anonymement pour avoir accepté dans le base de code pour qu'il soit impossible à maintenir. Ensuite, au moins vous avez partagé l'état d'esprit et autorisé les futurs responsables à opposer leur veto à un morceau de code. Cela indiquera également fortement au programmeur le type de code qui le fera effectuer un travail supplémentaire.
(EDIT: La raison du bit anonyme est d'éviter que le programmeur pas si super ne riposte contre ceux qui s'opposent à lui).
la source
Un superprogrammeur est toute personne qui peut générer du code plus rapidement qu'un compilateur de vitesse, plus puissante qu'une fonction récursive et capable de sauter par-dessus les piles FIFO en une seule liaison.
La façon dont vous traitez une personne de votre équipe qui croit qu'il est un superprogrammeur est en l'exposant à sa seule faiblesse - la lumière du soleil.
la source
Demandez à la personne d'écrire un chapitre d'elle-même dans le style Coders at Work . Soumettez-le à un éditeur. S'il est rejeté, alors la personne n'est pas un super programmeur.
la source
Il y a ceux qui peuvent produire plus de résultats que d'autres.
Il y a ceux qui peuvent produire une sortie avec un taux de défauts inférieur à d'autres.
Ceux qui peuvent constamment produire plus de sortie, avec des taux de défauts inférieurs à la normale, pourraient être dignes d'être appelés Super-Programmer.
Être connu ou considéré comme tel n'est généralement apparent qu'à un gestionnaire éclairé avec le recul.
Quelqu'un qui pense être un super programmeur a probablement un gros ego et pense qu'il est bon. Cela ne les rend pas bons.
Attitude <> Capacité.
la source
Super programmeur: une personne d'une intelligence supérieure à la moyenne avec un fort dévouement à la programmation. Je parle d'une personne qui passe beaucoup de temps à programmer, ne quitte pas facilement et est déterminée à résoudre un problème particulier. Cette personne s'endort rarement s'il y a un problème / bug en attente. Le super programmeur écrit du code efficace, rapide et fiable. Le super programmeur possède une connaissance approfondie et approfondie d'au moins un langage de programmation (et de la technologie), est compétent dans quelques autres et peut rapidement apprendre tout ce qui est nécessaire.
la source
Des programmes / projets qui ont créé , le code source de celui-ci, l'étude qui a fait.
Comme vous dites qu'il le croit, c'est très difficile de lui faire ne pas le croire. Le pire, c'est que cette personne a été arrêtée pour être un meilleur programmeur parce qu'elle pense que tout est prêt est super, et il arrête son évolution. Quoi de pire que cela dans la programmation. Quoi qu'il en soit, vous pouvez toujours demander une preuve ... et lui demander avec qui il / elle se compare pour faire l'hypothèse qu'il / elle est super.
la source