Het beste gesprek van je werkdag voer je misschien wel met iets dat niet terugpraat.
Om 23:40 zit ergens iemand alleen achter twee schermen. De fout zit in dertig regels code die hij inmiddels uit zijn hoofd kent. Alles is nagelopen, drie keer. Het klopt allemaal. Het werkt niet.
Dan pakt hij het gele badeendje dat tussen de kabels staat, zet haar recht voor zich neer, en begint uit te leggen.
In softwareteams vindt niemand dit gek. Dit is waar het vandaan komt, en waarom het al ruim vijfentwintig jaar werkt.
De term staat in The Pragmatic Programmer, het boek van Andrew Hunt en David Thomas uit 1999. Daarin duikt een onderzoeksassistent op, Greg Pugh, die overal een badeendje mee naartoe nam. Liep hij vast, dan zette hij haar naast het toetsenbord en legde hij zijn code aan haar uit. Regel voor regel, alsof ze er niets van begreep, wat ook zo was.
Je kunt de blikken van collega's erbij bedenken. Maar het werkte. Het werkte zo vaak dat het een naam kreeg, de naam een begrip werd, en het begrip een eend op duizenden bureaus over de hele wereld.
Je zit vast. Je hebt alles al drie keer nagelopen en het klopt allemaal, en toch doet het niet wat het moet doen. Dan pak je haar op en begin je van voren af aan.
Niet samenvattend. Niet zoals je het aan een collega zou vertellen, die de helft al weet. Helemaal opnieuw, met de stappen die je normaal overslaat omdat ze vanzelfsprekend zijn.
En ergens halverwege je eigen uitleg stop je. Je hebt net iets gezegd wat je nooit eerder had uitgesproken. Meestal is dat het.
De eend doet niets. Ze denkt niet mee, ze stelt geen vragen, ze weet niets van code. Wat er verandert is wat jij moet doen om iets aan haar uit te leggen.
Een gedachte die alleen vanbinnen ronddraait heeft geen vorm. Ze wordt groter en tegelijk vager, want er is niets wat haar tegenspreekt. Zodra je haar uitspreekt moet ze een volgorde krijgen. Onderwerp, werkwoord, gevolg. En daarmee wordt hoorbaar wat eerst alleen gevoel was.
Dat verschijnsel is onderzocht, ruim voordat er badeendjes bij te pas kwamen. Cognitiewetenschappers noemen het het zelfverklaringseffect: mensen die hardop uitleggen wat ze aan het doen zijn, begrijpen het beter en lossen het beter op dan mensen die dat niet doen. Het is sindsdien in allerlei vakgebieden teruggevonden.
Programmeurs hebben iets gevonden dat verder reikt dan hun vak, en ze zijn het nooit gaan uitbouwen. Geen model eromheen, geen training, geen certificaat. Je legt je probleem hardop uit aan iets dat niet terugpraat. Meer is het niet.
Het mooie is dat de eend geen eer krijgt. Niemand zegt dat zij het heeft opgelost. Iedereen weet dat het antwoord al bij jezelf zat en dat het alleen naar buiten moest.
En dan komt de vraag die dit hele boek is geworden: als dat werkt voor code, waarom passen we het dan nergens anders toe?
Je piekert 's nachts over een gesprek. Je draait dezelfde gedachte al drie weken rond. Je weet precies wat er mis is met je week en je hebt het nog nooit hardop gezegd. Dat is dezelfde vastgelopen code, alleen zonder scherm.
Ze zegt niets. Daardoor kun je alles tegen haar zeggen.
Een lopende reeks over eenden op bureaus, en de mensen die tegen ze praten.
Zie je er zelf een staan? Meld je sighting.
Bronnen. Andrew Hunt en David Thomas, The Pragmatic Programmer (1999), voor de oorsprong van de term en de rol van Greg Pugh. Voor het zelfverklaringseffect: Michelene Chi en collega's, Self-Explanations: How Students Study and Use Examples in Learning to Solve Problems, Cognitive Science 13 (1989), en het vervolgonderzoek Eliciting Self-Explanations Improves Understanding (1994).