- Føler meg mer produktiv på kontoret

Ukas Koder Christian Myhre Lundheim i PowerTech Engineering reiser fortsatt på jobb.

Christian Myhre Lundheim er utvikler og team-leder i PowerTech Engineering. Selv om mange av kollegene hans tar hjemmekontor for tida, reiser Lundheim aller helst på kontoret - med trygg avstand til kollegene sine. 📸: Privat
Christian Myhre Lundheim er utvikler og team-leder i PowerTech Engineering. Selv om mange av kollegene hans tar hjemmekontor for tida, reiser Lundheim aller helst på kontoret - med trygg avstand til kollegene sine. 📸: Privat Vis mer

Hvordan begynte du med koding? 👶

Startet som en fascinert 12-åring som var mer opptatt av hvordan spillene fungerte enn å spille dem.

Etter diverse Pokemon-hjemmesider startet jeg med Pascal i Borland Delphi. Da jeg var 13 år skrev jeg et program som het THPS3 C.U; en slags pakkemanager for mods for Tony Hawks Pro Skater 3.

Senere i ungdomstiden kodet jeg mye av Multi Theft Auto: San Andreas (MTA:SA), som er skrevet i C++. Det gikk ut på å utvide singleplayer-spillet Grand Theft Auto: San Andreas til online multiplayer, med støtte for språket LUA.

Husker jeg var veldig stolt da vi slapp v1.0 og flere tusen spillere var inne samtidig. Det er fortsatt folk som jobber med det, ser jeg.

Hva jobber du med akkurat nå? 🛠️

Jeg jobber full-stack med Zaphire, som er skyløsningen til PowerTech Engineering. Den går ut på å koble bygninger og tekniske anlegg opp til skyen på en trygg og skalerbar måte. Utfordrende og gøy.

Det er store mengder data som skal organiseres; terrabytes med historisk data og oppkobling mot millioner av sanntidsmålinger. Jeg har lagt mye arbeid i tjenestene for å klare 2-veis responstid på under 100-200 ms helt fra brukeren og ut til anlegget, og å styrke driftssikkerheten, da vi trenger tilnærmet 100 prosent oppetid, også under oppgraderinger.

Skykostnadene må holdes lave og det er lagt opp til å nesten driftes av seg selv, så vi kan bruke 98 prosent av tiden vår på koding.

«Ofte overkill, vil nok noen si, men vi har spart utrolig mye tid på det.»

Jobber akkurat nå med litt backlog, som 2-faktor autentisering og diverse bugs. Til uka skal jeg fortsette med analyse-verktøyene som skal gi brukeren bedre oversikt over bygningsmassene sine uten å måtte klikke seg mer rundt enn nødvendig.

Vi har tatt endel tradisjonelle teknologivalg, som å kjøre alle tjenestene våre i Kubernetes, med tjenester skrevet i ASP.Core 3.1 (C#). Men vi har også tatt endel utradisjonelle valg, som å droppe Javascript-en i store deler av front-end, og benytte Bridge.NET, en C# til Javascript-transpiler.

Ofte overkill, vil nok noen si, men vi har spart utrolig mye tid på det. Spesielt under utviklingen av et online "IDE/tegneverktøy" som benyttes av brukere til å tegne skjematiske tegninger med sanntidsvisning av måleverdier og data. Litt i samme gata som Office 365 Online, egentlig, men ligner mer på en blanding av Visio og Visual Studio i webformat.

Pulten til Christian Myhre Lundheim i PowerTech Engineering. 📸: Privat
Pulten til Christian Myhre Lundheim i PowerTech Engineering. 📸: Privat Vis mer

Hvordan ser en typisk arbeidsdag ut for deg? ☕

Vi har alltid et mandagsmøte, hvor vi finner ut hva vi skal prioritere og oppsummere arbeidsoppgavene. Ellers er det få faste møter, og vi bruker mest mulig tid på koding.

Jeg er heldig og har et godt arbeidsmiljø med svært dyktige mennesker, og vi er ganske omforent om retningene vi ønsker å gå. Det er korte linjer, og det er ingen lange beslutningsprosesser, så behov for møter blir derav mindre. Alle er svært motivert av at vi jobber med løsninger som er helt i front av hva som er normen i vår del av bransjen.

Angående hjemmekontor, så har jeg mulighet for det noen dager, men jeg foretrekker å sitte på jobben. Selv om det er 20 minutter med bil, er det på jobb jeg føler meg mest produktiv og er i "jobb-modus".

Nå i koronatida er det flere som kjører hjemmekontor enn vanlig, men det er ikke påkrevd. Vi som fortsatt er på kontoret følger myndighetenes råd, og holder to meter avstand til hverandre, holder god hygiene og begrenser møter eller arbeid ute hos kundene til det aller mest nødvendige.

Hva har du lyst til å lære mer om framover? 📚

Kan tenke meg å lære Xamarin bedre. Eller så kommer jeg til å se på bedre løsninger for å rulle ut software i stor skala til mange enheter fra skyen.

Hvilke konkrete verktøy klarer du deg ikke uten? 😻

  • Jeg trives veldig godt i Azure med Terraform.
  • Bruker GitLab til private repo med CI/CD.
  • Jeg sitter fortsatt fast i Windows-skrivebordsmiljøet, men er avhengig av Ubuntu 18.04 Linux subsystem i Windows.
  • Notepad++ til JSON formatering og tekstoperasjoner.
Lokalene rundt Christian Myhre Lundheim i PowerTech Engineering. 📸: Privat
Lokalene rundt Christian Myhre Lundheim i PowerTech Engineering. 📸: Privat Vis mer

Hva er det verste du kan bli spurt om på jobben? 🔥

Møter er kjedelig, så det prøver jeg å ikke bruke så mye tid på.

Når det gjelder teknologier jobber jeg heldigvis i et ferskt selskap uten så mye bagasje. Vi er flinke til å oppgradere eller skifte ut ting vi ikke liker underveis.

Blant annet hadde vi noen gamle webservere som kjørte .NET Framework 4.6 under IIS, som vi klødde oss i hodet over hvordan vi kunne flytte på best mulig måte. Endte isteden med at de røk ut ganske raskt, og noen dager senere var de byttet ut med ASP.Core Kestrel-servere i Docker under Linux, som gjorde de samme oppgavene.

Hva synes du norske utviklere bør bli flinkere på? 🙋

Det er mange dyktige hoder. Det man bør bli flinkere på er å utfordre hverandre, da det ofte er lett å bli forutinntatt på at én måte å gjøre noe på er det eneste riktige.

Ser ofte, også blant svært flinke utviklere, at det kan brukes tid på å finne bedre løsninger på et problem som kanskje ikke er et problem - når den beste løsningen kanskje er å fjerne hele den delen, og forenkle hele tankegangen rundt.

Ofte er det sånn at hvis en løsning er komplisert eller tar lang tid å gjennomføre, så er den mest sannsynlig ikke riktig. Back-to-basics: Begynne med å løse en del av problemet, unit-teste det, og så itere til hele problemet er løst.

Hva liker du å gjøre når du ikke jobber? 🕹️

Motorsykkel og TV-serier. Aksjer er gøy, prøvd meg på litt daytrading.

Forrige søndag bygde jeg et Docker-image med REST- API jeg kan poste C# kode til, som gir meg tilsvarende Javascript-code tilbake. Regner med å få bruk for den etterhvert som en script-transpiler, for at brukere skal kunne scripte egendefinerte funksjoner i skyløsninger samtidig som vi skal beskytte brukerne mot «ondsinnet» på-vegne-av kode.