Code schrijven of controleren? “Blijf expert in wat je AI vraagt om te doen” 

Robot coding

AI verandert het werk van ontwikkelaars ingrijpend. Maar wie denkt dat ChatGPT en Copilot de programmeur overbodig maken, komt bedrogen uit. “We gaan van code schrijven naar code controleren”, klonk het tijdens een ronde tafel bij Smals. 

Door de opkomst van generatieve AI-tools lijkt softwareontwikkeling een nieuwe fase in te gaan. Bedrijven introduceren verschillende programmeerassistenten die het codeerwerk voor ontwikkelaars moet vereenvoudigen en versnellen. Denk hierbij aan Anthropic’s Claude Code, OpenAI’s Codex AI-agent of Mistrals Codestral. Prompten wordt het nieuwe programmeren, maar is het echt zo eenvoudig? 

Tijdens een sessie van het AI Competence Center van Smals werd de invloed van AI-programmeerassistenten op de competenties en verschuivende rol van ontwikkelaars belicht.  

Veranderende rol 

“Je zal jouw job als ontwikkelaar niet verliezen door AI”, stelt Joachim Ganseman gerust, AI-onderzoeker bij Smals. “Er zal minder tijd gaan naar coderen, en meer tijd naar het controleren van de code gegenereerd door AI”, vult hij aan. “AI-tools maken fouten, en die eruit halen is niet altijd eenvoudig.” 

Ganseman trekt een duidelijke parallel met eerdere digitaliseringsgolven: “we zijn al 50 jaar bezig met het automatiseren van heel wat administratieve zaken, maar dat heeft nog nooit gezorgd voor een vermindering in administratie”, benadrukt hij. 

Ook Dylan Cabal, Solution Architect bij Smals, deelt dezelfde mening. “Het beroep evolueert en dus moeten we ook mee evolueren, maar dat betekent niet dat de rol van ontwikkelaars volledig zal verdwijnen.”  

Concept boven syntax 

Zal AI een invloed hebben op de competenties van ontwikkelaars? Dat is een vraag die vaak naar boven komt bij AI-discussies. Volgens Cabal verandert vooral het soort vaardigheden dat nodig is: “Ontwikkelaars moeten minder focussen op syntax en meer op hoe ze AI de juiste instructies geven. Prompt engineering wordt belangrijker.” 

Koen Vanderkimpen, AI-onderzoeker bij Smals pikt hierop in. “We moeten expert blijven in wat we AI vragen om te doen.” De syntax van bepaalde talen leren zal minder belangrijk worden, maar het blijft cruciaal om de concepten te begrijpen. Wie AI-tools inzet, moet ook weten wanneer die fout zitten. Want die fouten zitten er onvermijdelijk in. 

AI genereert immers vaak syntactisch correcte, maar semantisch foutieve code. “Kleine verschillen zoals een ontbrekende letter of een fout in een groter-dan-teken, kunnen grote gevolgen hebben. Daarom blijft menselijk toezicht cruciaal”, stelt Ganseman.  

Jonge ontwikkelaars 

Ervaren ontwikkelaars zullen AI-agenten al snel betrappen op fouten, maar voor jonge ontwikkelaars is dit nog geen evidentie. “AI-assistenten zijn nog niet matuur genoeg om jonge ontwikkelaars zonder supervisie te laten werken”, aldus Sacha Thommes-Alexander, Senior IT Project manager bij de Federale Pensioendienst. Juniors lopen het risico om blind te vertrouwen op foutieve suggesties.  

Volgens Vanderkimpen is het belangrijk om jonge ontwikkelaars de mogelijkheid te geven om competenties op te bouwen. “Laat ze niet meteen los met AI maar laat ze redeneren, debuggen en fouten zoeken”, vult Fabian Petitcolas aan, IT Research Consultant bij Smals Research.  

Arsenaal aan AI 

Ontwikkelaars hebben vandaag de keuze uit een groeiend arsenaal aan AI-tools, van eenvoudige chatbots zoals ChatGPT tot geavanceerdere oplossingen zoals agentic IDE’s. Die laatste kunnen niet alleen code genereren, maar ook compileren, uitvoeren en testen binnen de ontwikkelomgeving. 

“We zijn geëvolueerd van vragen stellen in een apart chatvenster naar geïntegreerde AI die zelfstandig handelt in de ontwikkelomgeving”, merkt Cabal op. “Over drie maanden kan er weer iets beters zijn. Het gaat razendsnel”, benadrukt Ganseman.  

Momenteel zijn de heren rond de tafel het eens dat de meerwaarde van AI vandaag zit in repetitieve en kleine taken zoals tests of documentatie. “Voor kleine dingen werkt het echt heel goed. Maar zodra de context groter wordt, beginnen er fouten op te duiken”, stelt Ganseman.  

Wat met oude software? 

Wat kan AI betekenen voor bestaande of legacy-toepassingen die monolitisch zijn opgebouwd, in een taal die niet meer courant is of door mensen die niet meer aanwezig zijn? “Er is nog geen magische oplossing die het programma in een nieuwe taal kan schrijven”, begint Vanderkimpen. “Wat je wel kan doen is op zoek gaan naar kleine stukjes code die je vervolgens laat analyseren door AI. Zo krijg je meer begrip van de code.” 

Hij benadrukt dat het belangrijk is om AI’s hand vast te houden. “Vermeld duidelijk in welke nieuwe taal je de code wilt en wat de architectuur is. Ook hier is het belangrijk dat je zelf de foute eruit kan halen.” 

Ook Cabal vindt dat je voorzichtig moet zijn bij het herschrijven van oude software. “Je moet er zeker van zijn dat de output controleerbaar en identiek is aan je vertrekpunt.” Volgens hem gaat er vaak kennis verloren in dit proces. “We weten niet exact alles wat de sofware allemaal deed voordat deze herschreven werd. Je kan er dus niet zeker van zijn dat de software na het herschrijven alles doet wat hij eerder deed.” Met alles bedoelt Cabal écht alles, ook de fouten.  

lees ook

“AI-codeerhulpmiddelen zijn populairder dan ooit, maar vertrouwen in resultaat daalt”

Hij wijst erop dat we geen kringredenering mogen maken: “Ik ga AI gebruiken om de documentatie te herschrijven om vervolgens op basis van de documentatie de software te herschrijven. Dan hebben we AI gebruikt om AI te controleren. Het is belangrijk dat er altijd een menselijke factor aanwezig is”, benadrukt Cabal.  

Vanderkimpen legt de analogie met een archeoloog. “Als je legacy-code gaat doorzoeken en verbeteren ben je eigenlijk een archeoloog, alleen heb je meer middelen dan alleen een schepje om handen. Je krijgt een bulldozer, maar je moet erop letten dat die bulldozer geen belangrijke zaken wegvaagt in jouw code.” Met deze vergelijking toont hij aan dat de wisselwerking tussen mens en machine belangrijk blijft. 

Blijf expert 

De verschuiving van codeproductie naar codecontrole is niet alleen technisch, maar ook psychologisch ingrijpend. “Wie zelf schrijft, begrijpt zijn code beter. Bij AI-code verlies je vaak de intuïtie over waar een bug zit”, stelt Petitcolas. En dat kan leiden tot fouten die moeilijker op te sporen zijn. 

Daarom is documentatie, testing en kwaliteitscontrole belangrijker dan ooit. AI kan helpen om repetitieve taken te versnellen zoals het genereren van testcases of documentatie, maar de regie moet bij de mens blijven. Ganseman van het samen: “AI is een goed hulpmiddel voor ontwikkelaars, maar blijf zelf de piloot van je project”. 

AI biedt ontwikkelaars de kans om efficiënter en slimmer te werken. Maar zonder kritisch denken en voldoende domeinkennis leidt diezelfde technologie tot fouten, afhankelijkheid en risico’s. 


Deze redactionele bijdrage kwam tot stand in samenwerking met onze partner Smals.