Debuggen om 3 uur 's nachts
Er is een bijzondere vorm van waanzin die na middernacht toeslaat. Je bugtracker staat open in drie tabbladen, je koffie is koud, en toch — toch — ben je er nog steeds van overtuigd dat je er zo uit bent.
Het begint onschuldig genoeg. Je had om 22:00 uur willen stoppen. Je had het jezelf beloofd. Je had het zelfs hardop gezegd: "Ik fix alleen dit ene ding nog." Fameuze laatste woorden. Dat ene ding bracht twee nieuwe dingen voort, en nu is het 3 uur 's nachts en lees je een zes jaar oud Stack Overflow-topic, geschreven door iemand die inmiddels de sector heeft verlaten.
Het 3-uurs-brein Is een Ander Beest
Het is iets wat niemand je vertelt: je brein om 3 uur 's nachts is vreemd. Het is moe genoeg om te stoppen met twijfelen aan zichzelf, wat betekent dat je ideeën gaat uitproberen die je 's middags meteen als dom had afgedaan. En soms — tot je grote ergernis — werken ze.
Ik heb ooit vier uur lang een race condition zitten debuggen, alles geprobeerd wat logisch leek, het opgegeven, naar het plafond gestaard, en daarna een fix getypt die zo vervloekt was dat ik hardop moest lachen in mijn lege appartement. Het werkte perfect. Ik committe het met de boodschap please don't ask en ging naar bed.
"De beste debugging-sessies vinden plaats wanneer je te moe bent om bang te zijn om er dom uit te zien."
De Rituelen
Elke nachtelijke programmeur heeft zijn rituelen. De mijne gaan ongeveer zo:
- Het scherm dimmen tot een warm amber gloed (voelt alsof de monitor je begrijpt)
- Een afspeellijst opzetten die volledig instrumentaal is of volledig in een taal die je niet spreekt
- Een warme drank maken die je niet opdrinkt
- De code openen, sluiten, opnieuw openen
- Ergens een
console.log("WHY")toevoegen
Die console.log("WHY") is essentieel. Sla hem niet over.
Het Moment
En dan gebeurt het. Het moment. Je ziet het — een ontbrekende puntkomma, een off-by-one, een variabele genaamd data die een andere variabele die ook data heet overschaduwt — en het hele ding valt uiteen tot beschamende eenvoud. De bug die je avond heeft opgevreten, was drie tekens lang.
Je fixt het. Je draait de tests. Groen. Alles groen. Je balt je vuist in het donker alsof je zojuist het winnende doelpunt hebt gescoord in een stadion vol niemand.
De commitboodschap is poëtisch om 3 uur 's nachts. "fix: resolve the thing". Je toekomstige zelf zal vragen hebben.
Waarom We Het Doen
Ik heb hier veel over nagedacht. Waarom blijven we op? De deadline is niet altijd reëel. De bug is er 's ochtends nog steeds, waarschijnlijk een stuk vanzelfsprekender na een nachtje slapen.
Ik denk dat het de stilte is. De buitenwereld is gaan slapen en het is alleen jij en de machine, onderhandelen. Geen Slack-meldingen, geen vergaderingen, geen context-switching. Gewoon pure, vreemde, gefocuste flow — ook al bestaat die flow voornamelijk uit wanhoop.
Er zit ook iets diep persoonlijks in de code die je om 3 uur 's nachts schrijft. Ze is ruiger en eerlijker dan alles wat je overdag zou opleveren. Ze heeft vingerafdrukken erop.
Dus: op de late nachten, de koude koffie, de vervloekte fixes en de commits die niemand ooit in twijfel zal trekken. Mogen je bugs oppervlakkig zijn en je slaap, uiteindelijk, diep.