Christian tror AI vil bety mer jobb, ikke mindre

– En enkel utvikler med en hær av AI-modeller bak seg høres bare ut som en veldig god måte å enda fortere male seg inn i et hjørne på, sier Christian Brevik, CTO i Variant Trondheim.

Christian Brevik er CTO i Variant Trondheim. 📸: Privat
Christian Brevik er CTO i Variant Trondheim. 📸: Privat Vis mer

– Jeg tror hvordan vi jobber kan endre seg, men at det betyr mer å gjøre framfor mindre.

Det svarer Christian Brevik, CTO i Variant Trondheim, på spørsmålet om hvorvidt AI vil bety flere eller færre utviklerjobber i fremtiden.

Brevik sier han har til gode å se at én enkel utvikler – uansett hvor mye tid og kapasitet vedkommende har – klarer å gjøre en bedre jobb enn et team. Hans erfaring er at løsningene som oftest blir mye bedre når en har flere øyne og perspektiver som ser på samme problemstillinger og samme kode.

– En enkel utvikler med en hær av AI-modeller bak seg høres bare ut som en veldig god måte å enda fortere male seg inni et hjørne. Hvis AI-modellen gjør det fortere å skrive koden, så betyr det kanskje mer enn noe annet at en trenger flere utviklere til å passe på at korthuset ikke faller sammen, sier Brevik.

«En trenger flere utviklere til å passe på at korthuset ikke faller sammen.»

Alle bruker AI

– I hvilken grad bruker utviklerne hos dere AI i kodingen?

– Vi gjorde en undersøkelse for ikke så lenge siden som viste at nesten alle utviklere i Variant bruker AI daglig, og da til forskjellige typer oppgaver.

Noen av utviklerne bruker det primært som en sparringspartner eller til å stille spørsmål, som et alternativ til å søke seg fram på Google eller Stack Overflow.

– Mange bruker det også til rutinemessige oppgaver som å generere opp boilerplate-kode, eller skrive tester. Totalt sett handler det ofte om repetitive opppgaver, hvor en ønsker å spare tid.

– Har dere noen spesielle retningslinjer for bruk av AI?

– Vi har vår egen åpne AI-strategi som kan leses på https://strategi.variant.no/strategy/ai, som er vår rettesnor ved bruk av AI på jobb.

– Vi oppfordrer til bruk av AI, og at våre ansatte skal være nysgjerrig på ulike måter en kan bruke AI, sier Brevik.

Det er imidlertid ikke noe mål for konsulentselskapet at alle skal bruke AI til enhver pris. Det skal være korrekt og etisk bruk av AI, som tar hensyn til blant annet personvern, miljøhensyn, sikkerhet og åndsverk.

– Det legger noen føringer på hvilke verktøy som kan brukes, og hvordan de settes opp.

Utviklernes favorittverktøy

Brevik forteller at alle i Variant har tilgang til Github Copilot for Business. Denne er konfigurert slik at den ikke bruker offentlig kode for generering av egen kode.

– På den måten prøver vi sikre at vi ikke introduserer lisensiert kode ute hos våre kunder, som kan bli et juridisk problem. Det samme gjelder den andre veien også, at AI-modellene vi bruker skal være satt opp slik at de ikke lærer på proprietær kode eller sensitiv informasjon.

– Samtidig så ønsker vi ikke å standardisere oss ihjel for å hindre folk i å eksperimentere. Vi velger å ha tillit til at våre ansatte tar gode valg rundt bruk av AI til koding, som ikke lekker kundeinformasjon, og ivaretar kunders policy for lisenser og åndsverk.

Dette er Variant-utviklernes favorittverktøy:

  • Github Copilot brukes mest, sammen med ChatGPT.
  • Både Cursor og Claude er populære blant flere.
  • I tillegg så bruker enkelte Kagi Assistant som et mer privacy-vennlig alternativ.

Brevik mener fordelen med Github Copilot er at den har plugins og extensions til de fleste editorer som utviklerne deres bruker mest.

– Men det merkes at mer helhetlig integrerte editorer som Cursor og Windsurf har en klar fordel når det kommer til endringer som går over flere filer og kodelinjer.

– Ellers kan det nevnes at vi har hatt designere som har brukt Bolt.new og tilsvarende verktøy til enkel prototyping.

AI forstår ikke den virkelige verden

– Er det noen oppgaver som fortsatt bør overlates til mennesker?

– En ting som er ganske sikkert, er at AI-modellen lever ikke (enda) i den virkelig verden. De har ikke irritert seg over en telefonselger, eller vært på gåtur i skogen en helt nydelig solskinnsdag, eller prøvd å være tilstede for en venn som har det vanskelig, sier Brevik.

– Stort sett, så vet de ingenting om verden som vi mennesker lever i, annet enn andrehåndsinformasjon fra milliarder på milliarder av tekstlinjer på internett.

Brevik sier at selv om AI-assistentene er imponerende, og magisk på noen vis, så har de ingen intuisjon om hvordan vi mennesker opplever ting.

– Når vi lager løsninger, så lager vi det som oftest for at det skal gjøre noe nytte for andre mennesker. Kanskje indirekte noen ganger når en sitter dypt nedi systemet, og andre ganger ganske direkte når vi lager brukerflater. Men poenget er i hvert fall at dette krever masse samhandling med, og forståelse av, andre mennesker. Noen ganger for å tolke behov, eller tenke kreativt, eller vite når noe ikke bør gjøres i hele tatt.

«Tiden du bruker på å skrive kodelinjene kommer nok til å kortes ned med AI, men alt annet forbeholdes menneskelig intuisjon og skaperglede.»

Brevik mener at slik AI er i dag, og slik det tilsynelatende kommer til å forbli en stund, har AI som hovedregel å gjøre en variant av akkurat det du har bedt den om. Den leser ikke mellom linjene, og har ikke en magefølelse av hva som er rett, argumenterer han.

– Så vi tror at alt det som faktisk er spennende med utvikling, det kreative, samarbeidet i team, tolke behov, og forstå hva som er viktig. Alt dette er vi mennesker fortsatt bedre på, og det vi kommer til å fortsette holde med på i mange år til.

– Dette betyr alt fra å gjøre arkitekturvalg som ser helheten på tvers av en organisasjon og behov, til å få den modal-animasjonen til å føles skikkelig digg ut.

– Tiden du bruker på å skrive kodelinjene kommer nok til å kortes ned med AI, men alt annet forbeholdes menneskelig intuisjon og skaperglede.

Erfarne utviklere skrur av AI oftere

Brevik forteller at de har sett fra tidligere undersøkelser at det er ganske ulik opplevelse av hvor mye mer produktiv man blir med AI-verktøy.

Blant Variantes utviklere opplever flere økt produktivitet når en skal løse “kjedelige” og generiske oppgaver.

– Da handler det ofte om at en skal gjøre de samme endringene over mange filer, eller at en skal følge samme mønster flere gang når en skal skrive ny kode. For eksempel hvis en skal jobbe med noe boilerplate-kode, eller at en skal skrive mange lignende tester rundt funksjonalitet.

Mange opplever også det som produktivt å skrive kode som ikke er produksjons-kritisk, som for eksempel enkelte shell-scripts for å gjøre dataprosessering/analyse, eller SQL-scripts for å hente ut noe spesifikk data. Dette er ikke noe en nødvendigvis gjør hele tiden, og en har ikke behov for at koden blir perfekt.

– Men det er ikke entydig sånn sett. Vi opplever at utviklere med mindre erfaring har en mer positiv opplevelse av AI-verktøy enn de med mer erfaring – og at de mer erfarne har en noe selektiv tilnærming til bruk.

For de mer erfarne utviklerne kan AI noen ganger oppleves som noe som tar deg ut av flyten, hvis de allerede har en plan på hvordan noe skal gjennomføres.

– Da kan det være at du “kjemper” mot AI-en, og bruke tid på å overbevise den om hvordan noe skal løses.

I undersøkelsene har også flere nevnt at hvis en lener seg for mye på AI, så står en i fare for å bli lat.

– Det kan være en bjørnetjeneste å frarøve seg den “mengdetreningen” av å skrive koden. Derfor har enkelte valgt (i perioder) å skru av visse funksjoner som code completion, men bruker likevel andre aspekter av verktøyene.

AI trenger flinke utviklere

– Er dere bekymret for kodekvalitet nå som AI-verktøy bidrar med mer og mer kode?

– Det som jeg synes har vært interessant fra når vi sammenlignet bruk av tradisjonelle søkemotorer med bruk av AI-chatbots internt i Variant, er at AI oppleves som unøyaktig sammenlignet med eksempelvis Google (som kanskje ikke er overraskende).

– Men samtidig så opplever mange at det å bruke chatbots har en bedre brukeropplevelse i oppgaven med å finne et svar. Og at det oppleves som at en kommer raskere til svaret.

Totalt sett oppleves AI som enklere og raskere i bruk, men at det har lavere kvalitet isolert sett.

– Men hvis du gir et slikt verktøy til noen som har evne til å skille klinten fra hveten (altså flinke utviklere), så kan de potensielt raskere iterere seg frem til god kvalitet ved å forkaste alle de dårlige alternativene.

– Så her tenker jeg at vi må fortsette å lære opp flinke utviklere som kan løse de rette problemene, og ikke de som kan generere opp flest kodelinjer.

Et nyttig område for AI mener han er til å lage interaktive prototyper som en kan forkaste.

– Hvor det å teste ut en hypotese ikke trenger å bety implementasjon av en prototype, men kjappe ideer som kan forkastes enda raskere dersom de ikke treffer. Der trenger vi ikke tenke på langvarig kode eller kodekvalitet, avslutter Brevik.