AI in Software Development: Brainrot of Evolutie?
Volgens sommige auteurs zorgt het werken met AI in software development voor “brainrot” - je zou niet meer zelf denken. Tegelijk ervaar ik dat ik complexere taken veel sneller kan uitvoeren omdat ik niet meer voortdurend syntax hoef op te zoeken. AI heeft details paraat die ik na één keer correct heb geïmplementeerd.
In mijn ogen is AI gewoon een extra abstractielaag, net zoals programmeertalen zelf ook een abstractie zijn bovenop assembly en machine code. Maar kregen die vroegere abstracties dezelfde kritiek?
Déjà vu: Elke abstractie krijgt dezelfde kritiek
De geschiedenis herhaalt zich. Bij elke nieuwe abstractielaag in software development hoorden dezelfde bezwaren:
Assembly naar hogere talen: “Echte programmeurs schrijven in machine code. Je verliest controle over de hardware.”
IDE’s met autocomplete: “Developers kunnen niet meer programmeren zonder hun editor.”
Stack Overflow: “Niemand denkt nog zelf na, iedereen copy-paste maar wat.”
Frameworks: “Developers begrijpen de onderliggende principes niet meer.”
Het patroon: Meer cognitieve bandbreedte
Elke abstractielaag verhoogt je cognitieve bandbreedte. Je besteedt minder mentale energie aan syntax en boilerplate, waardoor je meer focus hebt voor architectuur, logica en het eigenlijke probleem. Net zoals je nu niet meer nadenkt over hoe een for-loop werkt in assembly, hoef je straks niet meer te onthouden welke pandas-functie je precies nodig hebt.
Het verschil met AI
Er is wel een belangrijk verschil tussen AI en eerdere abstracties. Traditionele abstracties zijn deterministisch - je weet exact wat map() doet. AI is probabilistisch - je moet de output verifiëren. Dit vereist juist meer kritisch denken, niet minder.
Wat wel gevaarlijk is
De risico’s zijn reëel, maar niet nieuw:
Blind accepteren van AI-output zonder begrip te hebben van wat het doet
Niet meer kunnen debuggen wanneer AI faalt of verkeerde output geeft
Vertrouwen op AI voor concepten die je zelf niet begrijpt
Maar dit patroon herkennen we. Ook met Stack Overflow plakten mensen code zonder begrip. Ook met frameworks gebruikten developers libraries zonder de werking te snappen. Het probleem is niet de tool, maar hoe je ermee omgaat.
Vooruitgang, geen achteruitgang
Als je de onderliggende concepten beheerst, helpt AI je sneller implementeren. Dat is identiek aan hoe compilers je sneller laten werken dan assembly schrijven. Je lost complexere problemen op omdat je niet vastzit in syntax-details. Dat is vooruitgang.
De kritiek komt vaak van mensen die hun expertise in de oude laag zien als de “echte skill”. Maar die skill was grotendeels noodzakelijke overhead, geen fundamenteel begrip.
De Praktijk: Het bouwen van xudo.be
Als concreet voorbeeld van deze “nieuwe abstractielaag” kijken we naar hoe deze website (xudo.be) tot stand is gekomen. In plaats van uren te besteden aan de configuratie van verschillende componenten, fungeerde AI als een force multiplier over het hele spectrum van het project:
- Hugo & Architectuur: Hugo is een krachtige static site generator, maar de syntax van templates kan soms cryptisch zijn. AI hielp bij het vertalen van architecturale wensen (zoals een meertalige structuur en complexe content-relaties) naar werkende code, zonder dat ik elk detail van de Hugo-documentatie hoefde te internaliseren.
- DevOps & Infrastructure-as-Code: De volledige stack — van Docker-containers voor development en productie tot de Nginx-configuratie met automatische SSL-certificaten via Let’s Encrypt — werd opgezet met AI-ondersteuning. Cruciale details, zoals security headers (
nosniff,X-Frame-Options) en een veilige media-proxy in Node.js die beschermd is tegen path traversal aanvallen, werden direct correct geïmplementeerd. - Continuous Code Review: Tijdens het ontwikkelen fungeerde de AI als een senior architect die elke wijziging kritisch bekeek. Het resultaat was een gedetailleerde code review die niet alleen bugs opspoorde, maar ook de maintainability van het project bewaakte door te wijzen op principes als “Simple > Clever”.
In dit project was ik niet bezig met het onthouden van de exacte syntax van een Dockerfile of de specifieke regex voor een Nginx rewrite rule. Ik was bezig met de architectuur: “Hoe bouw ik een veilig, snel en schaalbaar platform?”. De AI nam de details over, zodat ik me kon focussen op het vakmanschap op een hoger niveau.
Conclusie: AI als gereedschap, niet als vervanging
AI is niet het einde van vakmanschap in software development. Het is de volgende abstractielaag die ons toelaat om op een hoger niveau te werken - precies zoals alle vorige abstracties dat deden. Het stelt ons in staat om sneller van idee naar implementatie te gaan, mits we de discipline behouden om de output kritisch te blijven beoordelen.