Hvorfor ble du utvikler? 👶
Som barn var stefaren min opptatt av at jeg skulle bli interessert i datamaskiner, da han hadde inntrykk av at dette var noe alle måtte kunne når de ble eldre, men det var ikke noe jeg var interessert i med en gang.
På barne- og ungdomsskolen begynte jeg å interessere meg for spill, på Gameboy, Nintendo og PC. Da jeg gikk på videregående skole spilte jeg mye Heroes of Newerth, og begynte å eksperimentere med å programmere enkle mods til spillet.
Det var da jeg innså at det jeg drev med på fritiden faktisk kunne være en karrierevei, og dette ledet meg til å velge å studere utvikling videre.
«Det var da jeg innså at det jeg drev med på fritiden faktisk kunne være en karrierevei.»
Hva jobber du med? 💪
Til daglig jobber jeg med innloggingsløsningen (Identity Platform, IDP) for Coop sine kunder. Dette er systemet som lar deg logge inn på medlemsappen, coop.no, obs.no, obsbygg.no, og hos Coop-partnere som Å Strøm og ladeselskapet Mer.
Produktet vårt leverer autentisering og autorisering gjennom OAuth 2 og OIDC, og det brukes både av kunderettede tjenester og for kryss-kommunikasjon mellom interne applikasjoner.
Selv om vi benytter en ID-as-a-Software-løsning, har vi også bygget mye egen kode på toppen, primært i TypeScript og Go (min favoritt). Vi har en del mikrotjenester som kommuniserer med REST og gRPC, og kjører i Google Cloud Platform, på Coop's egen platform bygget på Kubernetes.
En stor fordel med systemet jeg jobber på, er at vi er det eneste teamet som trenger å håndtere komplekse ting som passord, tofaktorautentisering og BankID. Dette lar resten av organisasjonen fokusere på å utvikle gode API-er og optimalisere brukeropplevelser.
Hvordan ser uka ut for deg? 📆
Siden jeg bor et stykke unna Oslo, hvor Coop har sitt hovedkontor, jobber jeg for det meste fra hjemmekontor.
Jeg pendler vanligvis én dag i uken, en togtur på to timer hver vei (så lenge det ikke er buss-for-tog – grøss). Tiden på toget bruker jeg som regel til å få gjort litt offline-jobbing.
Teamet mitt har ett fast møte hver dag, hvor vi diskuterer alt fra jobbrelaterte oppgaver til mer uformelle ting, som hvilken kaffemaskin som er den beste. Mye av den daglige kommunikasjonen skjer ellers gjennom Slack-meldinger, ad-hoc Slack-huddles, og pull-requests på GitHub. Vi har også noen møter med ulik frekvens, hvor alle ingeniørene i avdelingen deltar, og fulle dager hvor vi jobber sammen med å betale ned teknisk gjeld.
Hva er det neste du har lyst til å lære deg eller bli bedre på? 🧠
På jobben ønsker jeg å bli enda bedre på å lage observerbare tjenester, spesielt når det gjelder å utnytte verktøy som traces, metrics og logs for å få bedre innsikt i tjenestenes tilstand. Dette vil gjøre det lettere å spore ytelsesregresjoner og andre problemer i tjenestene.
Privat har jeg lyst til å lære mer om hjemmesnekring og oppussing. Det siste prosjektet mitt har vært å bytte ut noen vinduer i huset, og jeg synes det er utrolig givende å jobbe med noe praktisk og håndfast.
Hva er den mest utfordrende situasjonen du har stått i? 👀
Det mest utfordrende jeg har stått i må være den bratte læringskurven i starten.
Etter noen år i en relativt rolig inhouse utviklings-jobb gikk jeg over til konsulentbransjen, og ble raskt "kastet ut" til en kunde hvor jeg fikk i ansvar å sette opp hele infrastrukturen fra bunnen av.
Dette betydde at jeg måtte lære meg Kubernetes, Terraform, Go, gRPC og Google Cloud på kort tid! Selv om det var utfordrende, endte resultatet opp med å bli bra, og jeg er stolt over at jeg klarte å mestre denne tech-stacken – som jeg fortsatt jobber med i dag.
Hva ser du på som bransjens største utfordring akkurat nå? 🔭
Jeg mener den største utfordringen i bransjen akkurat nå er at vi er for dårlige til å si "nei":
- Vi må bli flinkere til å si nei til ledere som vil integrere AI i alt mulig, uten å vurdere om det faktisk er nødvendig eller hensiktsmessig.
- Vi må også si nei til utviklere som ønsker å løse problemer raskt og ustrukturert, bare for å komme seg videre til neste oppgave.
- Og kanskje viktigst av alt, må vi lære å si nei til oss selv – spesielt når det kommer til å jobbe utover normal arbeidstid.
Hva er ditt beste tips til andre utviklere? 🤖
Mine tips:
- Lær deg å bli venn med terminalen, lær deg om UNIX-pipes og bash-scripting!
- Neste evolusjon av gRPC er ConnectRPC, og gir deg typesikkerheten og kode-genereringen til gRPC, men likevel mulig å kalle med en enkel curl-kommando.
- For å jobbe med programmer som må være på forskjellige versjoner (f.eks. spesifikk Node-versjon, python-versjon, Terraform-versjon, etc.), anbefaler jeg asdf. Den håndterer automatisk switching til den korrekte versjonen for mappen du står i.