Deux têtes (ou plus) valent mieux qu’une.
Le codage seul est difficile.
Il y a des avantages à lutter seul. Vous grandissez en tant que développeur en vous heurtant à un problème.
Mais la recherche d’aide stratégique peut accélérer votre croissance et vous aider à résoudre un problème d’ingénierie d’une manière que vous n’auriez peut-être pas envisagée.
C’est là qu’intervient la programmation en binôme. Voici les cinq principaux avantages que j’ai connus au cours d’une décennie d’ingénierie logicielle.
J’ai perdu le compte du nombre de fois où j’ai demandé à un collègue ingénieur de regarder mon code défectueux et ils ont immédiatement trouvé le bogue.
J’ai fait la même chose pour d’autres ingénieurs. Mais comment un autre ingénieur peut-il résoudre votre problème en quelques minutes alors que vous ne pourriez pas le faire en quelques heures ?
Je crois qu’une partie du problème est la Réglage de l’effet. C’est une façon élégante de dire que lorsque vous fixez un problème trop longtemps, vous finissez par l’aborder de manière limitée et devenir potentiellement aveugle aux meilleures façons.
Lorsque vous associez un programme à un autre ingénieur, vous présentez quelqu’un avec un regard neuf. Ils trouveront rapidement les parenthèses fermantes manquantes ou la mauvaise gestion de l’état dans votre application. Votre cerveau peut ne pas vous permettre de voir ces problèmes « évidents » si vous l’avez observé trop longtemps.
Mon conseil : time-boxez votre « session de lutte » sur un code sur lequel vous êtes bloqué. Après avoir raisonnablement déployé des efforts pour trouver une solution, collaborer avec un autre ingénieur en partageant simplement un brouillon de pull request ou en demandant un partage d’écran de 15 minutes peut vous faire économiser des heures sur la mauvaise voie.
Lorsque je regarde des ingénieurs plus expérimentés coder, je sélectionne tellement de raccourcis et d’outils sympas que je n’ai jamais vus auparavant.
Cela inclut de nouvelles commandes de terminal, des raccourcis clavier pour naviguer plus rapidement dans mon éditeur de code, des fonctions d’assistance avancées dans un langage de programmation, et bien plus encore.
La programmation en binôme ne consiste pas seulement à résoudre des problèmes, mais à observer COMMENT quelqu’un résout les problèmes.
La programmation en binôme devient particulièrement utile lorsque vous rejoignez une nouvelle entreprise ou que vous vous intégrez à une nouvelle base de code. Trouver un expert avec qui s’associer peut être inestimable.
Il y a des experts dans chaque entreprise qui connaissent un système de fond en comble et qui peuvent transférer une mine de connaissances en très peu de temps.
Cette connaissance comprend l’apprentissage de l’architecture du système, les meilleures pratiques, la connexion des concepts commerciaux au code pertinent et une compréhension plus approfondie du langage de programmation ou du cadre utilisé.
Avis de non-responsabilité : faites toujours un effort raisonnable pour apprendre vous-même un système avant de demander le temps d’un expert pour jumeler le programme. Ils peuvent toujours dire quand vous n’avez pas fait preuve de diligence raisonnable et cela montre un manque de respect pour leur temps.
La programmation en binôme empêche l’accumulation de connaissances tribales chez un individu.
Codifier ensemble est une occasion précieuse de comprendre le « pourquoi » d’une fonctionnalité ou d’un système et de se familiariser collectivement avec le code associé. Faire cela suffisamment permet à vous ou à vos coéquipiers de gérer les incidents liés à un système ou à toute amélioration future qui doit être apportée à ce système.
Une partie sous-estimée de la programmation en binôme consiste en fait à connaître vos coéquipiers.
Vous apprenez comment ils pensent, ce qui les intéresse et les choses qui se passent potentiellement dans leur vie personnelle et qui pourraient affecter leur travail.
La programmation en binôme est une chance de se connecter avec vos coéquipiers sur le plan humain, pas seulement professionnellement.
Surtout dans un environnement distant où vous ne pouvez pas vous rendre au bureau de quelqu’un, avoir des sessions de programmation de paires vidéo plus longues permet aux ingénieurs de renforcer la confiance les uns avec les autres, de résoudre les problèmes ensemble et, finalement, d’agir plus rapidement à long terme.