menu sluiten
Contact

Antwerpen
Veldkant 33B, 2550 Kontich
België +32 (0)3 444 11 08

Breda
Rithmeesterpark 50-A1, 4838GZ Breda
Nederland +32 (0)3 444 11 08

info@jstack.eu

22 November 2023

Gaat AI software developers vervangen?

Door Stijn Van Raes

Generative AI heeft er in een snel tempo voor gezorgd dat het gebruik van articificiële intelligentie een hoge prioriteit heeft gekregen in de strategie van vele bedrijven. Volgens onderzoek van KPMG is voor 72% van Amerikaanse CEO’s generatieve AI zelfs een topprioriteit ondanks de economische onzekerheden die er vandaag zijn.

AI wordt niet alleen ingezet als middel om businessprocessen te innoveren of een betere dienstverlening aan te bieden, maar ook om kosten te besparen. Zo is ieder bedrijf vandaag meer en meer een IT-bedrijf, of zal het dat in de toekomst toch moeten worden. Digitale ontwikkeling is cruciaal om de markt en innovaties te kunnen volgen. Bijgevolg ligt één van de grootste kostenbesparingen in de hoek van de IT-afdeling. Het is dus geen verassing dat er vandaag strategieën zoals Test Driven-AI-Development (TDAD) worden bedacht om softwareontwikkeling zo veel mogelijk te vervangen door AI.

In deze post neem ik je mee in wat er vandaag al mogelijk is met AI op vlak van softwareontwikkeling, geef ik een blik op de toekomst van TDAD, en vertel ik wat je als bedrijf vandaag al kan doen om je hierop voor te bereiden.

AI kan nog niet alles

We leven vandaag in een tijdperk van augmented AI. Dat betekent dat AI nog niet in staat is om autonoom beslissingen te maken en om taken volledig van ons over te nemen. Er is dus nog altijd een bepaalde mate van menselijke interventie nodig, maar AI maakt gebruik van machine learning en deep learning technieken om ons te ondersteunen zodat we die taken sneller en beter kunnen uitvoeren.

Een goed voorbeeld daarvan is de zelfrijdende wagen. Hoewel bedrijven zoals Tesla heel ver staan met hun technologie, is het vandaag nog niet mogelijk om een volledig autonoom rijdende wagen in het verkeer te brengen. Bij bepaalde beslissingen moeten we nog zelf ingrijpen. We hebben vandaag wel verschillende rijhulpsystemen zoals rijvakassistentie, automatische cruisecontrol met adaptieve snelheid, noodstop, enzovoort. Dat zijn allemaal systemen die ons ondersteunen tijdens het rijden met de wagen, maar het nog niet volledig van ons overnemen. Dat noemen we augmented AI.

De impact van Augmented AI op softwareontwikkeling

In softwareontwikkeling zie je die evolutie ook. Volgens McKinsey gebruiken er vandaag al meer dan 20 miljoen ontwikkelaars generatieve AI om sneller te ontwikkelen, bijvoorbeeld via tools als GitHub Copilot. Er zijn verschillende manieren waarop AI kan ondersteunen tijdens het ontwikkelen. Denk dan aan:

  • Genereren van code op basis van een beschrijving van de functionaliteit of op basis van testen;
  • Genereren van testen op basis van code;
  • Inzichten en advies voor het leren van een programmeertaal;
  • Automatisch aanvullen van code;
  • Voorstellen ter optimalisatie van de code met oog op betere kwaliteit, performance en security;
  • Inzichten aanreiken voor bijvoorbeeld root-cause-analysis en debugging;
  • Bug fixing door het analyseren van code en door problemen aan te duiden.

Beperkingen

Vandaag zijn er aan deze ondersteuning helaas nog veel beperkingen verbonden. Zo kan je niet volledig rekenen op AI om code te schrijven die geen fouten bevat en ook veilig en performant is. Je moet de code zelf nog begrijpen en kunnen aanpassen aan de situatie. Bovendien is AI niet innovatief, want het denkt niet outside the box: het doet enkel wat het leert uit data. Het zal dus nooit met een nieuwe of innovatieve oplossing komen. Bovendien is er ook een groot risico dat we minder fundamenteel begrip hebben van de werking van bepaalde code, omdat de code voor ons gegenereerd wordt in plaats van die zelf te schrijven. We kunnen dan wel sneller resultaat opleveren, maar we zijn mogelijk niet meer in staat om de code kritisch te evalueren en te debuggen. Als er dan problemen opduiken, bijvoorbeeld naar security en performance toe, kunnen we die misschien zelf niet meer oplossen.

 

Test-driven AI-development: de low-code van de toekomst?

Vandaag is het dus nog niet mogelijk om AI autonoom een volledig systeem te laten schrijven, testen en uitrollen. Maar hoe ver staan we daar eigenlijk van af? Het is moeilijk om daarvoor een exacte voorspelling te geven, maar de realiteit is dat veel bedrijven wereldwijd vandaag bezig zijn om dit soort systemen te ontwikkelen. Zo worden er strategieën bedacht om zo veel mogelijk van het softwareontwikkeling werk te automatiseren met AI, waardoor de controle over IT-systemen uit de handen van techneuten wordt genomen en naar de business wordt gebracht.

Test-driven AI development (TDAD) kan zo’n strategie zijn. Heel simpel gezegd, met TDAD start alles vanuit testen en zolang die slagen, is alles in orde. Dat gaat als volgt in zijn werk:

  • Businessanalisten genereren testen met behulp van generative AI. Dat doen ze op basis van prompts die de gewenste functionaliteit beschrijven. Zelfs performantievereisten kunnen daar onderdeel van zijn.
  • Op basis van die testen wordt de code gegenereerd, die slaagt voor alle testen.
  • AI zorgt er voor dat alles uitgerold wordt.
  • Vervolgens zorgen manuele testen voor verdere verfijning van de testen, en wordt de code opnieuw gegenereerd en uitgerold.

Naast businessanalisten zullen er nog altijd technische experten nodig zijn om het geheel te overzien, om te beslissen welke AI-systemen en platformen er worden gebruikt, en eventueel in te grijpen waar nodig. Verder is er geen manueel ontwikkelwerk meer nodig, waardoor deze manier van werken de basis kan zijn voor de low-code systemen van de toekomst.

 

Geen softwareontwikkelaars meer nodig?

Gaat AI softwareontwikkeling overnemen? Daar staan we vandaag nog niet, en er zijn ook wel honderden kritische bedenkingen bij te maken. Maar bedrijven zijn vandaag al wel bezig om de strategieën en de nodige platformen daarvoor uit te werken.

Het lijkt dus onvermijdelijk dat AI softwareontwikkeling op termijn gaat vervangen, of er toch in ieder geval voor zal zorgen dat we het anders gaan doen dan we het vandaag doen. Maar betekent dat ook dat softwareontwikkelaars zich zorgen moeten maken dat ze geen job meer zullen hebben?

Het World Economic Forum zegt in een rapport dat AI tegen 2025 maar liefst 85 miljoen jobs kan vervangen door een verschuiving van werk van mensen naar machines, maar tegelijk kunnen er ook 97 miljoen nieuwe jobs worden gecreëerd die voortkomen uit deze verschuiving.

Er is dus geen reden voor ontwikkelaars om zich zorgen te maken. Er zullen ongetwijfeld nieuwe jobs en rollen ontstaan in de economie van de toekomst waarvoor de kennis en kunde van softwareontwikkelaars nuttig zal zijn. Hoe die jobs er dan precies uit zullen zien, zal de toekomst uitwijzen.

AI kan tegen 2025 maar liefst 85 miljoen jobs vervangen door een verschuiving van werk van mensen naar machines, maar tegelijk kunnen er ook 97 miljoen nieuwe jobs worden gecreëerd.

Adapt or die?

De manier waarop we vandaag software ontwikkelen zal morgen anders zijn. Het is belangrijk om je ogen open te houden, de nieuwe evoluties te volgen en augmented AI vandaag al te introduceren in je software development proces.

Los van hoe software in de toekomst ontwikkeld zal worden brengt AI ook nieuwe mogelijkheden om processen te automatiseren en te vervangen, en zelfs om nieuwe diensten op de markt te brengen. Daarom is het cruciaal om als bedrijf vandaag na te denken over het gebruik van AI en onderzoek naar de mogelijkheden ervan op te nemen in de korte- en langetermijnstrategie van je bedrijf. Zo wordt de transitie hopelijk uiteindelijk een natuurlijke evolutie.

Bij jstack doen we aan AI-driven-development en helpen we bedrijven bij het verkennen van de mogelijkheden met AI en het implementeren ervan. Lees er hier meer over of neem contact met ons op voor een vrijblijvend gesprek.

Lees meer blog posts