[TRAD] Pourquoi les programmeurs travaillent la nuit

Mon passé de geekette ressurgit par moments. C’est pour ça qu’aujourd’hui, j’ai traduit un article du blog A geek with a hat. Pourquoi les programmeurs travaillent la nuit ? C’est une question intéressante, et cet article fournit des réponses plutôt bien trouvées. L’auteur, Swizec, a aussi écrit un livre sur le sujet, si vous voulez approfondir votre connaissance des habitudes nocturnes des geeks !


D’après un célèbre dicton, les programmeurs seraient des machines qui transforment la caféine en code.

Et c’est vrai, demandez à n’importe quel programmeur à quel moment il travaille le mieux, et il admettra très probablement que c’est la nuit. Certains plus tôt que d’autres… Une habitude à la mode est de se lever à 4 heures du matin pour travailler un peu avant le début d’une folle journée. D’autres préfèrent aller se coucher à 4 heures du matin.

Le point de mire, c’est d’éviter les distractions. Mais on pourrait aussi bien fermer la porte, pourquoi la nuit est-elle si spéciale ?

Je pense que cela se résume à trois choses : l’emploi du temps du créateur, le cerveau fatigué et la luminosité des écrans

L’emploi du temps du créateur

En 2009, Paul Graham a écrit un article sur l’emploi du temps du créateur dans lequel il explique qu’il existe (principalement ?) deux types d’emplois du temps dans ce monde. D’abord celui du gestionnaire typique où la journée est découpée en heures et où une distraction de dix minutes coûte, au maximum, une heure de temps.

L’autre, c’est celui que Paul Graham appelle l’emploi du temps du créateur (pour ceux qui produisent des choses). Lorsque l’on travaille sur un grand système abstrait, cela implique de le faire entrer entièrement dans notre esprit. On peut même comparer cela à la construction d’une maison en cristal, et dès que l’on est dérangé, tout s’effondre et se brise en milliers de petits morceaux.

C’est pour ça que les programmeurs sont si énervés quand on les dérange.

A cause de cet énorme investissement mental, on ne peut pas commencer à travailler tant qu’on n’est pas sûr d’avoir devant nous quelques heures où l’on ne sera pas dérangé. Ca ne vaudrait pas le coup de construire toute la structure dans notre tête si c’est pour qu’elle soit démolie une demi-heure plus tard.

En fait, en parlant avec beaucoup de fondateurs, vous réaliserez qu’ils ont tout simplement l’impression de ne pas pouvoir travailler pendant la journée. Ce barrage constant d’interruptions, toutes les choses importantes à faire, et les emails auxquels il faut répondre ne le permettent pas. Alors ils font une grande partie de leur « vrai » travail la nuit, quand tout le monde dort.

Le cerveau fatigué

Mais même les programmeurs devraient dormir la nuit. Nous ne sommes pas des super-humains. Même les programmeurs sont plus alertes durant la journée.

Ballmer's peak

Le pic de Ballmer, par XKCD (si vous n’aviez pas reconnu, vous devriez avoir honte)

Compétences en programmation par rapport au taux d’alcool dans le sang

Nommé pic de Ballmer, il fut découvert par Microsoft à la fin des années 80. Sa cause est inconnue, mais on sait qu’un taux d’alcoolémie entre 0,129 % et 0,138 % confère un super-pouvoir de programmation. Cependant, c’est un effet délicat qui demande une calibration rigoureuse – on ne peut pas donner à une équipe de codeurs assez de whisky pour un an et leur demander de se mettre au boulot. – C’est déjà arrivé ? – Vous vous souvenez de Windows Me ? – Je le savais !

Mais alors, pourquoi réaliser le travail le plus complexe quand notre cerveau veut dormir, tout en réalisant des tâches plus simples quand il est aux meilleures de ses capacités ?

Parce qu’être fatigués fait de nous de meilleurs codeurs.

De façon similaire au pic de Ballmer, être fatigué nous force à mieux nous concentrer, car quand on est fatigué, on doit se concentrer ! Il ne reste pas assez d’énergie au cerveau pour se permettre de perdre de la concentration.

Il semblerait que je sois moins efficace au travail après avoir bu trop de thé ou après avoir bu une boisson énergétique au mauvais moment. Ca me rend hyperactif, à un moment je suis sur Twitter, la seconde d’après je regarde les dernières actualités pirates et j’ai l’impression de partir dans tous les sens…

On pourrait croire que je travaillerais mieux avec tant d’énergie, en ayant boosté ainsi mon cerveau. Mais en fait, je fais n’importe quoi parce que je n’arrive pas à me concentrer plus de deux secondes sur quelque chose.

Inversement, quand je suis juste un peu fatigué, je me mets un coup de pied au derrière et je code. Avec le cerveau à peine fatigué, je peux coder pendant des heures sans même penser à aller sur Twitter ou Facebook. C’est comme si internet cessait d’exister.

Je crois que c’est vrai pour la plupart des programmeurs. Nous sommes trop compétents pour 80% des tâches qui nous incombent. Avouez-le, écrire un algorithme efficace prend dix fois moins de temps que de produire l’environnement nécessaire pour le faire tourner. Même si vous travaillez sur l’apprentissage automatique le plus évolué que vous puissiez imaginer, une grosse part du travail consistera à arranger les données et bien présenter les résultats.

Et quand un cerveau n’utilise pas toute sa puissance, il cherche quelque chose d’autre à faire. Être fatigué nous rend suffisamment bêtes pour que la tâche en cours nous suffise.

La luminosité des écrans

Cette partie est plutôt simple. Fixez une source de lumière vive dans la soirée, et votre cycle de sommeil sera retardé. On en oublie d’être fatigué jusqu’à 3 heures du matin. Puis on se lève à 11 heures, et quand le soir arrive, on n’est tout simplement pas fatigué, parce que bon, on ne s’est levé qu’à 11 h !

Si cela se répète un certain nombre de fois, on peut finir transporté dans un autre fuseau horaire. Ce qui est encore plus intéressant, c’est que ce phénomène finit par s’arrêter. Une fois arrivé à cet équilibre où l’on se couche à 3 ou 4 heures du matin, on a tendance à y rester.

Ou peut-être n’est-ce là que la faute des réveils-matins qui font leur travail, car la société nous considère comme des gros dégoûtants si on prend notre petit-déjeuner à 2 heures du matin…

Fin

Pour conclure, les programmeurs travaillent la nuit car elle permet de travailler jusqu’à l’heure qui nous arrange, ce qui les rend plus décontractés, leurs cerveaux ne cherchent pas de distractions, et la luminosité de l’écran les tient éveillés.


Cette conclusion est plutôt efficace. Et cet article reflète assez bien la réalité. Merci à Swizec pour ses articles toujours très intéressants !

Publicités

Une réflexion sur “[TRAD] Pourquoi les programmeurs travaillent la nuit

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s