AI har betydelig påvirket en rekke yrker, og utviklere er intet unntak. Men hva er utviklernes tanker om denne teknologien?
Den økende populariteten til AI er ubestridelig, men det reiser spørsmålet om hvor viktig og relevant AI er for en utvikleres arbeidsflyt. For å kaste lys over dette emnet, undersøkte Stack Overflow over 90 000 utviklere og søkte deres syn på AI. Undersøkelsen ga flere bemerkelsesverdige konklusjoner, som vist nedenfor.
Generelle følelser fra utviklere mot AI
Som nevnt vokser AI i popularitet blant utviklere. Ifølge Stack Overflow 2023-undersøkelse, 70 % bruker allerede eller planlegger å bruke AI-verktøy i utviklingsprosessen, mens 44 % allerede bruker verktøyene nå og 26 % planlegger det.
Synspunktene på AI er forskjellige basert på yrket og erfaringsnivået til utvikleren.
Yrke
SRE-er, sikkerhetseksperter og spillutviklere har ugunstige syn på AI. Dette er mulig på grunn av sikkerhetsproblemer forårsaket av å mate kode eller sensitiv informasjon til AI-systemer.
Det er mindre sannsynlig at utviklere som fokuserer på maskinvare, backend-systemer eller applikasjoner bruker AI-verktøy. Dette er fordi applikasjonene er for komplekse, og AI-verktøy er ikke i stand til å hjelpe dem.
Frontend-utviklere, dataforskere og skyutviklere er blant utviklerne som er mer sannsynlig å bruke AI-verktøy. For frontend-utviklere og backend-utviklere kan AI-verktøy hjelpe ved å tilby kodebiter eller skript for visse funksjoner.
Dataforskere kan utnytte AI for å automatisere databehandling, modelloptimaliseringer og funksjonsvalg.
For skyutviklere kan AI bidra til å optimalisere infrastrukturadministrasjonen ved å automatisere prosesser som ressursallokering, lastbalansering, overvåking og ytelsesjustering.
Erfaring
Utviklere tidligere i karrieren og de som lærer å kode er mer sannsynlig å bruke AI-verktøy, muligens fordi det forbedrer læringshastigheten.
På den annen side er 42,2 % av utviklerne med mer enn 21 års erfaring mindre gunstige for AI. Dette kan være fordi de ønsker å se om hypen rundt AI vil dø ned før de forplikter seg til et bestemt verktøy.
Land
Profesjonelle utviklere fra India (83%), Brasil (78%) og Polen (70%) er blant utviklerne som bruker eller planlegger å bruke AI-verktøy i fremtiden. Dette er sannsynligvis på grunn av den høye veksten av unge utviklere fra disse landene. Det er mindre sannsynlig at utviklere fra Storbritannia, Frankrike og Tyskland bruker AI-verktøy.
Hva er oppgavene utviklere bruker AI til?
Utviklere bruker AI til forskjellige oppgaver, og disse oppgavene varierer mellom utviklere som lærer å kode og profesjonelle utviklere.
Utviklere som lærer å kode bruker stort sett AI for å lære om kodebasen og skrive kode.
Undersøkelsen viste at 86 % av profesjonelle utviklere bruker AI-verktøy for å skrive kode og 54 % bruker dem til å feilsøke koden sin. De er også interessert i å bruke AI-verktøy for å teste, forplikte og gjennomgå kode, distribuere og overvåke applikasjoner og dokumentere kode.
Det er verdt å merke seg at bare noen få utviklere er interessert i å bruke AI for å samarbeide med lagkamerater.
Fordeler med AI for utviklere
AI er gunstig for profesjonelle utviklere så vel som de som lærer å kode. Totalt sett ser 33 % en økning i produktiviteten som den viktigste fordelen med å bruke AI. Verktøy som GitHub Copilot tilbyr funksjoner som kodeforslag, autofullføring og feildeteksjon, noe som kan fremskynde kodeprosessen betydelig.
Profesjonelle utviklere så forbedret produktivitet (37,4 %) som hovedfordelen med høyere effektivitet (27,9 %) og læringshastighet (27,4 %) som sekundært.
For utviklere som lærer å kode, økt læringshastighet (42,4%) og økt produktivitet (41,4%) er hovedfordelene med AI, mens større effektivitet (33,7%) når skriving av kode er en sekundær fordel.
Bare en liten prosentandel av utviklerne ser økt nøyaktighet som en fordel for AI-verktøy. Erfarne profesjonelle utviklere er mer skeptiske ettersom bare 14,1 % anser forbedret nøyaktighet som en fordel med AI sammenlignet med 23,8 % av de som lærer å kode.
Undersøkelsen kategoriserte disse fordelene videre på tvers av ulike utviklertyper. Økt produktivitet var en konstant blant alle utviklertyper.
Stack Overflow undersøkte populariteten til ulike AI-verktøy gruppert mellom AI-søkeverktøy og AI-utviklerverktøy. Ut fra dataene bruker utviklere først og fremst to verktøy, ChatGPT og GitHub Copilot.
Blant AI-søkeverktøyene er ChatGPT det mest populære verktøyet. 79 % av utviklerne som bruker det ønsker å bruke det igjen neste år. Bing AI og Google Bard AI fulgte tett etter i popularitet.
Google har vært vokal om Bards kodeevner, men når sammenlignet med ChatGPT, henger Bard fortsatt etter.
Noen av de andre AI-søkeverktøyene som utviklere rapporterte å bruke er WolframAlpha, Phind og You.com.
GitHub Copilot er den mest populære AI-kodingsassistenten. 70 % + respondenter som jobbet med GitHub Copilot ønsker å jobbe med det igjen. I tillegg ønsker 59 %+ av Tabnine-brukere og 50 % av AWS Code Whisperer-brukere å bruke GitHub Copilot.
Denne langsomme bruken av et bredt utvalg av AI-verktøy kan tilskrives skepsis til AI-nøyaktighet, med bare 2,85 % av utviklerne som har stor tillit til AI-utdata. Denne mistilliten kan tilskrives verktøy som ChatGPT som noen ganger gir feil utdata. Denne utgangen kan, når den brukes, forårsake betydelig skade på en applikasjon. Når du bruker disse verktøyene, er det alltid en god idé å først verifisere utdataene.
Hvordan komme i gang med AI i programvareutvikling
Som programvareutvikler kan du komme i gang med AI ved å inkludere kodegenerering og redigeringsverktøy i utviklingsprosessen. Verktøy som GitHub Copilot og Tabnine foreslår kodebiter basert på konteksten mens du skriver, noe som kan redusere utviklingstiden betydelig. I tillegg er ChatGPT veldig nyttig for å generere verktøyfunksjoner, UI-komponenter og feilsøkingskode. Med de riktige instruksjonene kan du til og med bruk ChatGPT til å lage nettapper.
Fremtiden for AI-assistert programvareutvikling
Selv om mange utviklere er enige om at AI er et nyttig verktøy i arbeidsflyten deres, er det bare noen få som er klare til å stole på AI-verktøy for å kode hele applikasjonen deres. Imidlertid endrer AI absolutt hvordan utviklere bygger applikasjoner. Ved å utnytte AI-verktøy kan utviklere strømlinjeforme ulike utviklingsstadier, inkludert skriving av kode, testing, feilsøking og kodegjennomgang. Som et resultat kan de optimalisere utviklingens livssyklus betydelig.