Hoe passen afgestudeerden in software-engineering zich aan aan AI?

Vooruitgang op het werk

Karl Byrne, Holly Daly en Fiona Eguare van BearingPoint bespreken de effecten van AI op software-engineering en hoe deze in het bijzonder afgestudeerden heeft beïnvloed.

De wijdverbreide integratie van geavanceerde AI-technologie in technische werkplekken over de hele wereld heeft het arbeidsleven voor velen, maar vooral voor softwareteams, veranderd.

“De afgelopen jaren heeft software-engineering enkele van de belangrijkste veranderingen ondergaan die ik in mijn carrière heb gezien”, zegt Karl Byrne, directeur en hoofd softwareontwikkeling bij BearingPoint Ireland.

“Terwijl de industrie de transitie naar cloud native en DevSecOps heeft doorlopen, vertegenwoordigt de komst van generatieve AI een fundamentele verandering in de manier waarop we software bedenken, bouwen en beveiligen.”

Byrne vertelt SiliconRepublic.com dat wat hem het meest opvalt, is hoe breed de verandering is. “Het beperkt zich niet tot één specialisme of team; het raakt elk onderdeel van de manier waarop we software leveren.”

Hij voegt er echter aan toe dat de fundamenten van het gebied niet zijn veranderd, waarbij hij benadrukt dat een sterk technisch inzicht, gedegen ontwerpprincipes en een focus op veiligheid en kwaliteit “net zo belangrijk blijven als altijd”.

“AI heeft de lat in ieder geval hoger gelegd, omdat ingenieurs nu het door AI gegenereerde werk kritisch moeten evalueren, naast al het andere dat ze doen”, legt hij uit.

Voor afgestudeerden, zegt Byrne, heeft de introductie van AI in de functie geleid tot een ‘totale evolutie’ van de dagelijkse rollen.

Verantwoord gebruik

Holly Daly, een technologieanalist bij BearingPoint Ireland, zegt dat het groeiende gebruik van AI het belang benadrukt van het zorgvuldig en verantwoord gebruiken van deze tools – vooral voor afgestudeerden en beginnende software-ingenieurs.

“Hoewel AI de productiviteit aanzienlijk kan verbeteren, moeten afgestudeerden voorkomen dat ze er al te afhankelijk van worden en moeten ze blijven voortbouwen op de fundamentele vaardigheden die ze hebben ontwikkeld”, zegt ze. “AI moet worden gebruikt als een ondersteunend hulpmiddel om de efficiëntie en kwaliteit te verbeteren, in plaats van een vervanging te worden voor je eigen technische kennis en kritisch denken.”

Ze legt uit dat het vooral belangrijk is voor een afgestudeerde om aan te tonen dat hij de oplossingen begrijpt die hij levert en niet alleen afhankelijk is van AI.

“Vanuit mijn eigen ervaring als afgestudeerde die aan een AI-gestuurd project werkte, heb ik de kans gehad om met verschillende AI-tools te werken, deze te testen en aan te bevelen”, zegt ze. “Tegelijkertijd heb ik de nadruk gelegd op lessen om mijn vaardigheden te verbeteren, zodat ik niet afhankelijk word van AI. Deze aanpak heeft ervoor gezorgd dat ik van AI heb kunnen profiteren, terwijl ik met vertrouwen zelfstandig kan werken.”

Daly zegt dat het graduate-programma van BearingPoint zich heeft aangepast aan AI-ondersteunde engineering door afgestudeerden vanaf het begin bloot te stellen aan AI en dit te integreren in zowel hun training als projectervaringen.

“Tijdens de onboarding krijgen afgestudeerden kennis met AI door middel van speciale lezingen en interactieve sessies, waaronder AI-walkthroughs waarin de mogelijkheden, beperkingen en potentiële gebruiksscenario's worden benadrukt. Deze sessies helpen bij het opbouwen van een eerste inzicht in hoe AI zowel technische als niet-technische taken kan ondersteunen, terwijl het belang van verantwoord gebruik wordt versterkt.”

Fiona Eguare, tevens technologieanalist bij BearingPoint Ireland, zegt dat het proces van het onboarden van AI-technologie in een technisch team meerdere stappen kent – ​​te beginnen met onderzoek en testen.

“We hebben de beschikbare tools onderzocht en de tools uitgeprobeerd die het beste bij onze behoeften leken te passen. Hierdoor konden we ze vergelijken, bevestigen dat ze bij onze gebruiksscenario's passen en de voordelen evalueren die ze boden ten opzichte van meer traditionele tools en methoden”, zegt ze.

“Toen de nuttigste tools eenmaal waren geïdentificeerd, deelden we onze bevindingen met het hele team en het bredere bedrijf, en integreerden we de tools waar nodig in het project.”

Eguare zegt dat hoewel alle betrokkenen enthousiast waren en open stonden voor het integreren van AI gedurende de gehele levenscyclus van softwareontwikkeling, het in feite “een voortdurende inspanning” is.

“Naarmate de tools zich blijven ontwikkelen, zal het essentieel zijn om de vaardigheden te blijven verbeteren en de beveiliging ervan te monitoren, om ervoor te zorgen dat ze bij ons blijven passen.”

AI-gedreven veranderingen

Zowel Daly als Eguare zeggen dat de opname van AI-tools in hun beroepsleven enkele voordelen heeft gehad.

“Een van de duidelijkste effecten voor mij”, zegt Eguare, “is de toename van de efficiëntie van ontwikkelaars. Met de hulp van generatieve AI-tools kunnen sommige van de saaiere en tijdrovende ontwikkelingstaken veel sneller worden voltooid.

“Deze tools kunnen ook een grote hulp zijn bij het debuggen. Hoewel ze soms de plank misslaan, doen sommige generatieve AI-tools uitstekend werk in het begrijpen van de context van het project en de codebase, waardoor ze uitstekend zijn in het opsporen van de bron van bugs.”

Daly heeft ontdekt dat taken zoals het schrijven van nieuwe code, het refactoren van bestaande code en het debuggen van fouten “veel sneller en efficiënter” zijn geworden met de ondersteuning van AI-tools.

Naast de voordelen onderkennen beide ook de potentiële valkuilen van de technologie.

Eguare benadrukt de cybersecurity-kwetsbaarheden van de technologie en zegt dat het het voor aanvallers gemakkelijker heeft gemaakt om kwetsbaarheden te misbruiken, terwijl Daly zegt dat AI de vereisten van de rol heeft veranderd.

“De rol gaat niet langer alleen over het schrijven van code, maar ook over het beoordelen, valideren en verbeteren van door AI gegenereerd werk”, zegt Daly. “Software-ingenieurs moeten intuïtiever en analytischer zijn bij het beoordelen of de door AI voorgestelde code correct, veilig, onderhoudbaar en geschikt is voor het probleem dat wordt opgelost. Als gevolg daarvan zijn sterk technisch inzicht en kritisch denken belangrijker dan ooit.

“Hoewel AI een effectieve productiviteitsverhoger kan zijn, is het in het algemeen belangrijk dat software-ingenieurs het niet de overhand laten krijgen, omdat de verantwoordelijkheid nog steeds bij hen ligt om ervoor te zorgen dat de uiteindelijke oplossing aan de vereiste normen voldoet.”

Menselijk toezicht

Wat volgens Eguare altijd belangrijk blijft bij het gebruik van generatieve AI-tools in software-engineering, is menselijk toezicht.

“Als je als team aan projecten van grotere schaal en betekenis werkt, is toezicht essentieel; het belang ervan kan eigenlijk niet genoeg worden benadrukt”, zegt ze.

“Een gebrek aan toezicht kan tot problemen leiden, zoals opgeblazen code of ernstige kwetsbaarheden die doorsijpelen naar de productie.”

Eguare legt uit dat het, om deze problemen aan te pakken, belangrijk is om “prompts van hoge kwaliteit te gebruiken, die de verwachtingen rond kwaliteit en veiligheid specificeren”, en om te testen.

“Naast traditioneel testen kunnen tools die specifiek veelvoorkomende problemen met door AI gegenereerde code aanpakken, hier bijzonder nuttig zijn”, zegt ze. “We vertrouwen ook op CI/CD-pijplijnen met geautomatiseerde kwaliteits- en beveiligingsscanners om consistente normen af ​​te dwingen en problemen vroegtijdig op te sporen – vooral belangrijk wanneer AI codewijzigingen versnelt.”

Een ander probleem dat zij benadrukt is dat als er te veel van een programma wordt gegenereerd zonder menselijk toezicht, het voor een ontwikkelaar ‘behoorlijk moeilijk’ kan worden om de codebase te debuggen of te begrijpen.

“Hoewel AI hierbij ook kan helpen, kan het vertrouwd blijven met de structuur van het programma ervoor zorgen dat de code schoon, veilig en van hoge kwaliteit blijft als er wijzigingen worden aangebracht.”