BearingPoints Karl Byrne, Holly Daly och Fiona Eguare diskuterar effekterna av AI på mjukvaruteknik och hur det har påverkat akademiker i synnerhet.
Den utbredda integrationen av avancerad AI-teknik på tekniska arbetsplatser över hela världen har förändrat arbetslivet för många, men särskilt för mjukvaruteam.
”Under de senaste åren har mjukvaruteknik genomgått några av de mest betydande förändringarna jag har sett i min karriär”, säger Karl Byrne, chef och chef för mjukvaruutveckling på BearingPoint Ireland.
”Medan branschen har navigerat övergången till molnbaserad och DevSecOps, representerar ankomsten av generativ AI en grundläggande förändring i hur vi utformar, bygger och säkrar mjukvara.”
Byrne säger till SiliconRepublic.com att det som slår honom mest är hur bred förändringen är. ”Det är inte begränsat till en specialitet eller ett team – det berör varje del av hur vi levererar mjukvara.”
Han tillägger dock att grunderna för området inte har förändrats, och betonar att stark teknisk förståelse, sunda designprinciper och fokus på säkerhet och kvalitet ”förblir lika viktiga som någonsin”.
”Om något har AI höjt ribban, eftersom ingenjörer nu måste kritiskt utvärdera AI-genererat arbete utöver allt annat de gör,” förklarar han.
För akademiker, säger Byrne, har introduktionen av AI i rollen stimulerat till en ”total utveckling” av dagliga roller.
Ansvarsfull användning
Holly Daly, en teknikanalytiker på BearingPoint Ireland, säger att den växande användningen av AI understryker vikten av att använda dessa verktyg noggrant och ansvarsfullt – särskilt för akademiker och mjukvaruingenjörer i tidiga karriärer.
”Medan AI kan förbättra produktiviteten avsevärt, bör akademiker undvika att bli alltför beroende av det och fortsätta att bygga på de grundläggande färdigheter de har utvecklat”, säger hon. ”AI bör användas som ett stödjande verktyg för att förbättra effektivitet och kvalitet snarare än att bli en ersättning för din egen tekniska förståelse och kritiska tänkande.”
Hon förklarar att det är särskilt viktigt för en akademiker att visa att de förstår lösningarna de levererar och inte bara är beroende av AI.
”Från min egen erfarenhet som akademiker med ett AI-drivet projekt har jag haft möjlighet att arbeta med flera AI-verktyg, testa och rekommendera dem”, säger hon. ”Samtidigt har jag fokuserat på att lära mig för att förbättra mina färdigheter så att jag inte blir beroende av AI. Detta tillvägagångssätt har gjort det möjligt för mig att dra nytta av AI, samtidigt som jag kan arbeta självsäkert på egen hand.”
Daly säger att BearingPoints forskarutbildning anpassade sig till AI-stödd ingenjörskonst genom att exponera akademiker för AI från början och integrera det i både deras utbildning och projektupplevelser.
”Under introduktionen får akademiker exponering för AI genom dedikerade samtal och interaktiva sessioner, inklusive AI-genomgångar som belyser dess möjligheter, begränsningar och potentiella användningsfall. Dessa sessioner hjälper till att bygga en första förståelse för hur AI kan stödja både tekniska och icke-tekniska uppgifter, samtidigt som de förstärker vikten av ansvarsfull användning.”
Fiona Eguare, också en teknikanalytiker på BearingPoint Ireland, säger att processen att integrera AI-teknik i ett ingenjörsteam har flera steg – som börjar med forskning och testning.
”Vi utforskade de tillgängliga verktygen och testade de som verkade vara bäst lämpade för våra behov. Detta gjorde det möjligt för oss att jämföra dem, bekräfta att de passar våra användningsfall och utvärdera fördelarna de erbjöd jämfört med mer traditionella verktyg och metoder”, säger hon.
”När de mest användbara verktygen identifierats delade vi våra resultat i teamet och företaget i stort, och vi integrerade verktygen i projektet där det var lämpligt.”
Eguare säger att även om alla inblandade var entusiastiska och öppna för att införliva AI under hela mjukvaruutvecklingens livscykel, är det mycket ”en pågående ansträngning”.
”När verktygen fortsätter att utvecklas kommer det att vara viktigt att fortsätta att uppgradera och övervaka deras säkerhet, för att säkerställa att de förblir rätt passform för oss.”
AI-drivna förändringar
Både Daly och Eguare säger att inkluderingen av AI-verktyg i deras arbetsliv har haft vissa fördelar.
”En av de tydligaste effekterna för mig”, säger Eguare, ”har varit ökningen av utvecklareffektiviteten. Med hjälp av generativa AI-verktyg kan några av de mer tråkiga och tidskrävande utvecklingsuppgifterna slutföras mycket snabbare.
”Dessa verktyg kan också vara till stor hjälp vid felsökning. Även om de ibland kan missa märket på detta, gör vissa generativa AI-verktyg ett utmärkt jobb med att förstå sammanhanget för projektet och kodbasen, vilket gör dem bra på att lokalisera källan till buggar.”
Daly har upptäckt att uppgifter som att skriva ny kod, omstrukturera befintlig kod och felsökningsfel har blivit ”mycket snabbare och effektivare” med stöd av AI-verktyg.
Förutom fördelarna inser båda också teknikens potentiella fallgropar.
Eguare lyfter fram teknikens cybersäkerhetssårbarheter och säger att det har gjort det lättare för angripare att utnyttja sårbarheter, medan Daly säger att AI har ändrat kraven för rollen.
”Rollen handlar inte längre bara om att skriva kod, utan också om att granska, validera och förbättra AI-genererat arbete”, säger Daly. ”Programvaruingenjörer måste vara mer intuitiva och analytiska när de bedömer om AI-föreslagen kod är korrekt, säker, underhållbar och lämplig för det problem som ska lösas. Som ett resultat är stark teknisk förståelse och kritiskt tänkande viktigare än någonsin.
”Sammantaget, även om AI kan vara en effektiv produktivitetshöjare, är det viktigt att mjukvaruingenjörer inte låter det ta över, eftersom ansvaret fortfarande ligger hos dem för att säkerställa att den slutliga lösningen uppfyller de krav som krävs.”
Mänsklig tillsyn
Det som förblivit konsekvent viktigt med att använda generativa AI-verktyg inom mjukvaruteknik, enligt Eguare, är mänsklig tillsyn.
”När man arbetar som ett team på projekt av större skala och betydelse, är tillsyn avgörande, dess betydelse kan verkligen inte överskattas”, säger hon.
”En brist på tillsyn kan leda till problem, som uppsvälld kod eller allvarliga sårbarheter som glider igenom till produktionen.”
Eguare förklarar att för att ta itu med dessa problem är det viktigt att använda ”högkvalitativa uppmaningar, specificera förväntningar kring kvalitet och säkerhet”, samt testning.
”Vid sidan av traditionella tester kan verktyg som specifikt tar itu med vanliga problem med AI-genererad kod vara särskilt användbara här”, säger hon. ”Vi förlitar oss också på CI/CD-pipelines med automatiserade kvalitets- och säkerhetsskannrar för att upprätthålla konsekventa standarder och fånga upp problem tidigt – särskilt viktigt när AI påskyndar kodändringar.”
En annan fråga hon lyfter fram är att om för mycket av ett program genereras utan mänsklig tillsyn kan det bli ”ganska svårt” för en utvecklare att felsöka eller förstå kodbasen.
”Medan AI också kan hjälpa till med detta, kan det att hålla sig bekant med programmets struktur hjälpa till att säkerställa att koden förblir ren, säker och hög kvalitet när ändringar görs.”
