Kvalitet, code review og godt håndverk

Thomas Leela var med og startet Epinova i 2007. Nå jobber han ikke lengre i kundeprosjekt, men som teknisk fagleder, der det er kollegaene som er kunden!

Som teknisk fagleder understøtter Thomas sine kollegaer i deres daglige arbeid ved å gi dem metodikker som alle jobber etter. – Jeg er med på å utvikle pakker og moduler som gjenbrukes på tvers av prosjekter, forteller Thomas. – Det kan være modul for handlekurv eller kodebibliotek for betalingskomponenter. Modulene skal være robuste, ferdig testet og klare til å nappes inn i et eksisterende eller nytt prosjekt. 

Thomas har holdt på med utvikling i over 20 år. – Det er utrolig mye som har endret seg i faget fra den gang jeg startet. I starten var jeg programmerer og jobbet med det som den gang het EDB. Det var en umoden bransje med kompliserte løsninger, fulle av feil og mangler. Heldigvis har dette endret seg til det bedre. 

Som fagleder jobber Thomas tett med Epinovas forsknings- og utviklingsgruppe

– Min tid går mye til utprøving, eksperimentering, analyse og vurdering av moduler og forskjellige rammeverk. Det er viktig at vi tar fremtidsrettede teknologivalg og bruker rammeverk som ikke er døgnfluer.

Jeg er så privilegert at jeg får utføre mange kodevurderinger fra mine kollegaer daglig. Det lærer jeg enormt mye av.

Et viktig verktøy for å få til dette er “pull requests”. – Det betyr å evaluere hverandres arbeid ved å gå igjennom kode og gi feedback på denne. Nå er codereview sett på som en positiv ting. Jeg tror de fleste mener at de ikke klarer seg uten. Tenk for eksempel på når du er på apoteket og skal hente reseptbelagt medisin. Før du mottar din medisin ber farmasøyten alltid om kontroll fra en kollega for å verifisere innhold, dose etc. Det legger til en ekstra sikkerhet, øker kvaliteten og gir en økt trygghet. Samme som med en codereview fra en kollega; en kvalitetssjekk av din leveranse før du leverer koden til kunden.

En god utvikler er en ingeniør i sjelen

– Det er en person som er genuint opptatt av å løse en utfordring på best mulig måte. Det å være en utvikler betyr å utforske nye ting og være åpen for tilbakemeldinger fra kollegaer. Teknologiutviklingen går fort og du kan ikke dra frem den løsningen du gjorde i fjor uten å ha vurdert hva som er nytt.

God kode skal være lesbar og lett for andre å forstå. Den skal ha enhetstester, gjerne integrasjonstester som gjør at folk tør å røre koden og utvide den.

Kunstig intelligens er fortsatt et hett tema og i rask utvikling om dagen. Thomas synes det er både gøy og imponerende, og samtidig litt skummelt. 

Når det gjelder den menneskelige vurderingen når man skriver kode, mener Thomas at AI er veldig effektivt til å generere «melk og brød» kode som krever lite eller få justeringer. AI kan på sekunder generere det mennesker ville ha brukt timer på. Når det kommer til mer komplekse problemer, blir kvaliteten på generert kode ofte reflektert av detaljeringen man oppgir. I likhet med en personlig assistent kan ikke AI gi bedre svar enn de opplysningene man oppgir. 

Ekspertkompetansen kommer inn når man skal vurdere løsninger AI foreslår. Dette er et veldig interessant tema som man kan skrive bøker om. Thomas smiler og sier at det neste spørsmålet kanskje er om han har en jobb om 5 år. Vi har vært med på en rivende utvikling som allerede har endret, og vil endre verden. Når vi mennesker har lært oss å bruke AI til våre konkrete formål ved å gi tydelige instruksjoner og kontekst, genereres ganske bra kode. Likevel er det, slik Thomas ser det, fremdeles behov for menneskelig ekspertise for å sikre at alt henger sammen. Ofte er det ikke bare en algoritme som skal implementeres. Den skal være mulig å forstå av både mennesker og AI. Dette kan man oppnå med automatiserte tester, god lesbarhet av koden, og det viktigste etter hans syn: at koden følger kjente programmeringsprinsipper som f.eks. SOLID. 

Bruken av Copilot AI har også endret seg. Thomas bruker AI til mye mer enn koding på jobb. Selv om Copilot nå lar deg velge hvilken modell du vil bruke, som OpenAI, Claude Code eller mange andre, bruker han AI til kreative hjemmeprosjekter, tekniske råd om oppussing og mye mer. 

Fremtidsvisjoner og lidenskap for teknologi

Thomas utforsker kontinuerlig grensene mellom digital og fysisk teknologi. Hjemme har han en CNC-fres, en maskin som kan sammenlignes med en 3D-printer, men som fjerner materiale fra en stor klump i stedet for å legge til lag for lag. 

– Jeg eksperimenterer ved å skrive kode for å beregne vinkler og hvordan best få maskinen til å lage deler for meg som deretter kan settes sammen. Jeg jobber med prosjekter som går fra digitalt til fysisk, hvor jeg kan analysere og programmere løsninger som deretter blir til virkelige produkter. Det å kunne styre verktøy med kode gir meg stor glede, og jeg ser frem til å bidra til innovative prosjekter hos Epinova og NOVA. 

Bli kjent med flere av oss