En gros, un développeur est un genre assez particulier d’humain qui a besoin de se concentrer pendant de longues périodes. Il se comporte comme un microprocesseur quand on lui demande de changer de tâche régulièrement. Le changement de contexte est une opération lourde qui ne doit pas être répétée trop souvent ; dans le cas extrême le processeur passe son temps à passer d’une tâche à l’autre, à se reconcentrer sur ce qu’il fait, et ne fournit plus de travail utile.
À un moment, ce phénomène a constitué un gros problème dans mon boulot, au moment où je prestais[1] chez un client, à gérer dix micro-projets à la fois avec un bon paquet d’interlocuteurs. Le client désirait une sous-traitance à fond, avec moi et un collègue dans le rôle de l’« interface » avec le centre de développement de notre SSII à plusieurs centaines de kilomètres. Impossible de se plonger une demi-heure sur un problème quelconque sans être interrompu par un coup de fil à tel ou tel sujet.
Mon boulot actuel comporte à nouveau ce genre de pépin, mais sur une autre échelle : je me retrouve sur trois missions à la fois (du genre deux jours sur l’une, deux sur la deuxième, une journée sur la troisième) et, à chaque fois, me « replonger dans le contexte » de chacune va me faire perdre quelques cycles cérébraux, de la même manière qu’en rentrant de vacances je ne suis pas à 100% immédiatement. J’ai observé le phénomène dans le cas extrême d’un collègue obligé de « caser » des jours de réalisation de rapports complexes dans les trous d’une autre mission : il redécouvrait les spécifications et réanalysait ses propres réalisations quasiment d’un mois sur l’autre. Je l’observe sur moi-même sur une maintenance applicative à long terme qui tombe dans les « trous » des autres prestations (en gros une ou deux fois par mois…). Bref, ça n’avance pas.
Je l’observe sur un autre projet : je dois à nouveau sous-traiter la partie la plus fastidieuse de la réalisation à un collègue situé sur un autre site… d’où pas mal de temps perdu en explication de contexte, préparation de docs, CD, mise en place de spécifications bien plus précises que je ne l’aurais fait pour moi-même, bref tout un surcoût (overhead) identique à celui impliqué quand un programme sous-traite une partie du travail à un autre. Ajoutons des « effets tunnel » dus à des disponibilités épisodique de ma part (je preste ailleurs) et du client de ce projet, avec donc nécessité de nous poser des synchronisations. Ajoutons les besoins de recharger ma petite mémoire cache cérébrale avec les éléments dudit projet à la moindre question du sous-traitant.
L’informatique n’a jamais avancé que comme cela mais ma capacité de travail à moi ne double pas tous les deux ans… Mon cerveau est configuré pour du mode batch, et multiplier les tâches d’arrière-plan augmente mon stress de manière exponentielle.
Et je ne parle pas de la difficulté à développer quoi que ce soit à la maison avec une famille qui exige un peu de temps avec elle, et un gamin de 4 ans en particulier. Moi j’ai abandonné.
Mise à jour de mai 2011 : Et ça continue en ce moment, avec plein de clients exigeants à la fois, un téléphone professionnel qui me tombe dessus, et une tornade de dix-huit mois à la maison. Soupir.
2 réactions
1 De Kidna - 26/01/2008, 15:41
je suis moi-meme en formation pour etre programmeur et j'ai une a certaine attirance pour la progrmation de jeux videos mais je n'arrive jamais a me concentrer la dessus lorsque je suis avec ma famille parce qu'on m'appelle toutes les 20 secondes pour autres choses...
pire, ils me reprochent mon isolement lorsque je m'isole et tentent meme de m'en sortir.
Ouais, je sais de quoi tu parles... :)
2 De Le webmestre - 26/01/2008, 16:16
@kidna : Il faut qu’il soit clair que si tu es comme moi, tu as besoin de cet isolement, au même titre que d’autres personnes ont un besoin vital de contact humain. Pas facile à faire comprendre si on vit avec quelqu’un qui justement ne supporte pas l’isolement, ou qui tient à partager à deux les quelques moments que le boulot ou les enfants laissent à un couple, ou si on a des enfants totalement hermétiques à ces réflexions.
Et même avec la bonne volonté familiale, il y a très loin avant de pouvoir récupérer le temps monstrueux que nécessite le développement. Ou alors il faut vraiment sacrifier tout le reste (blog, surf, email, livres...).