Dois-je accepter un travail si la programmation par paire est requise? [fermé]

28

On m'a proposé un travail intéressant, mais il y a une grande mise en garde pour moi: ils utilisent la programmation par paires.

Je déteste l'idée de la programmation par paire, et je ne suis probablement pas adaptée à cela: j'aime faire des pauses fréquentes, je déteste voir quelqu'un programmer (je pousserais constamment la paire pour me coder), je dois être en pleine le contrôle de la machine sur laquelle je travaille, j'aime écouter de la musique et, fondamentalement, je n'aime pas être lié à quelqu'un d'autre. Je ne suis même pas une personne sociale.

Cependant, je n'ai jamais réellement travaillé avec une véritable programmation par paires (à part quelques fois pendant une courte période pour aider quelqu'un d'autre ou pour résoudre une tâche complexe ensemble) ... c'est donc une programmation en paires vraiment si mauvaise? Et compte tenu de mon attitude, dois-je refuser le poste ou dois-je quitter mon poste actuel et essayer?


Pour les personnes qui ont posé des questions à ce sujet: je suis à la recherche d'un emploi où la conception et le développement formels sont utilisés, car je déteste mon travail actuel où nous "codons à l'état sauvage". La société est très intéressée par mon profil technique, ils ont donc insisté même lorsque j'ai spécifié que je n'avais jamais travaillé avec la programmation par paires et que je ne l'aimerais probablement pas (en plus d'être un programmeur solitaire insociable, je n'aime pas et je crois que le concept même de programmation en binôme).

Wizard79
la source
8
Eh bien, personnellement, vous ne semblez pas même un peu enthousiaste à ce sujet, donc je ne pense pas que vous devriez le faire à moins que vous ne vouliez essayer l'ancien collège.
Paul Nathan
1
Je trouve qu'un compromis entre la programmation en paire totale et la programmation en solo est un bon mélange. Vous bénéficiez d'une deuxième paire d'yeux, mais vous bénéficiez également d'un espace et d'une marge pour respirer l'autre moitié du temps.
Chris
Les TI sont utiles lorsque vous êtes nouveau dans ce langage de codage ... vous pouvez obtenir de l'aide immédiatement .. vous n'avez pas besoin d'attendre que ppl réponde Sur SO: P
GoodSp33d
4
@ Lorenzo, qu'avez-vous décidé à la fin, et comment cela s'est-il passé?
Benjol
5
@Benjol: J'ai essayé pendant quelques semaines (j'ai été en mesure de garder mon travail en attente entre-temps), puis j'ai réalisé que je détestais vraiment la programmation par paires, alors je suis retourné à mon ancien travail.
Wizard79

Réponses:

16

Sur la base de vos divers commentaires ici, vous semblez avoir une perspective / disposition similaire à moi-même sur le sujet. Et j'ai fait l' expérience de la "programmation par paires". Et je ne voudrais certainement pas rejoindre une entreprise qui m'obligeait à mordre un scorpion. :)

Ce que je recommanderais, c'est: Allez avec votre instinct.

Si l'entreprise vous oblige à faire de la programmation par paires et que vous savez que vous ne le souhaitez pas, ne vous joignez pas.

S'ils vous donnent l'occasion de montrer que vous pouvez produire un meilleur travail plus rapidement que deux de leurs développeurs actuels combinés, allez-y et prouvez-le.

Avant de vous décider définitivement, je suis certainement d'accord avec la recommandation que vous demandez de parler aux développeurs existants là-bas, et d'avoir une idée d'eux en tant que personnes. (Je recommanderais probablement cela pour tout nouveau travail, quelles que soient les méthodologies utilisées.)

Peter Boughton
la source
30

Devinez quoi - personne n'aime la programmation en binôme au début .

Quand j'ai essayé la programmation en binôme pour la première fois, j'étais contre l'idée et j'avais des tonnes d'objections similaires à la vôtre. Je n'aime pas regarder quelqu'un coder, j'aime écouter de la musique, je sens que je vais travailler plus vite par moi-même, je ne veux pas m'arrêter et m'expliquer constamment, etc etc etc.

Ensuite, je l'ai essayé. Et devine quoi? Ça craignait toujours . Nous avions toutes sortes de problèmes - je voulais travailler des heures différentes avec l'autre gars, nous avions différents paramètres de clavier et raccourcis, nos bureaux ne fonctionnaient pas très bien pour la programmation de paires, etc.

Cela a duré environ une semaine. Au cours de cette semaine, nous avons réécrit l'intégralité du système de connexion hérité pour une application distribuée. Nous avons dû apprendre comment fonctionnaient certains problèmes de threading très difficiles, comprendre comment fonctionnaient les récepteurs distants, changer des tonnes et des tonnes de code hérité pour fonctionner avec notre nouveau module de connexion et faire à peu près l'un des codages les plus mouvementés que j'ai eu à faire dans ma carrière. Après une semaine, nous l'avons déployé .. et tout a simplement fonctionné . Pas un seul bug . Pas un .

C'est alors que j'ai pensé qu'il pourrait y avoir quelque chose à ce non-sens de programmation de paire. Nous avons commencé à faire plus de programmation par paires. Nous avons même commencé à forcer tout le monde à travailler en binôme. Ça a basculé. J'ai probablement appris plus en un mois à le faire que je ne l'ai fait au cours des 2 années précédentes . Les autres problèmes n'ont pas disparu. Parfois, vous serez coincé avec une paire que vous n'aimez pas. Ça va arriver. Parfois, vous aurez du mal à trouver des heures de travail qui se chevauchent. Parfois, vous aurez envie de travailler seul. Mais les avantages de la programmation par paires sont tout simplement incroyables.

Depuis lors, j'ai toujours essayé de faire autant de programmation de paires que possible. C'est tout simplement la meilleure façon d'apprendre. Cette entreprise oblige tout le monde à faire de la programmation en binôme? Où dois-je m'inscrire? Il me semble qu'ils sont vraiment éclairés et vous serez dans un environnement de travail vraiment intense. Impressionnant.

Cela dit, assurez-vous que les paires tournent souvent. Vous ne voulez pas être bloqué en développement avec un autre développeur pendant des mois - vous sortirez de votre esprit. Nous sommes tous humains, après tout. Vérifiez également que cette pratique est en cours depuis un certain temps. Si ce n'est pas le cas, ce n'est pas la fin du monde, mais si c'est une pratique acceptée, c'est un feu vert massif.

Croyez-moi, vous voulez travailler pour une entreprise comme ça.

Jaco Pretorius
la source
5
Je dirais que le PO ne réussira dans une entreprise comme celle-ci que s'il est ouvert à apprendre qu'il n'est pas vraiment aussi bon en programmation qu'il le pense, puis revient à vouloir apprendre à s'améliorer.
dash-tom-bang
5
Ils m'ont essentiellement raconté votre même histoire exacte. Les gens là-bas étaient très favorables et je reconnais que le codage de cette façon est très efficace - et améliore vos compétences. Mais cela me rendait fou. Je ne pouvais pas vivre avec toutes les limitations de ma "liberté personnelle" et de mon "espace de vie" (choisir le timing, écouter de la musique, la configuration du clavier, la palette de couleurs dans l'IDE, etc.), donc après quelques semaines, j'abandonne.
Wizard79
6
"Après une semaine de cela, nous l'avons déployé ... et tout a simplement fonctionné. Pas un seul bogue. Pas un seul.": Je n'ai pas constaté de différence significative dans le nombre de bogues entre l'utilisation de la programmation par paire et la non-utilisation. Discuter des points essentiels avec vos collègues puis coder vous-même peut être aussi efficace. La programmation par paires n'est pas une solution miracle.
Giorgio
J'ai récemment terminé mon premier projet en utilisant la programmation en binôme avec un développeur plus expérimenté de l'équipe. Nous avons partagé le pilotage et le co-pilotage de tâches complexes de manière assez égale et nous avons tous deux appris quelques choses les uns des autres. Nous nous sommes séparés pour des tâches triviales, banales ou «chaudronnées».
Dib
2
"Devinez quoi - personne n'aime la programmation en binôme au début.": Devinez quoi - je ne l'aimais pas après l'avoir fait pendant deux années consécutives. J'ai quitté cette entreprise et dans ma nouvelle entreprise / équipe, personne ne veut faire de programmation en binôme et nous sommes tous très heureux et beaucoup plus productifs. D'après mon expérience, la programmation en binôme n'est valable que pour la formation des débutants, pour la microgestion ou pour les personnes qui ne peuvent pas travailler seules.
Giorgio
18

La programmation par paires est un excellent outil! Il peut être beaucoup plus efficace - deux têtes valent mieux qu'une - et un excellent moyen d'apprendre de nouvelles techniques. Bien sûr, il y a aussi d'autres avantages. Mais si vous n'achetez pas, vous n'en tirerez rien. Compte tenu de votre attitude, il semble que vous ne vous y adapteriez pas du tout et que ce serait probablement une perte de temps. Il semble que votre décision soit déjà prise avant même de vous lancer.

Muad'Dib
la source
7
Deux têtes coûtent également deux fois plus cher, et c'est le gros inconvénient =) Mais cela ne concerne pas l'entreprise
Thomas Bonini
7
-1 La programmation par paires est-elle excellente? C'est la pire chose qui soit jamais arrivée dans ma vie professionnelle!
Wizard
4
La programmation par paire doit être utilisée pour les tâches difficiles. C'est à ce moment que vous économisez de l'argent et du temps. Sinon, c'est une sorte de gaspillage. Je l'aime bien.
Joe Phillips
3
Je pense qu'il devrait également être utilisé comme un outil de mentorat pour les "greenhorns" pour les aider jusqu'à ce qu'ils prennent le contrôle du codage dans le monde réel.
Muad'Dib
3
@Kop: Je ne suis pas d'accord. L'objectif de la programmation par paires est précisément que deux têtes créent ensemble un meilleur logiciel que les deux mêmes têtes chacune, tout en commençant tout aussi cher. (Autrement dit, si vous n'atteignez pas cet objectif, cela n'en vaut pas la peine).
Sergio Acosta
10

Voyons cela d'un autre PDV: étant donné votre prédisposition, vous ne rendez probablement pas service à l'employeur. Ils ne veulent certainement pas embaucher quelqu'un qui "déteste" l'une de leurs pratiques de développement. Les avez-vous informés de votre point de vue dans un environnement aussi collaboratif? Sinon, vous vous trompez potentiellement.

En tant qu'employeur, je serais assez frustré d'embaucher quelqu'un qui savait, en entrant, qu'il ne serait pas satisfait des pratiques de développement que nous avions mises en place. C'est une recette de mécontentement et de frustration pour toutes les personnes impliquées.


Modifier Étant donné qu'ils comprennent d'où vous venez (et sont prêts à vous embaucher, comme vous l'avez mentionné dans votre commentaire), pourquoi ne pas discuter de ce que vous ressentez avec quelques développeurs de l'entreprise? Il est possible qu'ils soient en mesure de répondre à vos préoccupations ou à vos préjugés contre le PP. Il est également important pour eux de savoir que vous n'aimez pas vraiment l'idée, car vous travaillerez avec eux à temps plein.

Cela vous donnera également l'occasion d'apprendre quelque chose sur les personnes avec lesquelles vous travaillerez si étroitement.

Si tout le monde est à bord, je recommanderais certainement PP pour les mêmes raisons mentionnées dans les réponses ici. Vous avez une responsabilité immédiate pour ce que vous écrivez; un autre regard sur votre code détectera probablement des défauts ou des problèmes que vous pourriez autrement manquer; vous obtenez une grande exposition au point de vue de quelqu'un d'autre sur le codage (et obtenez de fournir votre propre expérience); et le résultat final est très souvent bien meilleur que prévu.

J'apprécie votre parti pris contre PP; il y a des moments où je ne veux rien de plus que de m'asseoir devant un ordinateur pour résoudre un problème, et PP devient frustrant (je suis aussi un introverti, ce qui signifie que PP me laisse un peu plus épuisé à la fin de la journée) parce que quelqu'un est toujours là. Cela dit, les résultats, selon mon expérience, parlent d'eux-mêmes et je suis beaucoup plus amical avec lui régulièrement.

bedwyr
la source
J'en ai parlé à l'employeur et ils m'ont demandé d'essayer.
Wizard79
2
@Lorenzo, fantastique. Il est si important de vous représenter avec précision auprès d'un employeur, et s'ils sont prêts à vous laisser essayer, c'est quelque chose à considérer.
bedwyr
c'est pourquoi je n'ai pas déjà refusé le poste, mais quitter le poste actuel pour quelque chose que je
n'aimerai
8

J'ai essayé la programmation en binôme et je l'ai détesté. Je partage presque tous les doutes et préoccupations que vous avez exprimés à son encontre. J'ai démissionné pour cette raison même.

Mon conseil personnel est toujours contre la paire, et étant donné votre attitude, je vous conseille fortement de ne même pas essayer.

sorcier
la source
4
+1 pour l'honnêteté. :) Ce n'est pas pour tout le monde, en effet.
dash-tom-bang
2
@Wizard: Certaines personnes aiment la programmation par paires, je ne le fais pas. Je préfère discuter de la structure du code à l'avance, puis faire le codage, puis faire une révision du code. Cela met un filtre entre moi et mes collègues afin que nous n'échangions que des informations pertinentes.
Giorgio
1
@Wizard: Je trouve qu'avec la programmation par paire, vous discutez de trop de détails insignifiants: il y a beaucoup de bruit qui ralentit votre train de pensées et vous rend moins efficace. D'autres personnes trouvent cela stimulant et aiment la rétroaction non structurée mais continue qu'ils reçoivent. Certaines personnes disent que je suis un individualiste, je m'oppose à ce que vous puissiez travailler en équipe tout en étant structuré, de la même manière qu'une équipe de football occupe tout le terrain de jeu au lieu d'aller partout où se trouve le ballon. Quoi qu'il en soit, je pense que c'est une question de fonctionnement de chaque programmeur et pas tous les programmeurs fonctionnent de la même manière.
Giorgio
5

Je déteste l'idée de la programmation en binôme

...

Je n'ai jamais vraiment travaillé avec la programmation par paires

Vous devez d'abord clarifier cela.

Vous ne pouvez pas dire que vous n'aimez pas quelque chose sans l'essayer. J'ai personnellement détesté la sauce tomate jusqu'à ce que je la goûte.


la source
2
La sauce tomate est juste de la soupe de tomate sans les épices ... Ou du ketchup sans le sucre et le vinaigre. :)
greyfade
5
Je ne l'ai jamais essayé mais je connais l'idée et le concept de la programmation par paires et je ne l'aime pas. Vous n'avez pas vraiment besoin d'être mordu par un scorpion pour savoir que vous ne l'aimerez pas!
Wizard79
1
Comment sais-tu ça? Vous aimerez peut- être être mordu par un scorpion! ;)
Peter Boughton
Je suis sûr que vous avez tous compris le message
2
Pierre, il y a une différence entre la compréhension et l'accord, et ce n'est pas parce que vous avez extrapolé à tort le goût de la sauce tomate que Lorenzo fait la même chose avec Pair Programming. : P Bien sûr, il pourrait l' être, c'est peut-être uniquement grâce aux personnes avec lesquelles il a travaillé qu'il se sent comme il le fait, mais il est certainement possible de déterminer si c'est le cas sans réellement expérimenter la `` vraie '' programmation par paire.
Peter Boughton
5

Vous semblez que vous n'êtes certainement pas excité de faire de la programmation en binôme, mais le fait que vous posiez la question me ferait croire que vous gardez l'esprit ouvert.

Pourquoi ne pas être franc avec l'employeur et lui faire savoir comment vous vous sentez. S'ils pensent toujours que vous êtes le candidat qu'ils souhaitent, vous pouvez suggérer un essai de 2 semaines (ou quelle que soit la période qui fonctionne) pour voir si votre sentiment initial est valide ou non. Si l'employeur refuse, il ne semble pas que vous vouliez vraiment commencer le travail, ce n'est donc pas une grande perte. Si l'employeur est d'accord, vous saurez au moins définitivement d'une manière ou d'une autre pour le prochain emploi.

Walter
la source
1
Oui, mais le problème est que j'ai un emploi permanent à temps plein dans la plus grande entreprise italienne, donc je ne quitterais pas cet emploi "juste pour un essai" même si le travail actuel est nul ...
Wizard79
3
Non, je ne voudrais pas faire ça non plus.
Walter
4

Je suis récemment allé à une retraite de code de programmation par paires. Je ne l'utilise pas au travail et je suis très nouveau dans ce domaine. Je suis comme toi dans le sens où j'aime avoir le contrôle de ma propre machine. Plusieurs programmeurs qui programment beaucoup par paires ont continué à souligner que la programmation par paires améliore considérablement ses compétences de codage, car vous obtenez des commentaires constants, votre code est constamment examiné et vous êtes moins susceptible d'écrire du code hacky. Je suis d'accord avec le fait que c'est un changement important pour quelqu'un qui n'a jamais programmé de paire auparavant. Cependant, il est difficile d'avoir une opinion solide sur la question à moins de l'essayer pendant une longue période.

ysolik
la source
2
Quand je dois aider un collègue, ou même rester à côté de lui pendant quelques minutes, je dois garder ma bouche proche, sinon je commencerais à critiquer chaque ligne de code ...
Wizard79
@Lorenzo donc tu vas bien faire des critiques mais pas les recevoir?
dash-tom-bang
@ dash-tom-bang: en fait, j'évite tout simplement de critiquer, ou je critiquerais chaque ligne de code ...
Wizard79
2
Si céder à vos critiques rendrait le code nettement meilleur, vous devriez les lui donner. Si les suggestions de vos critiques n'ont aucun impact positif, vous devez comprendre pourquoi vous vous sentez obligé de les faire.
dash-tom-bang
3

Je suis un peu germophobe. Je déteste l'idée que quelqu'un touche ma souris et mon clavier. Je déteste l'idée de toucher la souris et le clavier de quelqu'un d'autre. Je fais le long chemin autour du périmètre du complexe de bureaux plutôt que de traverser la cour pour aller à la cafétéria juste pour ne pas avoir à toucher les poignées de porte.

Par contre, j'aime le concept de programmation en binôme. Je pourrais apprendre quelque chose d'intéressant. Ou je pourrais donner des instructions. Quoi qu'il en soit, ce serait une bonne expérience.

Ma proposition (pour moi): faire de la programmation par paires à distance. Utilisez Office Live Meeting et partagez votre écran. Mec reste à son bureau, je reste au mien.

Anthony Pegram
la source
Pourquoi ne pas simplement apporter votre propre souris et clavier? Ou en laisser deux connectés à la même machine?
Alex Feinman
1
@Alex, peut-être. Mais j'ai généralement l'impression que tout l'espace de travail a été contaminé. Ne me demandez pas pourquoi. Si vous pouviez expliquer la folie, ce ne serait pas fou.
Anthony Pegram
3
De longs câbles USB Reaaaaaly? :)
Alex Feinman
1
Mais cela nécessite toujours que deux personnes soient constamment synchronisées, ce que je n'aime vraiment pas.
Wizard79
2

Existe-t-il un moyen de faire de la programmation par paires indépendamment, pour mieux la comprendre? Il semble y avoir des gens qui aiment la programmation en binôme et des gens qui ne l'aiment pas, et avant de vous engager dans un travail qui utilise la programmation en binôme, vous voulez vraiment avoir le sentiment que vous pouvez le faire.

Alternativement, vous pouvez parler au gestionnaire d'embauche, ou à quelqu'un dans une position similaire, et en discuter. Ils peuvent être utiles pour un programmeur sans paire. Ils peuvent avoir de l'expérience avec des personnes qui se sentent négatives à propos de la programmation par paires. Dites au responsable pourquoi vous n'êtes pas à l'aise avec la programmation en binôme, mais insistez sur le fait que vous n'avez aucune expérience et êtes très intéressé par le travail.

En ce moment, vous êtes dans la meilleure position de négociation possible avec l'entreprise: ils ont proposé et vous n'avez pas encore accepté. L'entreprise a intérêt à vous embaucher et il est très peu probable qu'elle vous abandonne simplement parce que vous devez d'abord parler à quelqu'un dans l'entreprise.

David Thornley
la source
0

Si vous connaissez déjà la technologie, vous la détesterez. Mais si vous ne connaissez pas la technologie, vous l'apprendrez par PP. Si vous ne le savez pas et que vous ne faites pas de PP, alors vous resterez assis là et vous ne ferez rien.

Le pire des cas est que les deux parties le sachent et que cela se transforme en une course ou un concours de pisse.

oregon111
la source
2
Bonjour oregon111, c'est génial que vous essayiez de répondre à des questions, mais vous avez choisi une mauvaise balise pour y répondre: la balise [jobs] contient généralement beaucoup de mauvaises questions que nous n'avons pas encore réussi à fermer. Plutôt que d'essayer de répondre à des questions mortes depuis longtemps dans une balise spécifique, pensez à regarder les dernières questions à venir et à voir à laquelle vous pouvez répondre.