Hvordan begynte du med koding? 👶
Startet med å lage "teksteventyr" (multiple choice) i Basic på Commodore 64, med oss selv, kompisgjengen, i hovedrollen.
På samme tid ble det en del avskrift av kode fra svenske Datormagazin. Husker jeg brukte en dag på å skrive av et spill som het "Bubble sort" - som etter langt om lenge ikke viste seg å være et spill, men noe drit som sorterte tall i stigende rekkefølge. God damn it!
Storebruttern var med i demoscenen og jeg var han irriterende lillebroren som gjorde alt jeg kunne for å være med de store gutta. Husker de satt med Assembler, C og Pascal, men det var waaay beyond me.
Uansett, det var vel på denne tiden grunnlaget ble lagt. På TG94 ble jeg introdusert for Assembler på Amiga for første gang. En veeeldig tålmodig kar i demogruppa Symbiosis hjalp meg i gang, uten at det ble masse demoer ut av det. Vi koda heller et språk som het AMOS (på Amigaen) og vi skammet oss. Det ble ansett som "juks".
Det var ganske mange kjøreregler for hva som var akseptert og hva som var "lame" på den tida. Gaming for eksempel var ansett som gaaaanske "leimt". De kule folka kodet, lagde musikk og grafikk. Det var en viss stolthet og konkurranse involvert i alt dette. Så fikk man heller smugspille litt når ingen så på.
Og: Vi hata PC-folk. Haha, alt var i det hele tatt mer svart/hvitt og ganske polarisert på den tida. Selv holdt jeg det ekte med Amiga til cirka 2002.
Java begynte vi med på universitetet i 1998. Og jeg har holdt på med det siden da.
Hva jobber du med akkurat nå? 🛠️
Jeg jobber som konsulent i UDP AS, og for tiden er jeg utleid til Statistisk Sentralbyrå (SSB). De har et fremoverlent teknisk miljø der vi har stor frihet over hvordan ting bygges og driftes. All kode vi produserer er åpen kildekode.
Jeg jobber med utvikling av "Dapla" - SSBs dataplattform i skyen, hvor data fra maaange ulike kilder hentes inn, pseudonymiseres og konverteres til felles format. Data berikes og knyttes til en metadatamodell slik at de kan kombineres og benyttes for statistikkproduksjon på tvers av avdelinger og fagområder i SSB.
Slik utforsker du åpen data med R
Dette er en stor og ambisiøs satsning for SSB, og det er veldig kult å få være med på.
Dapla består av mange mikrotjenester skrevet for det meste i Java. Vi benytter både Helidon og Micronaut og kjører på Istio i Kubernetes. Vi benytter Google Cloud som skyleverandør. Det er en del ulike frontends, for det meste skrevet i React, og selve navet i Dapla (som også er grensesnittet som statistikkproduksjonen foregår i) er Jupyter og Spark.
Her benyttes for det meste Python, men også andre språk som for eksempel R.
«Det er utrolig koselig å sitte inne og fyre i peisen, mens regnet pisker mot vindusruta. Kodevær.»
Hvordan ser en typisk arbeidsdag ut for deg? ☕
Etter at Norge ble stengt ned i mars, har jeg jobbet hjemmefra 100 prosent. Og jeg må si at jeg trives veldig godt med det. Introverts of the world - unite!
Jeg har en super plass i kjelleren der jeg kan sitte helt i fred, med så lite lys og så høy musikk jeg bare vil. Jeg har også i løpet av denne tiden jobbet en del uker fra et forblåst sted med utsikt mot havgapet på Sunnmøre. Det er utrolig koselig å sitte inne og fyre i peisen, mens regnet pisker mot vindusruta. Kodevær.
I teamet vårt har vi daglige videomøter der vi gjennomgår pågående oppgaver. Og vi setter også av litt tid til "kaffemaskinprat". Slack er en viktig samhandlingsplattform.
Det er mye kjipt som følger av koronaen, men situasjonen er også et push som utfordrer "OS åtte-til-fire". Vi har fått mer frihet til å tilpasse arbeidsdagen slik at familiekabalen blir enklere å få til å gå opp. Naturligvis er det fint med en viss kjernetid, men i større grad enn før er det enklere å flekse og jobbe for eksempel på kvelden.
Jeg tror vi kommer til å se en varig endring i arbeidskulturen også etter koronaen. Mange arbeidsgivere har nok fått øynene opp for at det faktisk funker å jobbe på denne måten. Et aber er at jeg ikke alltid klarer å rive meg løs fra jobben, og at det er fristende å sitte "litt til" litt for mange kvelder. Men sånn er det vel når man er så heldig å ha en "jobby".
Dette er jo en trend som mange internasjonale selskaper har gått mot i lang tid før koronaen. I stedet for å fokusere for mye på tiden man er på kontoret, dreier det seg mer mot hva som faktisk blir levert. Det passer naturligvis ikke overalt, men vår bransje er jo ofte en god match for dette.
I SSB har man kontorer på ulike steder av landet. Cirka 60 prosent sitter i Oslo, mens resterende holder til i Kongsvinger. Teamene er satt sammen av folk fra både Oslo og Kongsvinger. Etter at vi nå "tvinges" til å avholde alle møter digitalt opplever jeg at kommunikasjonen på tvers av de geografiske områdene faktisk flyter mye bedre enn tidligere. Man stiller likt inn i møter, det vil si det er ikke noen som bare er tilstede på en crappy telefonlinje. Og alle har de samme mulighetene (og utfordringene) for å være med på "kaffeautomatpraten".
Hva har du lyst til å lære mer om framover? 📚
Go.
Jeg liker at koden blir rett fram og at ting er opinionated og konvensjonsbasert. For å produsere kode som er konsistent, vedlikeholdbar og enkel å forholde seg til er det nice at det finnes idiomatiske føringer i selve språket.
I Go finnes det en "right way". Da wae.
Hvilke konkrete verktøy klarer du deg ikke uten? 😻
IntelliJ og VS Code.
Og jeg er avhengig av Mac med shortcuts og alle små og store verktøy jeg bruker her. Antakelig er det er Amiga-mobsteren i meg, men jeg kan ikke forstå folk som velger å sitte med Windows.
Herregud.
Jeg prøvde Windows Terminal i ei uke
Men jeg forstår rett og slett ikke hva jeg skal med den. 🤷
Hva er det verste du kan bli spurt om på jobben? 🔥
Tja... jeg er allergisk mot systemer som bygges opp med GUI og dra-og-dropp av kodesnutter, ofte solgt inn av folk som sitter litt for langt unna grøten.
Heller ikke en stor fan av å jobbe med CMS-er.
Generelt tror jeg de fleste som koder elsker å komme i flyt - være i "sonen". Så stuff som gjør at man ofte blir dratt ut av "sonen" er jo kjipt. Det kan være at man må kontekst-switche hele tiden, eller at man ofte blir avbrutt.
Hva synes du norske utviklere bør bli flinkere på? 🙋
Å bry seg om konsistens. Det er viktig at man bryr seg om felles strukturer, og at en kan enes om konvensjoner for for eksempel navngivning. Inkonsistens er roten til veldig mye rot.
Og om man ikke tar seg bryet med å diskutere begreper innenfor samme "lukkede kontekst", kan begreper gjerne rekke å sette seg, og det blir fort masse forvirring og inkonsistens dersom man senere prøver å endre på ting.
«Gode navn skaper engasjement. Det har mye å si for hvordan man tenker om det man jobber med.»
Koden man produserer er noe som mange (teamet) skal ha eierskap til. Personlige preferanser som vises i koden er direkte med på å skape person-avhengighet, for ingen liker å rydde opp i andres rot. Man bør i større grad bry seg om at det man lager er en del av noe større, og bør passe sammen med det.
Og en ting til: Navn er viktig. Gå noen runder for å finne gode navn på bibliotekene eller kodebasen du jobber med. Gode navn skaper engasjement. Det har mye å si for hvordan man tenker om det man jobber med, og for hvordan ting utvikler seg til å bli.
Hva liker du å gjøre når du ikke jobber? 🕹️
Har jo som regel et eller annet hobbykodeprosjekt gående, men akkurat nå går det meste av bonuskjermtid til "studioet" som jeg omsider har fått rigget opp.
Lager litt musikk igjen etter mange års opphold. Sitter for det meste i Reason, men har nylig begynt å bruke FL Studio, som er veldig tiltalende for en som har lagd masse musikk i ProTracker før.
Og jo, jeg har jo tre kids, hund og hundrevis av andre prosjekter som venter: Øl som skal brygges, kniver som skal slipes, planter som skal plantes og ting som skal snekres, Gold Rush-episoder som skal sees...
Hør Schibsted-utviklernes nye band Remotely in Tune
"All you wanna do is ride around, baby. Ride, corona, ride." 🎵