utviklerprofilen
Som barn likte Joakim å dirke opp låser. Nå får han brukt interessen i jobben som utvikler
Ukens utviklerprofil er Joakim Lindquister (30).
Joakim har siden januar jobbet som utvikler i oppstartsselskapet Unloc, som tilbyr digitale husnøkler som kan deles med andre som har behov for å komme inn i boligen.
Kan du kort beskrive stillingen og oppgavene dine?
I Unloc er jeg «platform developer» og jobber i teamet for plattform og integrasjoner. I tillegg til den tradisjonelle backend-delen, så har vi ansvar for å utvikle integrasjoner mot en rekke digitale låser som er på markedet. Grensesnittet mellom koding og fysiske produkter er veldig spennende.
Da jeg var liten, hadde jeg det noen kanskje vil kalle en sær interesse for låsdirking.
Hvorfor valgte du akkurat denne arbeidsgiveren?
Da jeg var liten, hadde jeg det noen kanskje vil kalle en sær interesse for låsdirking. Jeg dirket hengelåser, dørlåser og lignende. Spol fram 15 år, kombiner det med spennende teknologi og et lovende team, så tenker jeg vi har Unloc. Gründerne Kris og August har samlet sammen en utrolig dyktig og tverrfaglig gjeng som gjorde dette til et veldig attraktiv jobb!
Hvilket selskap kunne du aldri ha jobbet for?
Tror jeg kjører kardemommeloven på dette. Så lenge produktet ikke plager andre, og man er grei og snill – så kan man jobbe hvor man vil. Jeg kunne jobbet med veldig mye forskjellig, det er folka rundt deg som er det viktigste.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Gitt omstendighetene jobber jeg nesten bare hjemmefra. Om jeg kunne valgt helt selv, ville jeg vært på kontoret tre dager i uken. Jeg tenker at det er når man møter andre mennesker at ideer skapes, formes og settes i verk. Alt dette opplever jeg som vanskeligere å få til digitalt.
Hvordan påvirker koronapandemien din arbeidssituasjon?
Energien og de gode kaffemaskindiskusjonene kan forsvinne til tider. Derfor er det så viktig med de få fysiske møtene vi får til, og når vi klarer å skape gode digitale rom for uformell prat.
Kan du fortelle litt om prosjektene du har jobbet med i det siste?Som ny har det vært gøy å dykke ned i kjerneteknologien til Unloc og hvordan vi kobler oss opp mot de ulike låseprodusentene. Jeg har vært med på å bygge en ny integrasjon mot en ny type låser. Det innebærer alt fra tekniske møter med låsleverandøren, oppkobling mot deres API og utrulling i våre apper. Man får litt gåsehudsfølelse når man etter lang tids utvikling klarer å åpne opp en lås i den virkelige verden fra sin egen kode!
Hvor lenge har du jobbet som utvikler?
Det nærmer seg fem år. Jeg har jobbet som utvikler siden jeg fullførte mastergraden min. Jobben som utvikler har vist seg å være overraskende sosial og teamorientert, noe jeg trives svært godt med. Men selv om jeg trives godt, så rammes jeg sporadisk av en lengsel etter å jobbe utendørs. Man kan bli litt trøtt av å tilbringe hele arbeidsdagen innendørs. Drømmen er å drive en liten bed & breakfast til fjells. Så kan man jo kode litt på siden?
Nav har virkelig tall rollen som et fyrtårn i norsk offentlig IT.
Har du vært ansatt ved samme sted hele tiden?
Før jeg startet i Unloc, var jeg fire år i konsulentfirmaet Bekk, hvor jeg var på prosjekt hos Nav og Vy. Begge organisasjonene var preget av å være i stormende endring, noe som gjorde det veldig lærerikt å være rundt som ny utvikler. Spesielt var det kult å se hvordan Nav gikk fra å ha fire hovedleveranser i året til en mer kontinuerlig produksjonssetting. Nav har virkelig tall rollen som et fyrtårn i norsk offentlig IT.
Hvor gammel var du da du først begynte å lære deg programmering?
Tidlig i tenåra fikk jeg gjennom en familievenn lære meg Visual Basic og oppdaget at man kunne bruke drag-and-drop for å skape brukergrensesnitt. Det var egentlig ganske epic, og gjennom mye prøving og feiling lagde jeg en ganske fet hurtig-launcher som lot deg kjapt søke opp ting på Thottbot, Wikipedia og Google. Datidens viktigste sider der, altså.
Hva slags utdannelse har du?
Jeg har en mastergrad i informatikk fra Universitet i Oslo, med en masteroppgave innenfor datakommunikasjon skrevet for Forsvarets Forskningsinstitutt (FFI).
Syns du at du har hatt god nytte av denne utdannelsen?
Ja, men som mange andre vil jeg trekke fram det som skjedde utenom forelesningene som det viktigste. Alle menneskene man møtte, alle øl man drakk på escape, alle foredrag fra engasjerte studenter, gruppelærere, professorer og bedriftspresentasjoner. Alt det skapte et veldig godt miljø for å bli glad i informatikk og programmering.
Hvilke plattformer utvikler du vanligvis for?Nå går det i Node.js som deployeres i Google Cloud (GCP). Tidligere har jeg brukt mye Amazon Web Services (AWS), og jeg må si at brukergrensesnittet til GCP er hakket bedre.
Hvilken pc-plattform/OS foretrekker du selv å bruke?
Som mange andre som studerte på IFI så har jeg en forkjærlighet for Linux. Terminalen og utvikleropplevelsen føles så utrolig mye bedre enn på Windows. Likevel må jeg innrømme at etter at Bekk stilte med en flunkende ny Mac da jeg startet der, så har jeg foretrukket det. Du har en god Unix-basert terminal og ting fungerer bare. Litt chill å slippe å konfigurere så mye?
Som en lat (les smart) utvikler foretrekker jeg at kompilatoren er så streng og god som mulig.
Hvilke programmeringsspråk benytter du, hva er favoritten og hvorfor?
Som en lat (les smart) utvikler foretrekker jeg at kompilatoren er så streng og god som mulig. Den skal gjerne si ifra at du holder på å drite deg ut, før du står der med en runtime error i produksjon. Derfor har jeg lagt min elsk spesielt på Kotlin, et språk jeg vil anbefale alle Java/JVM-mennesker der ute! Jeg takker selvfølgelig også programmeringsgudene for at de sendte Typescript til verden for å frelse oss fra plain Javascript.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?
Programmerere har jo i årevis diskuterte hva som er det beste editoren. Heldigvis har vi nå i fellesskap kommet til en konklusjon: Intellij er den beste. Den klarer jeg meg ikke uten. Jeg har vært innom Vim, Emacs, Atom, Sublime og nå sist VScode. Men jeg vender alltid tilbake til Intellij. Alltid.
Et annet verktøy som jeg er veldig glad i er kommunikasjonsverktøyet Slack. Utover den rene chatte-løsningen, er det et helt suverent verktøy for å inkludere forretnings- og driftsinformasjon fra diverse datakilder. Det kan være alt fra automatisk genererte oppdateringer på salg siste døgn, til produksjonsfeil og alarmer. Som et verktøy alle i firmaet er inne i daglig, er det et ypperlig sted å samle informasjon.
Du får makt til å slette en applikasjon eller helt kategori programvare fra historiebøkene, hva ryker og hvorfor?
En applikasjon jeg fremdeles sliter med å bli venn med, for å ikke ut rett ut hater, så vil jeg trekke fram Microsoft Outlook. Selv etter å ha brukt det noen år, synes jeg det fremdeles er tungvint å bruke og det er nedlessa i funksjoner man aldri trenger. Om problemet er hos brukeren eller i designet, kan forbli usagt, men jeg har i hvert fall uforvarende sendt ut en min del av møteinnkallelser på kveldstid, i helgen eller i feil lokale.
Hva slags oppgaver liker du best å jobbe med?
Når man kan følge en oppgave fra konsept til utvikling og produksjonssetting, da føler jeg virkelig at jeg får realisert potensialet mitt. Jeg tenker at for alle, uansett yrke, at det er viktig å se helheten i arbeidet.
Videre liker jeg å jobbe med en oppgave også etter den er ferdigutviklet og i produksjon. I syklusen «build-measure-learn» har mange en tendens til å si seg ferdig etter build-steget, og deretter løpe videre til neste feature. Her er det viktig å svare på spørsmål som: hvor mange brukere tar den nye featuren i bruk, eller hvordan påvirker den nye backend-løsningen ytelsestiden på endepunktene? Dette er spørsmål man bør kunne svare på.
Kan du dele opplevelsen fra en gang du gjorde en katastrofal feil eller tabbet deg skikkelig ut på jobb?
Det finnes vel to typer utviklere: Utviklere som kommer til å introdusere feil i produksjon og utviklere som har introdusert feil i produksjon.
Jeg er nok én av de siste, og har blant annet forårsaket at reisesøket hos en stor norsk transportaktør var utilgjengelig et par timer. Uansett, når slike feil skjer så mener jeg at istedenfor å legge skylden på noen, så er det viktigere å fokusere på læringen av det, for eksempel gjennom blameless post mortems.
Hvordan sørger du for å holde deg faglig oppdatert?
Jeg har stor glede av å følge en del teknologipåvirkere på Twitter, for eksempel Christin Gorman, Johannes Brodwall og Dan Abramov (React). Ellers leser jeg en daglig oppsummering av Hackernews og lytter til jungeltelegrafen.
I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?
Jeg tenker at disse trendene har gitt oss som utviklere veldig mange nye muligheter som vi ikke hadde før. Der vi før gjerne måtte avklare og bestille infrastruktur fra andre team eller eksterne leverandører, har vi nå alle muligheter til å ta produktet fra konsept til produksjon på egen hånd. Flaskehalsen som infrastruktur tidligere var er nå til dels borte.
På den andre siden så er det verdt å reflektere over at dette setter også større krav til oss som utviklere. Vi er nødt til å forstå mer om hvordan koden kjører i produksjon.
Det er slutt på den tiden der utviklerens oppgave var ferdig i det man «merget» koden sin inn i master.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Jeg tror hvordan utviklingsteam leverer kode til produksjon kommer til å bli mer og mer profesjonalisert. Plattformverktøy som Heroku, Firebase, teknikker som funksjonsbrytere, utstrakt måling og evaluering av features i produksjon, kommer til å muliggjøre en kontinuerlig utviklingsflyt der man dytter kode ut i produksjon. Det er slutt på den tiden der utviklerens oppgave var ferdig i det man «merget» koden sin inn i master. Som utviklere må vi i større grad framover ta ansvar for koden helt ut i produksjon, men også driften og evaluering av den i produksjon.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Jeg skulle gjerne lært litt mer om interaksjonsdesign og konseptutvikling.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Jeg har et hjerte for Javazone. Det er internasjonal klasse på maten, organiseringen og ikke minst foredragene!
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?
Nei, men det kunne jeg veldig gjerne tenke meg. Guttedrømmen var å få inn noe kildekode i Linux-kjernen. I mellomtiden forsøker jeg i hvert fall å poste gode bug reports, kommentere på PR-er og lignende. Vi som bransje skylder open source-miljøet ganske mye, så jeg oppfordrer alle til å bidra!
Guttedrømmen var å få inn noe kilde-kode i Linux-kjernen.
Hvor mye programmerer du på fritiden?
Det er veldig sporadisk. Jeg er den typiske som starter et drøss av hobbyprosjekter, men fullfører svært få av dem. Rent ofte så bruker jeg vel så mye tid på å sørge for en smooth utvikler-pipeline med automatiske deploys, statisk kodeanalyse, automatisk skalering, også videre. Totalt unødvendig for hobbyprosjekter selvfølgelig.
Har du noen (andre) hobbyer?
Siden vi sitter mye inne som en del av jobben, er jeg glad i å komme meg ut når dagen er over. Jeg er glad i å klatre, og nå som alt av innendørsaktiviteter er stengt, benytter vi Østmarka i Oslo til å buldre eller å klatre ved Hauktjern. Jeg opplever at dette er ganske populært blant IT-folk. Kanskje det er noe med problemløsningen som appellerer?
Hva gleder du deg mest over ved å jobbe som utvikler?
Skapergleden og håndverket som systemutvikling er, og som er nødvendig for å lage et skikkelig godt produkt. Samtidig setter jeg også veldig pris på at programmering er et ganske sosialt yrke.
Opplever du at jobben som utvikler har noen negative sider?
Innimellom så tenker jeg at jeg kaster bort livet mitt stillesittende inne foran en datamaskin. Jeg skulle gjerne vært mer utendørs og reist litt mer. Det som kanskje er et positivt utfall fra pandemien, er at det også framover blir mer akseptert å jobbe remote. At det er mulig å jobbe remote fra en liten fjellbygd eller fra en øy i Stillehavet.
Hva er det beste frynsegodet du får på jobben?
Mulighet til å jobbe når og hvor jeg vil er ganske deilig. Hvis sola skinner hender det jeg benytter det for å dra på en løpe- eller klatretur i Østmarka.
Nevn et frynsegode du savner!
Jeg savner fysiske lønningspils med pils, mat og kollegaer. En viss pandemi må bare roe ned litt, så er vi straks der igjen!