De term dook voor het eerst op via een online bericht van Andrej Karpathy, een bekende expert in kunstmatige intelligentie en een voormalig topman bij OpenAI en Tesla. Hij omschreef hoe zijn persoonlijke werkstijl drastisch was veranderd. In plaats van urenlang geconcentreerd in een teksteditor te typen, schreef hij voornamelijk zogeheten prompts en opmerkingen. Hij liet de ai de ingewikkelde, onderliggende syntax genereren. Het voelde voor hem alsof hij simpelweg aan het 'viben' was met de code en de assistent het echte zware tilwerk deed. De term vibecoding was daarmee geboren en werd vrijwel direct omarmd door de bredere tech-community. Het beschrijft een mindset waarbij je het handmatige typewerk uitbesteedt en je puur focust op de architectuur en het einddoel van de software. Je dirigeert in plaats van dat je zelf elk instrument bespeelt.
Als je deze methode in de praktijk toepast, merk je direct dat de rol van de programmeur verschuift van een bouwvakker naar een architect. Je begint met het schrijven van een duidelijke, menselijke instructie. Je vraagt de software bijvoorbeeld om een inlogscherm te maken met specifieke validatie voor complexe wachtwoorden. Binnen enkele seconden verschijnt er een compleet blok met code op je beeldscherm. Vervolgens test je dit blok in je applicatie. Werkt het niet direct, dan kopieer je de gegenereerde foutmelding simpelweg terug naar de chatinterface en vraag je de assistent om het probleem te herstellen. Bekende tools die deze manier van werken ondersteunen zijn onder andere Cursor en GitHub Copilot. Deze programma's integreren direct in de ontwikkelomgeving en lezen constant mee met de context van je bestaande projectbestanden.
De adoptie van deze nieuwe werkwijze gaat razendsnel op de werkvloer. Dat heeft alles te maken met de forse snelheidswinst die je boekt. Repetitieve taken, zoals het opzetten van een standaard databaseverbinding, het schrijven van simpele testen of het configureren van webservers, kosten normaal gesproken best wat tijd en typewerk. Nu handelt een taalmodel dit binnen enkele seconden af. Ontwikkelaars houden hierdoor veel mentale ruimte over om goed na te denken over de infrastructuur, de veiligheid en de gebruikerservaring van een webapplicatie. Ook de drempel voor beginnende programmeurs gaat hiermee omlaag. Iemand die de logica van een digitaal systeem goed begrijpt, maar de exacte regels van een specifieke programmeertaal nog niet volledig kent, zet met deze aanpak toch vrij snel een werkend prototype in elkaar.
De effectiviteit van je werk hangt bij deze methode volledig af van hoe goed je je gedachten kunt overbrengen. Natuurlijke taal is letterlijk de nieuwe programmeertaal geworden. Hoe specifieker en gestructureerder je een opdracht omschrijft, hoe beter en bruikbaarder het resultaat zal zijn. Vage of dubbelzinnige instructies leiden steevast tot rommelige, inefficiënte systemen. Je moet de ai voeden met de juiste technische context, de gewenste uitkomst en eventuele harde beperkingen voor het geheugen of de snelheid. Bedrijven, universiteiten en overheden kijken met bovengemiddelde interesse naar deze ontwikkeling. Op de website van de Rijksoverheid is veel informatie te vinden over de bredere impact van kunstmatige intelligentie op de huidige arbeidsmarkt en onze dagelijkse werkwijzen. Het vermogen om zeer heldere instructies te schrijven ontwikkelt zich tot een vaste en hooggewaardeerde vaardigheid voor iedere moderne kenniswerker.
Deze benadering kent natuurlijk ook stevige nadelen en risico's. Taalmodellen blijven uiteindelijk taalmodellen en zijn geen feilloze rekenmachines. Ze genereren regels code op basis van waarschijnlijkheid en patronen uit hun trainingsdata. Soms ziet een gegenereerd script er op het eerste gezicht foutloos uit, maar bevat het een verborgen beveiligingslek of maakt het gebruik van een softwarebibliotheek die helemaal niet bestaat. Wanneer je deze code simpelweg accepteert zonder deze echt te doorgronden, bouw je ongemerkt een flinke berg technische schuld op. Als er maanden later een bug opduikt in een complex systeem dat je niet zelf hebt uitgedacht, is het oplossen daarvan een bijzonder lastige opgave. De kritische, menselijke blik blijft dan ook nodig. Een goede ontwikkelaar leest gegenereerde tekst net zo scherp als een leraar een proefwerk nakijkt. Gedegen kennis van datastructuren en softwarepatronen is een harde eis om de kwaliteit te waarborgen.
Door deze pijlsnelle technologische stappen vragen veel studenten en professionals zich af of het beroep van programmeur gaat verdwijnen. De praktijk op de werkvloer laat zien dat de functie voornamelijk verandert. Je ziet een duidelijke verschuiving van de directe uitvoering naar de kwaliteitscontrole en het ontwerp. Brede kennis van systemen, de interactie tussen verschillende losse componenten en het begrijpen van de onderliggende bedrijfslogica worden belangrijker dan het uit je hoofd kennen van specifieke programmeercommando's. Het betekent daarnaast dat de samenwerking tussen technische en niet-technische collega's vloeiender verloopt. Een ontwerper, data-analist of marketeer kan via gerichte prompts veel makkelijker meedenken over de werking van een interne tool. De harde muren tussen de verschillende disciplines op een it-afdeling brokkelen hierdoor in een prettig tempo af.
Het bouwen van software heeft een flinke, definitieve upgrade gekregen. Door het intypen van menselijke instructies in plaats van complexe, wiskundige commando's, gaat de bouwsnelheid van digitale producten flink omhoog. Het zware, repetitieve typwerk verdwijnt steeds meer naar de achtergrond, waardoor jouw focus als maker verschuift naar creativiteit, logische structuur en probleemoplossend vermogen. Toch ontslaat deze vlotte techniek je absoluut niet van de verantwoordelijkheid om scherp en kritisch te blijven. Betrouwbare software bouwen blijft een echt ambacht waarbij inzicht, veiligheid en precisie de doorslag geven. Het is een efficiënte abstractielaag over het bestaande werk heen, waarmee je als bouwer volledig de regie pakt zonder onnodig verstrikt te raken in de kleine technische haken en ogen van een programmeertaal.
Terug