Comment expliquer à un non-initié pourquoi un développeur ne devrait pas être interrompu alors qu'il codifie profondément? [fermé]

92

Si vous ne tenez compte que de la deuxième partie de ma question, "Pourquoi un développeur ne doit pas être interrompu alors qu'il codifie à fond", cela a été discuté à plusieurs reprises par des personnes intelligentes. Heck, même le co-fondateur de SO, Joel Spolsky, a écrit un article de blog sur "entrer dans la zone" et "être éliminé de la zone" et pourquoi il faut en moyenne 15 minutes pour atteindre la productivité lors de la participation à un complexe, tâches liées au développement de logiciels. Donc, je pense que le pourquoi a été établi.

Ce qui m'intéresse, c'est comment expliquer tout cela à quelqu'un qui ne connaît pas les haricots à propos des haricots (khmm, je veux dire le développement de logiciels). Comment dire à la femme, ou au type marrant de la comptabilité sur le lieu de travail, ou à l'ami de longue date qui vous appelle Skype toutes les 30 minutes avec un "Wazzzzzzup ?!", que toutes les interruptions ont un impact beaucoup plus profond sur votre travail les 30 secondes évidentes qu'ils ont pris de votre temps. Évidemment, vous ne pouvez pas l'expliquer par des phrases telles que "Je dois jongler avec beaucoup de noms de variables dans ma mémoire à court terme" à moins que vous ne souhaitiez être la cible de regards vides ou de mauvais traitements amicaux.

J'aimerais pouvoir expliquer tout cela aux non-développeurs de manière à leur faire comprendre clairement - sans être offensant, élitiste ou trop technique.

EDIT: Merci à tous pour leurs grandes idées. J'ai accepté la réponse d'EpsilonVector car son analogie était la plus proche de mes besoins initiaux. L'explication «s'endormir» n'est ni choquante ni technique, presque tout le monde peut la comprendre et les conséquences d'être dérangé en s'endormant ou en étant dans la zone sont très similaires: vous ressentez de la frustration et vous «perdez» de 15 à 20 minutes. de temps.

András Szepesházi
la source
36
Demandez-leur de partir de 0 et de compter jusqu'à un très grand nombre, à mi-chemin, regardez! écureuil!
Tim Post
8
Sûrement pertinent pour la plupart des professions, essayez d’arrêter un chirurgien à mi-chemin.
Ozz
24
descendre de skype au travail.
Josh
6
"sans être offensant", je savais qu'il y avait un piège quelque part. :)
biziclop
7
@ Josh Au travail, nous utilisons Skype pour la communication entre bureaux. Nous avons besoin de l'ouvrir. J'ai un compte de travail séparé, mais vous rencontrez toujours ces problèmes.
Matthew Scharley

Réponses:

124

Essayez les analogies suivantes: La première: "Combien de temps cela prend-il pour vous endormir?" "X minutes" "Maintenant, imaginez que lorsque vous êtes sur le point de vous endormir, quelqu'un entre et vous interrompt, combien de temps cela vous prendra-t-il pour vous endormir maintenant? Ces quelques secondes qu'il vous restait, ou devrez-vous recommencer pour ' sombrer dans "où vous étiez?" "Je vais devoir recommencer" "Très bien. Même chose. Juste comme m'endormir, il me faut un certain temps pour" sombrer "en mode de mise au point et il me faut un certain temps pour y revenir une fois que je suis interrompu, sauf que j'oublie aussi la moitié de ce que je faisais. "

Deuxième question: "Vous savez que lorsque vous lisez un livre dans lequel vous vous enfoncez", au bout d'un moment, vous ne remarquiez même plus les mots, vous bloquiez tout ce qui vous entourait et restiez totalement immergé dans les images mentales. vous voyez." "Oui." "Combien de temps cela prend-il pour que vous y arriviez?" "À propos de X minutes" "Imaginez maintenant que lorsque vous êtes immergé dans le livre, quelqu'un vous interrompt et vous interrompt, combien de temps cela vous prendra-t-il pour y revenir? Cela se produira-t-il immédiatement ou devrez-vous recommencer pour ' sombrer dans "où vous étiez?" "Je vais devoir recommencer" "Très bien. Même chose. Tout comme pour la lecture, il me faut un certain temps pour" sombrer "en mode de mise au point, c'est tout aussi gênant quand quelqu'un m'en sort,

EpsilonVector
la source
14
+1 excellent, excellent, surtout celui "s'endormir". Exactement le genre d'explication que je cherchais.
András Szepesházi
1
Je ne pourrais pas t'aider - Je peux me rendormir normalement ...
Armand
1
@Alison, je ne sais pas, ne peut pas, mais il y a beaucoup de gens qui ne lisent pas et ne peuvent donc pas se rapporter au deuxième point.
Matthew Scharley
3
J'aime la métaphore du sommeil endormi, mais je ne l'utiliserai pas pour expliquer mon travail à ma femme de si tôt! ;>
dthorpe
7
Ne réveillez pas le programmeur alexthunder.livejournal.com/309815.html
Chris Nava
30

Je ne pense pas que l'état de rêverie décrit par Joel soit technique. C'est le même changement de cerveau droit que quiconque éprouve lorsqu'il dessine ou tombe sous le charme d'un très bon livre. (Betty Edwards «Dessine du côté droit du cerveau» le décrit parfaitement.) Tout le monde a connu ce sentiment de concentration où vous n'êtes pas au courant du temps qui passe.

Je pense qu’il est tout à fait condescendant d’imaginer que c’est une chose que seuls les techniciens comprennent, et que le concept doit être explicite pour les non-développeurs. Expliquez simplement en langage clair: ils l'obtiendront.

duffymo
la source
17
D'après mon expérience, ils ne l'obtiennent pas nécessairement - ils l'acceptent peut-être comme un fait, mais ne peuvent toujours pas comprendre cela. Pour la plupart des gens que je connais, le travail est simplement un travail qui peut être suspendu ou poursuivi à tout moment.
3
Pas les gens à qui je parle. D'après mon expérience, quiconque travaille avec des tâches autres que le travail par cœur peut parfaitement se comprendre. Peut-être que vous parlez à trop de gens qui font des tâches par cœur.
duffymo
3
@ Duffymo: Hmm. Je ne considère pas un vendeur qui rédige une offre personnalisée pour un client effectuant une tâche par cœur. Néanmoins, si je l’interromps, il perdra au maximum une demi-minute jusqu’à retrouver son rythme. C'est ce que je voulais dire - la plupart des emplois sont beaucoup plus faciles à suspendre / à poursuivre que les nôtres. A MON HUMBLE AVIS.
5
Tout dépend de l'état que vous perdez. Les programmeurs ont tendance à avoir besoin de garder tout un programme dans leur tête pendant le codage, mais d'autres professions impliquant davantage d'écriture gardent leur statut sur le document qu'ils sont en train de construire. Quel état est le plus facile à restaurer?
Michael K
2
Je pense que cela dépend beaucoup de savoir si la personne expérimente réellement l'état de flux pendant son travail (ou son temps libre). S'ils l'ont déjà fait, ils comprendront mieux ce que nous voulons dire.
Péter Török
23

Réorientez votre fil interne vers les entrées / sorties verbales, c.-à-d. Tournez-vous quand elles vous interrompent, continuez à marmonner le code et à regarder au milieu de la distance jusqu'à ce qu'elles abandonnent et s'en vont. S'ils parlent, murmurez plus fort.

Peter
la source
16
LOL c'est bien mais cela conduit certainement à un divorce si l'interrupteur est la femme.
András Szepesházi
C'est certainement l'approche la plus rapide et la plus efficace! : P
Robin Maben
16

Dites - leur que le codage (ou insérer une autre activité de concentration élevée ici) est comme un artiste de cirque qui fait la loi sur les plaques de filature .

Tout d'abord, commencez par tourner une assiette sur un bâton, lancez-la, puis commencez à faire tourner une deuxième assiette, relancez-la, revenez à la première assiette, donnez-lui un peu de rotation supplémentaire pour qu'elle continue, puis commencez à faire tourner une troisième assiette. , lancez-vous, puis revenez à la deuxième assiette, petit essorage supplémentaire, essorage supplémentaire de la première assiette, essorage supplémentaire de la troisième assiette, puis commencez à tourner en quatrième, etc.

Puis le téléphone sonne et toutes les assiettes tombent.

L'état de flux est parti. Vous devez maintenant tout recommencer. Faites tourner une assiette ...

J'aime penser à chaque plaque comme un bloc de données, de variables, de concept, d'état, etc. que vous devez conserver dans votre tête.

Épuisement
la source
13

Il y a quelques mois, quelqu'un est entré dans mon cube et a retiré mes oreillettes pendant que je codais. Mis à part la fureur interne, mon approche consistait à expliquer que souvent les programmeurs sont plongés dans une pensée logique qui nécessite une approche différente et concentrée de la pensée et que l'interruption soudaine peut vraiment gâcher le processus de pensée. Cela n'est plus jamais le cas de cette personne, alors peut-être que cela a fonctionné. Une autre chose à considérer est le signe occupé / libre. J'ai un ami qui fait des algorithmes et il a un signe double face qui dit "Codage - Ne pas interrompre" d'un côté et "Libre de chatter" de l'autre. Éliminer l'ambiguïté est la clé ici.

n1reu
la source
16
Tant que vous quittez le côté "Chat gratuit" pendant un laps de temps raisonnable. Si le côté "Ne pas interrompre" est toujours actif, vous pouvez également ne pas avoir de panneau du tout ...
Dean Harding
4
On dirait que cela deviendrait ennuyeux de devoir retourner le panneau tout le temps.
Personne
3
Vous pourriez avoir un bonnet de réflexion au lieu d'un signe. Chaque fois que vous avez votre capacité de réflexion, les gens ne devraient pas vous interrompre.
Ant
3
"Libre de discuter" n'impliquerait-il pas: "Je n'ai pas assez de travail à faire"?
Badgerr
8
Sur mon lieu de travail, notre indicateur «dans la zone» non documenté est la présence d’un casque. Le patron a dit: "Même si vous n'écoutez rien, mettez-le si vous vous concentrez. Cela signifie que vous êtes occupé."
JYelton
12

Ok, j'ajoute ma propre réponse (je sais que c'est un peu ridicule, mais peut-être que cela jette un peu plus de lumière sur ce que je visais).

J'ai dit ce qui suit à quelqu'un qui m'interrompait récemment à un mauvais moment: "Développer un logiciel, c'est comme conduire une voiture sur une route très fréquentée pour la première fois de sa vie. Toute votre attention est concentrée sur le volant, les pédales et les voitures Si vous vous concentrez sur le sujet de la discussion, vous perdrez forcément le contrôle de la voiture et vous vous retrouverez dans une situation difficile. accident".

C'était quelque chose que la personne pourrait comprendre, mais c'est loin d'être une bonne analogie. Si je suis interrompu, les conséquences seront très différentes de celles d'un accident. Je fais du développement sw depuis deux décennies, alors pourquoi comparer cela à quelque chose qui se fait pour la première fois. Etc.

András Szepesházi
la source
1
C'est une bonne analogie. Supprimez simplement la partie "première fois" et soulignez le fait que c'est une route très fréquentée, avec de nombreux carrefours, feux de signalisation, camions et vélos, et c'est tout. D'autant que les carrefours permettent de représenter toutes les décisions que vous devez prendre, sans toujours savoir ce qui peut heurter votre voiture derrière le coin.
Goran Jovic
Je ne pense pas que ce soit une bonne analogie, et je pense que vous l'avouez vous-même, mais si cela les oblige à respecter votre temps de développement, utilisez-le.
Bernard
C'est pas mal.
Marcie
4
Ajoutez simplement qu'il y a déjà trois enfants hurlants dans le dos que vous avez du mal à ignorer (toutes vos propres distractions naturelles).
Benjol
7

" Mihaly Csikszentmihalyi on flow " est un bon TED. Parlez de cette idée d’être vraiment productif dans certaines conditions qui peuvent ou non intéresser les gens. N'oubliez pas que pour certaines personnes, elles peuvent ne jamais vouloir comprendre l'explication et qu'il s'agit donc d'un peu comme battre le cheval mort récursivement à l'infini.

JB King
la source
+1 J'étais en train d'écrire une réponse sur Flow: fr.wikipedia.org/wiki/Flow_%28psychology%29
StuperUser
+1 En dehors de la bonne référence à flow, je trouve la partie "battre le cheval mort récursivement à l'infini" tout simplement hilarante.
András Szepesházi
4

Je l'appelle une transe de programmeurs. Il y a beaucoup de bonnes analogies ici, alors quoi de plus hein? Comme cela a été dit précédemment, un programmeur va mentalement naviguer dans plusieurs flux logiques différents jusqu'à ce que le bon se présente. ALORS, il est écrit en code et enregistré sur l'ordinateur.

Alors, disons que vous écrivez un papier ou un document important. Les pensées coulent en mots dans l'ordinateur mais vous n'avez pas encore enregistré les modifications. Alors pouf, le courant passe ou l'ordinateur tombe en panne. Récupérer tout cela prendra aussi longtemps ou plus longtemps et ne sera jamais identique à l'original. (Combien d'entre nous, les anciens, avons-nous eu cela?)

C'est ce qui arrive au code dans votre tête lorsqu'il est interrompu. Les pensées sont aussi fragiles que la fumée. S'ils n'ont pas encore été sauvés et que quelque chose arrive pour les perturber, ils sont partis.

R Hughes
la source
J'aime celui - ci le meilleur, parce que beaucoup de gens vont le comprendre, et parce qu'il exprime suffisamment qu'il ne prendra pas 15 minutes pour revenir en elle, il prendra plus de temps que la première fois et de moins bons résultats,.
orbfish
3

Cher collègue, Dans l’effort de gagner en efficacité, je me concentre sur mon travail et je réponds aux questions par e-mail à tout moment, afin de réduire au minimum les interruptions afin de mieux vous servir, ainsi que le nom de votre entreprise _ . S'il vous plaît écrivez-moi et je reviendrai vers vous dès que je peux. Je vous remercie.

utilisateur16784
la source
2

Si vous écoutez de la musique, placez un panneau qui dit quelque chose du genre:

Headphones on? Please do not interrupt.

Ceci n’est efficace que si quelqu'un lit et que vous n’avez pas toujours vos écouteurs.

Ian Potter
la source
Pour moi, ce serait l'inverse. Ecouter de la musique et une concentration profonde ne vont pas ensemble pour moi.
CodesInChaos
2

Je pense qu’il s’agit d’un vaste réseau de relations complexes que j’ai à construire dans mon esprit, d’une structure de relations imbriquées qui s’affectent les unes les autres de façons différentes, mais pas toujours évidentes, qui doivent toutes être comprises et conservées clairement. au point que j'écris le code. La création de ce site Web prend entre 5 et 15 minutes pour un projet que je connais assez bien, et plusieurs fois pour un projet moins intime.

Lorsque ma concentration est interrompue, le Web commence à s’effondrer et, si l’interruption dure plus de quelques secondes, ou si je dois réfléchir à une autre chose, même légèrement complexe («Lorsque le serveur est tombé en panne la semaine dernière, dire au client? "), le Web s'effondre complètement. Lorsque l'interruption est terminée, je dois reconstruire l'ensemble du Web, essentiellement à partir de rien.

Si cela me prend 10 minutes pour créer le Web et que je suis interrompu pendant seulement 2 minutes trois fois par heure, vous devez comprendre qu'au lieu de coder 50 minutes par heure, je ne fais que 24 minutes de travail. Ces 3 petites interruptions ont réduit ma productivité de moitié .

Matthew Frederick
la source
1

Neil Ford en a parlé dernièrement à Devoxx. Il a écrit un livre à ce sujet: Le programmeur productif. Il explique les astuces concernant les casseurs de flux. Si vous êtes dans le flux, vous êtes à votre point de concentration le plus élevé. Mais si vous êtes interrompu, il faut + -20 minutes pour revenir dans votre flux.

Vous voudrez peut-être leur expliquer que si vous sortez de votre flux, la mémoire vive de votre cerveau perd les données sur votre travail et vous avez besoin de 20 minutes pour récupérer les données dans votre RAM;)

Jeff
la source
Parler d’accès aléatoire et de perte de mémoire dépasse l’objectif «ne pas être technique», je pense.
András Szepesházi
0

Je mets généralement le statut suivant sur mes clients de messagerie instantanée:

Je suis au travail et comme je ne peux pas effectuer plusieurs tâches à la fois, ne me dérange pas s'il te plaît ...

Au moins, il semble faire l'affaire avec le

Un ami de longue date qui vous envoie sur Skype toutes les 30 minutes avec un "Wazzzzzzup ?!"

Yaneeve
la source
1
Vous savez que vous pouvez vous déconnecter ou simplement quitter votre client de messagerie instantanée, Skype, etc.
Spoike
@Spoike Pas si la messagerie instantanée est également utilisée pour le travail, comme cela est courant.
Eric Wilson
1
@EricWilson Enregistrez un compte différent pour une utilisation au travail et ne dites pas à l' ami de longue date qui vous appelle sur Skype toutes les 30 minutes avec un "Wazzzzzzup ?!"
Daniel Beck
@EricWilson: Si vous souhaitez vous concentrer sur votre travail pendant un laps de temps réduit, vous pouvez toujours désactiver ou vous déconnecter de la messagerie instantanée / courrier électronique même s'il est utilisé pour le travail. J'ai pu le faire aux endroits où j'ai travaillé.
Spoike
0

Vous pouvez essayer d’expliquer, mais vous pouvez aussi essayer ceci:

Vous interrompez les , alors qu'ils sont en train de faire quelque chose qui nécessite une concentration profonde, si elle est en train de lire, regarder un film, le calcul ou mieux encore compter quelque chose. Ensuite, tout ce que vous avez à expliquer, c’est que c’est exactement comme cela pour vous quand ils vous interrompent. Devrait faire l'affaire. S'il vous plaît, ne les dérangez pas pendant qu'ils conduisent ou quelque chose comme ça :).

Goran Jovic
la source
Il est évident que quelqu'un n'aime pas mon approche du problème, mais parfois, le seul moyen est d' expliquer par l'exemple . Surtout si le sujet est obscur pour les personnes à qui vous l'expliquez.
Goran Jovic
Cela ne ressemble pas à expliquer par l'exemple. Cela ressemble à "prenez votre revanche".
Marcie
0

Je n'explique pas. Je les informe gentiment que l'interruption vient d'ajouter 6 semaines à l'horaire.

Throwback1986
la source
4
Cette suggestion va dans le même sens que "soyez impoli, et les gens vont cesser de vous déranger". C'est peut-être efficace, mais ce n'est pas une bonne façon de travailler en équipe.
Marcie
Je ne crois pas qu'une "bonne façon de travailler en équipe" était une exigence :) Si je comprends bien, la question portait sur les interruptions - qui peuvent être ou non orthogonales à l'appartenance à une équipe.
Throwback1986
0

Ce que je fais au bureau, c’est de trouver des cachettes dans différents départements du bureau. Ainsi, personne ne sait où vous vous trouvez et ne peut pas vous déranger, mais si ce n’est pas une option, procurez-vous simplement un panneau et expliquez-le. sauf si cela est d’une importance vitale, ne pas déranger!

Kyndigs
la source
0

Je ne sais pas pour le reste, mais pour Skype au moins, je suggérerais d'utiliser le mode "Ne pas déranger". Et si vous devez l'utiliser pour communiquer au travail, vous devez disposer d'un deuxième compte réservé au travail que vous ne partagez pas avec des personnes que vous ne voulez pas vous déranger au travail :)

satuon
la source
0

Ça n'a pas besoin d'être compliqué. Quelque chose d'aussi simple et non hostile que "Je travaille sur quelque chose qui demande beaucoup de concentration. Peut-on le mettre dans un courriel? Je promets de le regarder dès que j'aurai fini ici."

Andy Lester
la source