‘Programmeren kun je leren’. Het internet staat vol met bronnen om zelf kundig te worden met programmeren. Als je het op school niet hebt meegekregen, of niet de juiste papieren hebt behaald, dan is het helemaal niet zo vreemd om een ‘self-learned’ programmeercarrière aan te gaan. Met de juiste theorie, (heel) veel oefenen en door uiteindelijk zelf daadwerkelijk software te schrijven, kun je een prima programmeur worden.
Een snelle weg
Tegenwoordig hebben we een nieuwe krachtige bron beschikbaar: AI. Programmeurs (en ikzelf) zijn de laatste weken onder de indruk van Claude (van het bedrijf Anthropic) en Codex (van OpenAI).
Je geeft het programma in gewone mensentaal (een doordachte prompt werkt het beste) een opdracht, bijvoorbeeld een nieuwe feature laten schrijven. Een druk op Enter, en de AI-agent gaat voor je aan het werk. Geen studie of programmeerkennis meer nodig zou je zeggen.
Het is een serieuze ontwikkeling binnen het werkveld van programmeurs. Sommigen negeren het liever, anderen omarmen het direct. Het lijkt in ieder geval een ontzettende versnelling bij het creëren van nieuwe code. Dat betekent dat het beroep van een programmeur gaat veranderen. En daar kunnen we niet omheen.
Kritisch blijven
Binnen 2Befresh werken we sinds kort met Copilot in onze IDE (een softwareprogramma om code mee te schrijven). Binnen Copilot is het mogelijk om voor meerdere AI-modellen te kiezen. En op dit moment maken we gebruik van Claude.
Claude kan met de juiste prompts nieuwe features schrijven, meedenken bij het oplossen van bugs en een degelijke refactor uitvoeren. Maar dit betekent niet dat er geen programmeurs meer nodig zijn.
Programmeren is namelijk meer dan code schrijven. Je moet snappen hoe een project in elkaar zit. En kunnen benoemen, of uit kunnen schrijven, hoe nieuwe code een aanvulling kan zijn op bestaande functionaliteit. In die zin is kennis van de gebruikte programmeertaal een vereiste. Om te begrijpen wat er staat en om zo te weten hoe je hiermee om moet gaan.
Daarnaast is het belangrijk dat de code die door AI geschreven is, gecontroleerd wordt. Bij het ontwikkelen van software voor onze klanten willen we blijven waarborgen dat de code klopt en op een professionele manier ingezet blijft worden. Zo moet het logisch (begrijpbaar) geschreven zijn. En misschien nog wel belangrijker: vooral een veilige structuur behouden. Onze klanten hebben vertrouwen in onze geleverde producten. Het zou daarom nog niet verstandig zijn om het volledig door AI te laten schrijven.
Sneller werken
Het werken met AI is echt wel een toevoeging voor een programmeur; je kan er sneller door werken. Een nieuwe feature is sneller in beeld, of een bug sneller boven water. Daarom kan het meegaan met deze ontwikkeling een waardevolle aanvulling zijn op het werk van softwareontwikkelaars.
Het is daarnaast wel belangrijk je eigen kennis actueel te houden. En niet ‘lui’ te worden door het gebruik van een AI.
“Vibe coding” is leuk maar het zou zonde zijn als je niet meer weet hoe je een if-statement moet schrijven. Je moet code blijven begrijpen om mee te kunnen groeien met de ontwikkelingen van AI. Programmeerkennis wordt alleen maar kostbaarder om goed te kunnen werken met deze techniek.
if (ai) {knowledge = null;}
Gaat het programmeurs volledig vervangen? Nee, programmeurs zijn probleemoplossers. Wat moet er gebeuren? Hoe zit deze applicatie technisch in elkaar? Hoe kan ik de mogelijke oplossing het beste inzetten? Deze manier van werken is een vaardigheid die AI niet kan vervangen.