Het is een van de grootste buzzwoorden van dit moment; artificial intelligence (ai). En niet geheel onterecht. Artificial intelligence heeft namelijk verstrekkende gevolgen voor organisaties. Ook binnen it en softwareontwikkeling speelt het een belangrijke rol in nieuwe ontwikkelingen. In een opiniestuk stelt Robert C. Wolcott, professor innovations aan de Kellog School of Management zelfs dat programmeertalen op termijn volledig zullen verdwijnen.
Programmeertalen zijn de huidige manier voor mensen om een computer te besturen. Ze vormen een middel waarmee computers kunnen denken in logische termen en deze termen begrijpelijk kunnen maken voor de gebruiker. Ook technologieën zoals machine learning en ai-oplossingen programmeren zichzelf niet. Ze worden door ontwikkelaars gemaakt in de moderne programmeertalen, variërend van Javascript en Python tot C ++. Het leren van specifieke programmeertalen is hierdoor nog steeds een essentieel onderdeel van de loopbaan van een softwareontwikkelaar. Hierin is echter wel een verschuiving gaande.
Het beheersen van een programmeertaal kan je helpen bij het begrijpen van de data die in de variabelen ligt opgeslagen, maar daarmee heb je nog niet automatisch volledige expertise en begrip op het gebied van de grondbeginselen van de software en hoe de fundering van deze software eruit moet zien. De echte uitdaging is het begrijpen van de algoritmen die de kaders van de software definiëren. Oftewel, het daadwerkelijk beheersen van een bepaalde programmeertaal voor de huidige studenten heeft minder prioriteit dan voorheen. De focus binnen automatisering verschuift richting het bestuderen van algoritmes en wiskunde. Daarnaast kan het geen kwaad om extra tijd te besteden aan programma’s zoals Tensorflow en Spark. Zij vormen namelijk de bouwstenen van de nieuwste en meest geavanceerde machine learning en ai-oplossingen.
Softwareontwikkelaar overbodig?
Het idee dat mensen op termijn vervangen gaan worden door geavanceerde technologieën is niet nieuw. ‘Veel belangrijke innovaties in het verleden zijn in verband gebracht met een periode van tijdelijk banenverlies, gevolgd door herstel. iI zal waarschijnlijk dezelfde route volgen’, aldus Svetlange Sicular, vice-president bij Gartner.
Ontwikkelaars schreven eerder softwareprogramma’s die ook weer andere softwareprogramma’s konden genereren. Dit wordt ook wel code-generatie genoemd. In het verleden gebeurde dit door ‘next generation’ programmeertalen zoals tweede-, derde-, vierde- of zelfs vijfde-generatie talen. De nieuwste innovaties op het vlak van machine learning en artificial intelligence verschillen hier niet veel van. De ontwikkeling in deze technologieën leiden naar alle waarschijnlijkheid tot het ontstaan van meer ontwikkeltaken. ‘AI zal de productiviteit van veel banen verbeteren. Posities van midden en laag niveau zullen verdwijnen, maar er zullen ook nieuwe posities ontstaan voor hoogopgeleid-, management- maar ook instapniveau’, aldus Sicular. Volgens Gartner zal ai 2,3 miljoen banen creëren in 2020, terwijl er 1,8 miljoen banen verdwijnen.
Om zowel de basis van technologieën als de basis van software te blijven ontwikkelen, moeten mensen doorgaan met het trainen en beheersen van de basisvaardigheden die ons in staat stellen om machines te verbeteren. Oftewel, softwareontwikkelaars zullen een of meerdere programmeertalen moeten blijven beheersen.
Toekomstvisie
Op de lange termijn is er echter zeker een plek voor machine learning en artificial intelligence in het schrijven en ontwikkelen van software. Deze ontwikkeling zal softwareontwikkelaars op termijn meer tijd opleveren waardoor zij creatiever en innovatiever kunnen zijn.
Voor nu moet er vooral overwogen worden de rol van de ontwikkelaar aan te vullen met machine learning en ai, en deze niet te vervangen door deze technologieën. Computers versterken namelijk de intenties van de mens. Dit is de reden waarom er voorzichtig moet worden omgegaan met de inzet van technologieën als artificial intelligence en machine learning bij het programmeren van software. We zijn op dit moment nog niet op het punt waarbij we al volledig op artificial intelligence kunnen vertrouwen om software te ontwikkelen. Deze trend is nog nauwelijks aan de oppervlakte geraakt. Het idee dat artificial intelligence software gaat schrijven en de softwareontwikkelaar daarmee overbodig wordt, is voorlopig dus nog toekomstmuziek.