Het gevoel dat je alles kunt bouwen

Eén vage zin naar een coding agent, een paar minuten later een werkende applicatie terug. Bouwen is echt bijna gratis geworden, en dat deel blijft. Maar een vage prompt bevat geen definitie van wanneer iets af is, en software die niet zichtbaar kan falen kun je niet engineeren.

Een tijdje geleden typte ik één vage zin in een coding agent en een paar minuten later kreeg ik een werkende applicatie terug. Ik wil eerlijk zijn over wat ik toen voelde, want het is hetzelfde wat iedereen voelt: ik kan nu alles bouwen. Ik heb software gebouwd in telecom, banken, retail en landbouw, en ik weet precies hoeveel werk er tussen een idee en draaiende software zit. Die afstand was ineens geslonken tot één zin. Sindsdien probeer ik te begrijpen waarom ik dat gevoel niet vertrouw, ook al draaide de applicatie gewoon.

Dat gevoel heeft inmiddels een naam: vibe coding. Een vage prompt levert iets op, dat iets werkt, en de cyclus begint opnieuw. Miljoenen mensen die nooit code hebben geschreven brengen zo software uit, met daaronder een bedwelmende belofte: bouwen kost niks meer, dus iedereen kan bouwen.

De helft van die belofte klopt. Het bouwen zelf is echt bijna gratis geworden, en ik denk dat dat blijvend is. Daar hoeven we niet rouwig om te zijn. Het stuk waarin een veteraan uitlegt dat echte software lijden vereist, zou ernaast zitten. Dat ga ik dus niet schrijven.

Dit is de helft die niet klopt. En die zit verstopt in een uitdrukking die we gebruiken zonder nog te horen wat we zeggen. Als iemand een app bij elkaar vibet en die niet doet wat de bedoeling was, zeggen we dat hij het punt heeft gemist. Ik bedoel dat letterlijk. Een vage prompt bevat geen definitie van wanneer iets af is. Geen vastgelegde bedoeling, geen beschrijving van wat de software moet doen, nooit mag doen en moet kunnen doorstaan. Er is dus niks om het resultaat aan te toetsen. Software zonder een punt om tegen te controleren kan niet zichtbaar falen. En iets wat niet zichtbaar kan falen, kun je niet engineeren. De vibe coder bouwt. Alleen dat. Het punt, het werkelijke punt, is nergens buiten zijn eigen hoofd vastgelegd.

Dat gaat prima, tot de software tegenkomt wat software altijd tegenkomt: een wijziging, een andere gebruiker, een randgeval, tijd. Dan gaat er iets mis en ontdekt de bouwer waar de echte kosten zitten. De app is niet kapot in de gewone betekenis. Je kunt niet vaststellen wat er mis mee is. Niemand heeft bepaald wat correct betekende, dus niemand kan zeggen wat incorrect is. Elke reparatie wordt weer een vage zin, weer iets nieuws, weer een ronde van dezelfde gok. Ik heb die cyclus van dichtbij gezien en het kenmerk is altijd hetzelfde: de prompt voor de volgende reparatie wordt elke ronde langer, omdat je de ontbrekende specificatie in termijnen afbetaalt.

De belofte valt dus uiteen in twee delen, en volgens mij ligt precies daar op de lange termijn de grens. Er is software waar niemand verantwoording voor hoeft af te leggen: schetsen, prototypes, tools voor één avond, dingen die je één keer gebruikt en weggooit. Daar is vibe coding een cadeau, en dat terrein blijft van vibe coding. Zo schets ik zelf inmiddels ook. En er is software waar iemand wél voor moet instaan: waar andere mensen op vertrouwen, die veranderingen moet overleven, waarbij ‘het werkt niet’ binnenkomt als een telefoontje. Die software heeft een vastgelegd punt nodig, iemand die het resultaat daaraan toetst en een persoon wiens naam onder het antwoord staat. Hoe gratis het bouwen zelf ook wordt, geen hoeveelheid bouwen levert een van die dingen vanzelf op.

Het gevoel dat je alles kunt bouwen is echt. Het is het gevoel dat je de notatie in handen hebt en denkt dat dat het vak is. Die verwarring kon weinig kwaad toen de notatie duur was, omdat je bij het leren ervan onderweg noodgedwongen ook de rest van het vak tegenkwam. Nu is de notatie gratis. Voor het eerst kun je haar in handen hebben zonder ooit het vak zelf aan te raken. Vibe coding gaat een generatie bouwers, één niet te diagnosticeren app per keer, de oudste les van dit vak leren: het punt was altijd het punt. De software was alleen de notatie.

§  De lijst

Essays in je inbox

Nieuw werk als het patroon helder is. Geen ritme, geen opvulling.