Qu'arrive-t-il aux programmeurs qui manquent de travail d'équipe?
Il devient alors difficile de travailler sur des projets trop volumineux pour un seul programmeur. Difficile pour le programmeur solo et difficile pour le reste de l'équipe.
Où commence le problème?
Toutes sortes d'endroits. Nous avons actuellement un seul programmeur qui travaille mal au sein d'une équipe. Il a tendance à faire des raccourcis qui ont de mauvais effets sur le reste de l'application car il se concentre trop étroitement sur la correction du bug devant lui. Ou écrire la nouvelle fonctionnalité de manière à ce qu'elle ne soit pas compatible avec le reste de l'application. Nous devons réorganiser les choses de sorte que chaque enregistrement de code soit examiné par le reste de l'équipe. Mais afin de ne pas le distinguer, nous examinons également les enregistrements de code de tout le monde, donc avec la réunion d'état du matin, nous ne faisons aucun travail avant le déjeuner. Donc, à notre bureau, cela signifie que 4 personnes perdent une demi-journée de travail chaque jour parce qu'un gars est moche au travail d'équipe. Je ne peux pas dire que c'est une amélioration par rapport aux aventures précédentes, parce que nous pourrions perdre au hasard un jour à une semaine (chassant généralement de nouveaux bugs) de ses check-ins qui cassent les choses (nous appelons ces "robstacles"). Certaines des corrections apportées à son code finiront par éliminer une demi-douzaine de bogues en raison de la complexité et du désordre de l'application (ma recommandation dela neutraliser depuis l'orbite et recommencer parce que c'est la seule façon de s'assurer qu'elle n'a pas été acceptée).
Quand nous sommes d'humeur généreuse, nous l'appelons un "programmeur tête en bas", il a tendance à regarder le clavier et à taper très vite. Il ne fait pas attention à ce que font les autres.
Est-ce qu'un bon programmeur compense au moins un peu?
Non. La plupart des programmeurs qui sont de mauvais joueurs d'équipe ont une très haute opinion de leurs propres compétences, et cela s'appelle l'effet Dunning-Kruger . PDF du papier.
Peut-être: le programmeur solo devrait être bien meilleur que le reste de l'équipe. Mais cela signifie simplement que personne d'autre ne peut maintenir ce qu'il fait; et quand cela se produit, cela signifie probablement que le programmeur solo n'est pas vraiment bien meilleur que le reste de l'équipe - il (et c'est presque toujours un gars) est juste meilleur pour tromper tout le monde.
Dans le développement de logiciels d'entreprise, l'entreprise sera présente longtemps après votre départ. Les programmes ont probablement été écrits avant votre départ et seront maintenus longtemps après votre départ. Si vous écrivez des choses si spéciales et incroyables que personne d'autre ne peut les comprendre, alors vous vous retrouvez dans la situation où se trouve Naughty Dog - leur principal développeur quitte, personne d'autre ne comprend le langage de programmation propriétaire que le gars a écrit (et écrit choses), ils doivent donc maintenant tout basculer en C ++.
Est-il normal qu'un programmeur ait une vision de son travail au lieu de simplement faire ce qu'on lui dit?
C'est fréquent - comme un embouteillage ou un diabète. Je n'appellerais pas ça normal. Dans le monde de l'entreprise, il y a beaucoup d'autres choses à considérer; l'ego fort que de nombreux développeurs ont généralement fait penser au développeur que rien d'autre n'a d'importance. Ce «manque d'adéquation» et ce manque de considération pour le reste de l'entreprise est la raison pour laquelle tant de types de gestionnaires arrivent à la conclusion que les développeurs de logiciels sont difficiles à travailler.