Skip to main content

Software Development Opleiding en AI

Vijf Pijlers moderne Software Development Opleiding en AI

AI verandert de wered en een moderne opleiding software delopement zou moeten bestaan uit vijf pijlers.

Dit stuk legt uit waarom.

image.png

Zo was het vroeger

Decennialang draaide programmeren vooral om het leren van een programmeertaal.

Een ontwikkelaar begon met een idee:

"Ik wil een knop die gegevens opslaat."

Daarna werd dat idee vertaald naar syntax:

if user.clicked():
    save_data()

Succes hing grotendeels af van het kennen van de juiste trefwoorden, interpunctie en regels van de programmeertaal. De uitdaging was om ideeën te vertalen naar werkende code.

Veel opleidingen waren daarom sterk gericht op syntax, programmeerconstructies en technische details. Wie de taal beheerste, kon software bouwen.

En hoe het vandaag is geworden?

Generatieve AI verandert die relatie fundamenteel.

De uitdaging is niet langer in de eerste plaats:

Ideeën → Syntax

maar steeds vaker:

Ideeën → Duidelijkheid (Clarity)

Het vermogen om intentie helder uit te drukken wordt een van de waardevolste vaardigheden in softwareontwikkeling.

Een AI kan vaak de syntax genereren, maar kan niet betrouwbaar bepalen wat de gebruiker werkelijk bedoelt. Die intentie komt nog steeds van mensen.

Hoe duidelijker een ontwikkelaar een probleem kan beschrijven, hoe beter de AI kan helpen bij het bouwen van een oplossing.

De moderne ontwikkelaar moet vragen kunnen beantwoorden zoals:

  • Welk probleem lossen we op?
  • Voor wie lossen we het op?
  • Hoe ziet succes eruit?
  • Wat moet er gebeuren in normale situaties?
  • Wat moet er gebeuren als er iets misgaat?
  • Welke uitzonderingen zijn mogelijk?
  • Welke beperkingen zijn er?
  • Welke voorbeelden maken het gewenste gedrag duidelijk?
  • Hoe testen we of de oplossing correct werkt?
  • Komt het resultaat overeen met de oorspronkelijke bedoeling?

Van programmeur naar architect

In plaats van iedere regel code handmatig te schrijven, treden ontwikkelaars steeds vaker op als:

  • Architect
  • Ontwerper
  • Probleemanalist
  • Reviewer
  • Tester
  • Communicator

Oude denkwijze

"Hoe schrijf ik deze loop in Python?"

Nieuwe denkwijze

"Ik heb een systeem nodig dat inzendingen van studenten verwerkt, duplicaten afwijst, duidelijke feedback geeft en bruikbaar blijft voor docenten met weinig technische kennis."

De AI kan helpen om de loop te schrijven. De ontwikkelaar moet bepalen wat het systeem moet doen, welke kwaliteitseisen gelden en hoe succes wordt gemeten.

Dit betekent dat vaardigheden die vroeger vaak als 'soft skills' werden gezien, steeds meer technische vaardigheden worden:

  • Helder communiceren
  • Requirements definiëren
  • Voorbeelden geven
  • Randgevallen identificeren
  • Resultaten beoordelen
  • Instructies verfijnen
  • Intentie verwoorden
  • Gebruikers begrijpen
  • Kwaliteit bewaken

Prompting is geen trucje

Vaak wordt gesproken over "prompt engineering". Daardoor lijkt het alsof werken met AI vooral draait om slimme formuleringen.

In werkelijkheid is een goede prompt meestal het resultaat van goed nadenken.

Een ontwikkelaar die het probleem begrijpt, duidelijke voorbeelden geeft, randgevallen benoemt en succescriteria definieert, zal doorgaans betere resultaten krijgen dan iemand die alleen probeert een slimme prompt te schrijven.

De kwaliteit van de uitkomst wordt steeds vaker bepaald door de kwaliteit van het denkwerk dat eraan voorafgaat.

De nieuwe rol van de ontwikkelaar

AI verandert softwareontwikkeling ingrijpend.

Waar ontwikkelaars vroeger veel tijd besteedden aan het schrijven van syntax, verschuift de nadruk steeds meer naar het begrijpen van problemen, het formuleren van intenties en het beoordelen van resultaten.

De vraag verschuift van:

"Hoe schrijf ik deze code?"

naar:

"Wat moet dit systeem precies doen, waarom moet het dat doen en hoe weten we dat het goed werkt?"

AI kan vaak helpen bij het genereren van code.

De ontwikkelaar blijft verantwoordelijk voor:

  • Het ontwerp
  • De kwaliteit
  • De veiligheid
  • De testbaarheid
  • De gebruikerservaring
  • De prestaties
  • De betrouwbaarheid
  • De aansluiting op de oorspronkelijke bedoeling

AI versnelt het bouwen van software, maar neemt de verantwoordelijkheid niet over.

Wat betekent dit voor studenten?

Studenten die alleen leren hoe ze code moeten schrijven, missen een deel van de nieuwe werkelijkheid.

Technische kennis blijft belangrijk, maar wordt aangevuld met vaardigheden zoals analyseren, ontwerpen, testen, samenwerken en communiceren.

Een succesvolle ontwikkelaar van de toekomst begrijpt niet alleen hoe software werkt, maar ook waarom die software gebouwd wordt.

De waarde verschuift steeds meer van het produceren van code naar het oplossen van problemen.

De programmeertaal van de toekomst

Programmeertalen zoals Python, JavaScript, Java en C# verdwijnen niet.

Sterker nog: goede ontwikkelaars zullen deze talen nog steeds moeten begrijpen om code te kunnen controleren, verbeteren en onderhouden.

Maar de vaardigheid om helder te denken en duidelijk te beschrijven wat een systeem moet doen, wordt steeds waardevoller.

Syntax wordt steeds meer ondersteund door AI.

Het denken blijft mensenwerk.

Vroeger moest je vooral weten hoe je een computer iets moest vertellen.

Tegenwoordig moet je vooral weten wat je de computer wilt laten doen.

Morgen moet je vooral begrijpen waarom het systeem bestaat en welke waarde het moet leveren.

De syntax wordt steeds verder geautomatiseerd.

Het denken niet.

Kernboodschap

De belangrijkste vaardigheid van de ontwikkelaar verschuift van het schrijven van instructies naar het formuleren van intenties.

Code wordt steeds goedkoper om te produceren.

Duidelijkheid blijft schaars.