AI betyr ikke slutten for juniorutvikleren.
AI kan løse oppgaven en nyutdannet tidligere brukte flere dager på. Men hva skjer med erfaringen som ble bygget underveis? Mens bransjen diskuterer hvor mange utviklere vi trenger, arbeider Dr. Dean von Schoultz med hvordan de neste skal bli gode. Her prøver vi ikke å redde den gamle juniorrollen, vi skaper en ny.
I flere år har AI-debatten handlet om hvilke utviklere vi vil trenge. Nå handler den også om hvor mange. Det finnes ikke noe sikkert svar. Som et selskap som ansetter og trener unge utviklere, har vi all grunn til å håpe at svaret er «mange». Samtidig må vi ta inn over oss hvor mye verktøyene har endret seg.
«For et år siden måtte jeg styre hvert eneste steg for å få brukbar kode ut av en agent. Nå skriver den kode jeg kunne vært komfortabel med å sette i produksjon. Det er en større endring enn jeg hadde forventet, og jeg synes ingen i bransjen bør late som noe annet», sier Dr. Dean von Schoultz, foreleser hos Loop Academy.
Uansett hvor mange utviklere bedriftene vil trenge, mener vi at de som begynner nå, trenger en annen start.
Ingen begynner med blanke ark
En juniorutvikler begynner gjerne i en kodebase med flere års beslutninger ingen har dokumentert. En sikkerhetsgjennomgang venter mot slutten av sprinten, andre team er avhengige av et grensesnitt som må fortsette å fungere, og brukerne merker det hvis noe går galt. Å få en ny løsning til å passe inn krever at utvikleren vet hva som må testes, hvilke spørsmål som må stilles og hva som kan gå galt.
«Spørsmålet er om personen som sitter ved siden av agenten, kan forklare om dette er riktig kode for akkurat dette systemet, med den risikoen det innebærer», sier von Schoultz.
Mye av denne forståelsen kom tidligere gjennom årevis med programmering. Når verktøyene skriver mer av koden, følger ikke den samme læringen automatisk med. AI kan gi en junior svaret eller hjelpe junioren med å forstå det. Hvilken mulighet man velger, igjen og igjen gjennom de første årene, får betydning for om man bygger egen vurderingsevne eller fortsetter å lene seg på verktøyets.
Vi lærte av å stå fast
Når du først møtte AI-verktøyene, kan ha betydning for hvordan du bruker dem. Utviklere som lærte faget før verktøyene kom, brukte år på å lese stack traces, gjøre feil og skrive om kode de trodde var ferdig. For dem kan AI gjøre et arbeid de allerede forstår, raskere.
«Jeg hadde nesten 20 år med prøving og feiling bak meg før disse verktøyene fantes. Det er derfor jeg vet hva jeg vil bruke dem til, og hva jeg ikke vil bruke dem til», sier von Schoultz.
De som møtte AI underveis i studiene, rakk å få noe av den samme erfaringen. De som har verktøyene tilgjengelig fra første semester, lærer under andre forutsetninger. Det er dette Dean forbereder undervisningen på. Når det er mulig å få kode til å fungere uten å forstå hvorfor, kan ikke et fungerende resultat være målet. Derfor gjør vi det bevisst vanskeligere: oppgaver som er for store til å bli ferdige, kode de må overta fra andre, AI-arbeid som skal etterprøves i stedet for å stoles på, og valg som må forsvares foran folk som stiller kritiske spørsmål. Poenget er ikke at kandidatene skal unngå AI, men at de skal kunne vurdere det den gir dem.
Vis oss hvordan du kom frem til svaret
Hos Loop Academy ser vi etter sterke akademiske resultater, analytisk kapasitet, teknisk nysgjerrighet og evne til å lære raskt. Vi vil finne kandidater som har lagt arbeid i å bli gode, og som har kapasitet og ambisjoner til å komme langt videre. I intervjuene ber vi dem gå gjennom noe de har bygget: en bachelor- eller masteroppgave, et eget prosjekt eller en oppgave fra den første jobben. Mest tid bruker vi på valgene.
Hvorfor valgte du denne fremgangsmåten?
Hvilke alternativer vurderte du og forkastet?
Hva gjorde du da den første løsningen ikke holdt?
De som skiller seg ut, kan forklare resonnementene sine, også der de tok feil. Vi vil også forstå hvordan de har lært og brukt AI. Det forteller oss hvilket utgangspunkt de har, og hvordan vi kan utfordre dem videre. Interessen for teknologi må ha blitt til kunnskap de kan bruke og gjøre rede for.
«Jeg vil heller ansette noen som kan forklare hvor de tok feil, enn noen som aldri oppdaget det», sier von Schoultz. Les mer om hvordan det fungerer her.
Vi legger utfordringene inn i undervisningen
Versjonskontroll, testing, lesbar kode, designprinsipper og arbeid i eldre kodebaser er fortsatt sentralt. Dean legger stadig mer vekt på at kandidatene skal kunne bruke dette til å vurdere kode, i tillegg til å skrive den selv. Et design kan se fornuftig ut i dag, uansett hvem eller hva som har laget det. Prinsipper som SOLID får praktisk betydning når du må forklare hvorfor det samme designet kan bli vanskelig å jobbe med om seks måneder.
Kandidatene lærer å stille spørsmål ved agentens arbeid. De undersøker testene og kodeendringene fremfor å stole på agentens egen beskjed om at oppgaven er løst. Når et prosjekt tillater AI, gjør vi oppgaven større, og teamene dokumenterer hvor verktøyene har påvirket beslutningene. Du får bruke verktøyene, men må fortsatt kunne stå for løsningen.
I systemdesign er utfordringene bevisst lagt inn. Mot slutten av opplæringen arbeider kandidatene i team med en oppgave som er for stor til at de rekker å gjøre alt. Noen overtar kode fra andre og må dokumentere hvordan den fungerer før de får endre den. Team som bruker forskjellige programmeringsspråk, må bli enige om en felles grensesnittkontrakt. Til slutt forsvarer de prioriteringene og de tekniske valgene sine foran folk som stiller kritiske spørsmål.
Opplæringen tar utgangspunkt i det kundeteamene trenger, og behovene kan være svært forskjellige. Noen ser AI-assistert utvikling som avgjørende. Andre arbeider under sertifiseringskrav som ikke tillater AI-generert kode. Som en teamleder hos en kunde som utvikler sikkerhetskritiske systemer, uttrykte det: AI skal heve kvaliteten på det selvstendige arbeidet, ikke erstatte selvstendig tenkning.
Så kommer produksjon
Tre måneder med opplæring etterfølges av tolv måneder i et kundeteam. Da møter kandidatene systemer som allerede er i produksjon, og kolleger som er avhengige av at arbeidet holder mål. Våre kandidater har gått inn i team hos blant andre Telenor, Storebrand, Kongsberg Discovery, Kongsberg Maritime, Indra og DN Media Group. Det er her vurderingsevnen de har trent på, skal brukes i det daglige arbeidet.
Forberedelsen til det starter lenge før oppdraget, og det er derfor ikke alle kandidater får helt lik opplæring. En kompetansekartlegging gir oss et detaljert bilde av kjernekompetansen rollen krever, men noe av arbeidshverdagen rundt den blir først synlig når man spør noen som gjør jobben. Derfor fortsetter vi å sjekke, både før klassen starter og underveis. Midt i ett av kullene viste en samtale med en Loop-konsulent i en lignende rolle at mye av hverdagen handlet om å logge seg inn på Linux-servere via SSH, skrive Bash-skript og feilsøke systemer i drift – ingenting stakken for rollen la opp til, men krevende å lære seg fra bunnen av. Vi bygde det inn i kandidatens opplæring, slik at det ikke blir det første vedkommende må lære i full jobb
Det alle teamene etterspør
Noen av kundene våre ønsker juniorer som jobber effektivt med agenter. Andre kan ikke sette en eneste linje agentskrevet kode i produksjon. Begge ber oss om det samme: noen som kan forklare hvorfor koden er riktig.
Det er dette vi trener kandidatene på, og vi fortsetter å utvikle undervisningen i takt med at teknologien og teamenes behov endrer seg.
Samtidig vet vi at det ikke bare er nyutdannede som trenger en slik start. Mange har allerede begynt i sin første jobb, men oppdager etter hvert at de ønsker å gå i en annen retning. Kanskje har interessen for AI og maskinlæring vokst, kanskje ønsker de å jobbe tettere på systemutvikling, eller kanskje savner de et miljø hvor de får utfordret og videreutviklet den tekniske kompetansen sin.
For oss er ikke det viktigste om du fortsatt studerer eller allerede har begynt arbeidslivet. Vi er opptatt av hva du kan, hva du har lært, og hvor langt du har potensial til å nå.
Neste klasse starter i januar. Vi søker kandidater innen Fullstack webutvikling, AI/ML og C++/Embedded. Du blir fast ansatt i Loop Academy fra første dag, med lønn gjennom både opplæringen og oppdraget. Enten du snart er ferdig med studiene eller allerede har begynt i din første utviklerjobb, vil vi gjerne høre fra deg.
Vis oss noe du har bygget. Fortell hvor det gikk galt, hva du lærte, og hva du gjorde videre. Se våre stillinger her
Foretrekk oss i Google Discover
Ved å legge oss til som foretrukket kilde i Google vil du blant annet få opp flere av sakene våre i Google Discover. Tusen takk for støtten!