Vibe Coding: gevaren en kansen

Wat gebeurt er als je AI-tools in handen geeft van een beginner — en van een ervaren ontwikkelaar?

Vibe coding duikt steeds vaker op: programmeren op gevoel, ondersteund door AI-tools zoals Claude, ChatGPT, Copilot of Cursor. Je beschrijft wat je wilt, de AI genereert code, je gaat verder. Het voelt productief, het resultaat lijkt te werken. Wat daaronder ontstaat verschilt alleen nogal, afhankelijk van wie er achter het toetsenbord zit.

In dit artikel deel ik mijn visie op vibe coding. De reële risico's wanneer onervaren ontwikkelaars er onbewust mee aan de slag gaan. En de kansen die dezelfde tools bieden aan iemand met ervaring.

De gevaren: als code "werkt" maar niet deugt

In onervaren handen is vibe coding een recept voor problemen. Niet meteen. Niet vandaag of morgen. Maar zodra het systeem moet groeien, onderhouden of uitgebreid worden, komen de volgende patronen boven.

Slechte architectuur en achterstallig onderhoud

Omdat code snel en intuïtief wordt geschreven zonder duidelijke architectuur, ontstaat al gauw spaghetti-code of sterk gekoppelde componenten. Herbruikbaarheid is laag, duplicatie hoog. Er stapelt zich achterstallig onderhoud op die later enorm veel tijd kost om weg te werken. Systemen worden lastig uit te breiden en moeilijk te onderhouden. Wat begon als snelle oplossing, wordt een halfjaar later de voornaamste reden dat nieuwe features blijven steken.

Gebrek aan consistentie

Bij vibe coding wordt niet gewerkt vanuit coding standards, design patterns of gedeelde architectuurprincipes. Dat leidt tot verschillende stijlen binnen hetzelfde project, inconsistent gebruik van libraries en frameworks, en onvoorspelbaar gedrag in de codebase. Solo is dat al lastig. In teamverband wordt het serieus problematisch.

Slechte testbaarheid

Snel en intuïtief geschreven code resulteert vaak in weinig tot geen unit tests, moeilijk te mocken afhankelijkheden en grote methodes met meerdere verantwoordelijkheden. Daardoor is regressie bijna niet meer te voorkomen: elke wijziging kan onverwachte bijeffecten hebben, en zonder tests merk je dat pas als het al fout is gegaan.

Beperkte schaalbaarheid

Code die werkt voor een kleine dataset of een proof of concept kan onderuit gaan zodra het aantal gebruikers groeit of data-volumes toenemen. Typische struikelblokken zijn performance-bottlenecks, synchronisatiefouten en een gebrekkige caching- of query-strategie. Wat in de demo vlot loopt, zakt in productie in.

AI-gegenereerde code zonder begrip

Een onervaren ontwikkelaar kan met AI code produceren die er professioneel uitziet, maar die hij of zij niet volledig doorgrondt. Beveiligingslekken blijven daardoor onopgemerkt. Inefficiënties ook. Er ontstaat een afhankelijkheid van gegenereerde oplossingen, zonder het vermogen om ze te beoordelen, aan te passen of te debuggen als er iets misgaat.

Onvoldoende aandacht voor security

Bij snelle ontwikkeling worden fundamentele beveiligingsaspecten vaak vergeten: inputvalidatie, authenticatie en autorisatie, veilige opslag van secrets, checks op dependencies. Dit soort dingen komen pas aan het licht bij een security audit. Of later, als er werkelijk iets gebeurt.

Moeilijk refactoren

Wanneer een systeem groeit, ontbreekt vaak een duidelijke domeinstructuur. Logica zit verspreid over meerdere lagen en refactoren leidt makkelijk tot regressies. Projecten worden daardoor steeds moeilijker te verbeteren. Je zit met een systeem dat technisch niet meer meekan en dat je tegelijk niet durft aan te raken.

De keerzijde: vibe coding in handen van een ervaren ontwikkelaar

Dezelfde AI-tools die in onervaren handen schade aanrichten, zijn in de handen van een ervaren ontwikkelaar een enorme versneller. Dat komt doordat die weet wat goede code is en AI inzet als gereedschap binnen dat kader, zonder eigen kennis eraan uit te besteden.

Versnelling zonder kwaliteitsverlies

Een ervaren ontwikkelaar gebruikt AI om boilerplate te genereren, repetitieve taken te automatiseren en sneller van idee naar werkende code te komen. Alles wordt gereviewd voor het de codebase in gaat. De architectuur zit al in het hoofd, de AI vult in, de ontwikkelaar stuurt bij. De kwaliteit blijft gelijk, de doorlooptijd gaat drastisch omlaag.

Betere architectuurbeslissingen

Met AI-ondersteuning kun je sneller meerdere architectuurbenaderingen verkennen en tegen elkaar afwegen. Een prototype bouw je in minuten in plaats van uren. Dat levert beter geïnformeerde beslissingen op over design patterns, datamodellen en systeemarchitectuur, omdat je meer opties kunt uitproberen voor je commit maakt aan een richting.

Focus op de kern

De saaie onderdelen laten zich uitstekend door AI oppakken: configuratie, standaard CRUD-operaties, testdata, eerste versies van documentatie. Je eigen uren gaan dan naar de stukken waar menselijke expertise het verschil maakt: de complexe business logic, performance-keuzes, beveiligingsoverwegingen.

Snellere kennisoverdracht

Wanneer ik met een nieuw framework of library moet werken, helpt AI om sneller productief te worden. De concepten begrijp ik al; de AI helpt me met de specifieke syntax en de gebruikelijke patronen binnen die technologie. Een versnelde ingang, zonder dat ik op inzicht hoef in te leveren.

Betere tests en documentatie

Iets dat veel mensen verrast: bij ervaren ontwikkelaars zorgt AI-ondersteuning juist voor méér tests en betere documentatie. Omdat het genereren van een eerste versie nauwelijks tijd kost, valt het argument "daar heb ik geen tijd voor" weg. Unit tests, integratietests, inline documentatie: de AI schrijft een aanzet, de ontwikkelaar scherpt aan.

Complexere oplossingen realiseerbaar

Projecten die voorheen te complex of te tijdrovend waren, komen binnen bereik. In mijn eigen werk merk ik dat dagelijks: complexe AFAS koppelingen, field service apps met AI-ondersteuning, offerte-calculators. Trajecten die ik in m'n eentje efficiënter opzet dan een paar jaar geleden met een klein team.

De gebruiker maakt het verschil

Vibe coding is op zichzelf niet goed of slecht. Het hangt af van wie het doet. Een onervaren ontwikkelaar die blind vertrouwt op gegenereerde code bouwt iets dat bij de eerste tegenwind omvalt. Iemand met een stevige technische basis, die AI inzet als versneller terwijl hij architectuur, kwaliteit en veiligheid bewaakt, bouwt sneller en beter dan voorheen.

AI-tools vervangen geen vakmanschap. Ze versterken het. Als u een systeem laat bouwen, is de interessantste vraag niet "kan het?", maar "wie bouwt het?". De tool is voor iedereen dezelfde; wat eruit komt hangt af van wie er achter zit.

Zelf gebruik ik AI dagelijks in mijn werk, met ruim twintig jaar ontwikkelervaring op de achtergrond. De kennis van clean architecture, design patterns en betrouwbare code heb ik niet aan AI te danken, die komt uit jaren praktijk. De AI helpt me vooral om die kennis sneller en op meer plekken tegelijk toe te passen. Dáár zit voor mij het wezenlijke verschil tussen vibe coding als risico en vibe coding als voordeel.

Op zoek naar een ervaren ontwikkelaar die AI slim inzet? Ik bouw graag mee aan uw project.

Neem contact op

Gerelateerde artikelen

Wat is een AFAS koppeling? Maatwerk integraties met AFAS Profit