iDorian

Syndrome de la chouette : pourquoi les développeurs sont des créatures nocturnes

C’est bien connu, les développeurs, quels qu’ils soient, ne sont en fait qu’un organisme capable de transformer de la caféine en code, de plus ou moins bonne qualité. Mais au delà de ça, le développeur ne peut s’empêcher d’évoluer de nuit. Pourquoi ?

En réalité, peu importe son niveau ou sa qualification (je rappelle au passage qu’intelligence ne rime pas forcément avec efficacité), du moment que l’on « code » un tant soit peu, on le fait bien mieux la nuit. Au crépuscule ou à l’aube. Mais la nuit. D’ailleurs, il est d’usage de se lever vers 04h00 du mat’ et d’accomplir le maximum avant que ce con de soleil ne se lève (on peut aussi faire l’inverse, et se coucher à 04h00, du moment que les rayons UV ne nous aient pas frappés).

Alors pourquoi la nuit me direz-vous ? Pour éviter les distractions ? Bullshit, il suffirait juste de fermer la porte. Tout est bien plus complexe, subdivisible en 3 aspects : le cycle de création, la fatigue cérébrale et la luminosité.

Le cycle de création

Inspiré par Paul Graham, la théorie du cycle de création se résume simplement. Il y aurait deux types de cycles à proprement parler : celui du manager, où la journée est divisée en plusieurs heures, durant lesquelles 10 minutes de distraction coûtent, au maximum, une heure de temps.

Et puis le cycle de création, « subi » par ceux qui produisent (et non pas ceux qui managent). En théorie, lorsque l’on travaille sur des systèmes abstraits, tout doit être ingéré et pensé dans son ensemble (on pourrait apparenter le développement à la construction d’une maison en cristal, hors de prix). Dès lors que quelqu’un vous distrait, le système abstrait se casse la gueule (la maison de cristal s’effondre de mille pièce).

C’est la raison pour laquelle les développeurs sont en général colère lorsque quelqu’un les interrompt dans leur pensée (exemple récent : lever les yeux de son IDE après avoir été sauvagement interpellé, et paumer la variable sur laquelle on bossait, dans un script de 2000 lignes).

Parce que tout processus requiert un investissement mental conséquent, on ne peut juste pas se permettre de se lancer dans quelque chose de complexe, sans avoir la certitude d’avoir devant soit des heures de pure tranquillité. Construire un modèle dans sa tête et recommencer encore et encore parce que Jean-Rachid s’extasie devant le pigeon boiteux qui agonise 10 étages plus bas… non merci.

D’expérience, la majorité des développeurs/codeurs/programmeurs un tantinet expérimentés n’entame pas de gros travaux durant la journée. Le barrage constant d’interruptions et la nécessité  d’interaction ne le permettent juste pas.  Tout se joue pendant la nuit (sachant qu’il faut savoir meubler 8 heures durant, notamment si vous taffez en agence).

La fatigue cérébrale

Le gros paradoxe du développeur se résume ainsi : il est plus productif la nuit, mais bosse également en journée, et doit donc dormir à un moment donné. Non, le dév’ n’est pas surhumain (enfin si, mais pas en ce qui concerne la fatigue).

Alors pourquoi est-on à même d’accomplir des tâches plus complexes lorsque notre cerveau est fatigué, et par extension, pourquoi ne pas le faire lorsque l’ami ciboulot est plus alerte, en journée ?

Parce qu’être fatigué nous rend plus performant.

De la même manière qu’agit le ballmer peak (théorie foireuse qui suppose qu’une alcoolémie élevée rend le développeur plus productif), la fatigue nous force à nous concentrer; du fait : le cerveau étant lui-même usé, on se doit de se concentrer d’autant plus. Il n’y a pas d’autre alternative, ni de matière grise suffisante pour se permettre de se distraire.

Essayez de coder après avoir bu de la RedBull, 1/2 litre de café ou 3 tasses de thé : tout ce que vous allez accomplir se résumera à NE PAS coder, du fait de l’hyperactivité générée par les excitants susnommés.  Twitter, Facebook, YouPorn et j’en passe : le cerveau est en ébullition du fait d’un apport trop important d’énergie, entraînant une procrastination caractérisée.

A contrario, lorsque l’on est lessivé (et accessoirement exposé à du code), l’improbable se produit : la productivité est à son apogée, et l’on peut coder des heures entières, sans avoir besoin de vérifier ses tweets, de regarder le temps qu’il fait à Kuala Lumpur ou de lire l’actualité de Nadine Morano. On rentre alors dans une bulle, loin du temps et de l’espace, où tout se résume à son code.

C’est en partie ce qui explique que le code produit la nuit est d’une qualité supérieure (en règles générales) : du fait de l’état de fatigue avancée, on va chercher à aller à l’essentiel, en évitant de réinventer la roue, pour solutionner le problème de manière concise.

La luminosité

Cet aspect est d’autant plus simple à comprendre qu’il est purement scientifique : le fait d’être exposé à une source lumineuse, en soirée, et de manière prolongée, décale le cycle de sommeil de manière significative (si vous avez des gosses, entendez mon appel et confisquez les iPads après 20h00 !).

Ainsi, mon horloge biologique désormais détraquée oublie que je suis fatigué, jusqu’à 03h00 du mat’. Je me réveille vers 11h00, frais comme un gardon, et n’irait me coucher que très tard dans la nuit, puisque je me suis levé en fin de matinée.

Ce n’est pas un secret, le développeur est une espèce décalée. D’ailleurs, la majorité des professionnels exerçant de nuit (infirmiers, veilleurs, vigiles), ne récupèrent jamais vraiment un rythme dit « normal ».

Toujours est-il que le « cycle traditionnel » est une connerie confondante imposée par la société. Du moment que vous respectez votre organisme, vous pouvez très bien vivre à l’envers.

En deux mots

Pour conclure, les développeurs sont des créatures nocturnes principalement car la nuit n’impose pas de limite temporelle à proprement parler. Ainsi, l’approche est bien plus souple en ce qui concerne la résolution de systèmes complexes. De plus, le cerveau fatigué n’est pas à même d’être distrait, tandis que la lumière de l’écran nous garde éveillé.

D’ailleurs, un petit livre intitulé « Why programmers work at night » a récemment été publié. N’hésitez pas à le dévorer si l’envie vous en prend.

L'auteur : iDorian

Ce monde, tel qu’il est fait, n’est pas supportable. J’ai donc besoin de la lune, ou du bonheur, ou de l’immortalité, de quelque chose qui soit dément peut-être, mais qui ne soit pas de ce monde.