Pourquoi les codeurs sont des oiseaux de nuit ?

« Les développeurs travaillent la nuit parce que cela les dispense de contraintes horaires. Ils sont alors plus détendus, ne se dispersent pas, et la luminosité de l’écran neutralise la fatigue. »

Telles sont les hypothèses de Swizec Teller, jeune blogueur (et donc aussi et surtout développeur) slovène[1].

Et vous ? Travaillez-vous aussi principalement de nuit et si oui que vous inspire ce témoignage ?

Stuart Pilbrow - CC by-sa

Pourquoi les programmeurs travaillent de nuit

Why programmers work at night

Swizec Teller – 15 décembre 2011 – A geek with a hat
(Traduction Framalang : Deadalnix, Goofy, Martin, Pandark, DonRico, Antistress)

Il est d’usage de dire que les programmeurs sont des machines qui transforment la caféine en code.

Demandez donc au premier développeur venu à quel moment il est le plus efficace. Il y a de fortes chances qu’il reconnaisse travailler souvent très tard la nuit. Certains sont plus matinaux que d’autres. Une tendance répandue est de se lever à quatre heures du matin et de se mettre au travail avant que la folle agitation de la journée ne commence. D’autres préfèrent se coucher à quatre heures du matin.

L’essentiel, c’est d’éviter les distractions. Mais il est toujours possible de fermer la porte à clé, alors la nuit, qu’est-ce que ça apporte de plus ?

Je pense que cela tient à trois éléments : l’emploi du temps du créateur, le cerveau fatigué et la luminosité des écrans d’ordinateurs.

L’emploi du temps du créateur

C’est en 2009 que Paul Graham a écrit un billet au sujet de l’emploi du temps du créateur – en résumé, il existe deux grandes familles d’emplois du temps en ce bas monde.

D’un côté, l’emploi du temps traditionnel du manager, ou la journée est découpée en heures, et où dix minutes de distraction coûtent, au maximum, l’équivalent d’une heure de temps de travail.

De l’autre, on a ce que Paul Graham nomme l’emploi du temps du créateur – un emploi du temps pour ceux qui produisent quelque chose. Travailler sur des systèmes abstraits de grande envergure nécessite d’avoir l’ensemble dudit système en tête. Quelqu’un a un jour comparé ce processus à la construction d’une maison faite en cristal précieux. Dès que quelqu’un vous distrait, l’édifice s’écroule et se brise en mille morceaux.

Voilà pourquoi les programmeurs supportent si mal que l’on perturbe leur concentration.

À cause de cet investissement intellectuel important, nous ne pouvons tout simplement pas nous mettre au travail avant d’avoir quelques heures de tranquillité devant nous. Inutile de construire ce modèle dans notre tête pour le voir démoli une demi-heure plus tard.

En fait, en interrogeant de nombreux entrepreneurs, vous découvrirez qu’ils pensent ne pas être capables de véritablement travailler pendant la journée. Le flot constant d’interruptions, de choses importantes™ à régler et de courriels à rédiger l’interdit. Résultat, ils accomplissent en grande partie leur « vrai boulot » pendant la nuit, quand les autres dorment.

Le cerveau fatigué

Mais même les programmeurs ont besoin de dormir la nuit. Nous ne sommes pas des êtres supérieurs. Même les programmeurs sont plus attentifs le jour.

Alors pourquoi accomplissons-nous notre vrai boulot, complexe et exigeant, quand notre cerveau réclame du repos, et effectuons des tâches plus simples lorsque nous capacités intellectuelles sont les plus affutées ? Parce qu’être fatigué fait de nous de meilleurs codeurs.

De façon similaire au Ballmer Peak (Ndt : théorie selon laquelle les programmeurs sont plus efficaces avec un certain taux d’alcool dans le sang), la fatigue nous permet d’être mieux concentré, car le cerveau n’a alors d’autre choix que de se focaliser sur une tâche précise ! Il n’a pas assez d’excédent de capacités pour se permettre de vagabonder.

J’ai l’impression que les moments où je suis le moins efficace, c’est quand j’ai bu trop de thé ou une boisson énergisante à un moment mal calculé. La caféine ou les vitamines me rendent hyperactif, et je passe alors en permanence de Twitter au blog de tel ou tel, et j’ai l’impression de m’agiter dans tous les sens…

On pourrait croire que je travaillerais mieux à ce moment-là, quand j’ai de l’énergie à revendre et le cerveau en ébullition, mais non. Je ne cesse de me prendre les pieds dans le tapis, parce que je suis incapable de me concentrer plus de deux secondes d’affilée.

À l’inverse, lorsque je suis en état de fatigue légère, je ne bouge pas les fesses de mon siège et j’écris du code, rien d’autre. Je peux alors coder des heures entières sans même songer à consulter Twitter ou Facebook. C’est comme si internet cessait d’exister.

J’ai le sentiment que ce phénomène se vérifie chez la majorité des programmeurs. Nous disposons de trop de capacité cérébrale pour environ 80% des tâches qui nous incombent. Ne nous leurrons pas, l’écriture d’un tout petit algorithme bien corsé nécessite dix fois plus de ligne de codes que la construction de l’environnement dans lequel il pourra s’exécuter. Même si vous bossez sur l’apprentissage automatique (ou je ne sais quoi d’autre) le plus pointu, une grande partie du travail consiste simplement à nettoyer les données et à présenter les résultats de façon élégante.

Et quand le cerveau ne tourne pas à plein régime, il cherche à s’occuper. La fatigue vous abrutit juste ce qu’il faut pour que votre travail en cours lui suffise.

La luminosité des écrans

Là, c’est plutôt simple. Le soir, restez devant une source de lumière vive, et votre cycle de sommeil se décale. Vous oubliez la fatigue jusqu’à trois heures du matin. Ensuite, vous vous réveillez à onze heures, et lorsque le soir pointe le bout de son nez, vous n’êtes même pas crevé parce, je vous le donne en mille, vous vous êtes levé super tard !

Si cela se reproduit un certain nombre de fois, vous pouvez vous retrouver dans un fuseau horaire différent. Plus intéressant encore, il semblerait que le décalage finisse par stagner, car lorsqu’on atteint un rythme de croisière en se couchant à trois ou quatre heures du matin, on finit par se caler sur ces horaires.

À moins que ce ne soit tout bêtement à cause des radio-réveils, parce que la société nous renvoie l’image de grosses larves si on prend le petit-déj à deux heures de l’après-midi.

Fin

En conclusion, les programmeurs travaillent la nuit parce que cela les dispense de contraintes horaires. Ils sont alors plus détendus, ils ne se dispersent pas, et la luminosité de l’écran neutralise la fatigue.

Notes

[1] Crédit photo : Stuart Pilbrow (Creative Commons By-Sa)