utvikling
Jo liker prosjekter med en «minste brukbare produkt»-tilnærming
Les ukens utviklerintervju.
Ukens utviklerprofil er Jo Krokengen (30), som jobber i teknologiavdelingen til Forte_ Digital (FD), et selskap som jobber i skjæringspunktet mellom teknologi, design og rådgivning.
Kan du kort beskrive stillingen og oppgavene dine?
Stillingen som – den litt vage tittelen – «senior utvikler» består av så mangt. Hovedoppgaven er jo selvsagt å utvikle kjernesystemer og tjenester som gir verdi for kundene våre, og det er dette brorparten av arbeidstiden går til. Men også å være en teknisk ressurs som kan veilede og ta ansvar overfor kunden – både når man har mindre prosjekter som eneste utvikler, eller er med å ta et kollektivt ansvar når det kommer til arbeidsmetodikk og prosjektflyt i teamet.
Med årene må man også forsøke å lære bort kompetansen og erfaringen man har opparbeidet seg, til de nyutdannede som starter. Jeg får også testet mine pedagogiske evner.
Utfordre de større
Hvorfor valgte du akkurat denne arbeidsgiveren?
Det var hovedsakelig på grunn av at jeg kjente godt til de som startet FD. Det å kunne være med fra starten i et lite selskap med ambisjoner om å utfordre de større
konsulenthusene, var en mulighet man ikke kunne si nei til. Det å ha eierskap og muligheten til å påvirke hvordan man skal gjøre ting, hvem man skal ansette og så videre, er veldig inspirerende!
Vi forsøker å sitte så mye som mulig ute hos kunden.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Vi forsøker å sitte så mye som mulig ute hos kunden – fordi det å sitte tett på der avgjørelsene tas, sitte sammen med kolleger man er avhengig av, og få bedre kjemi med dem man jobber sammen med – både kunden og folk fra andre konsulenthus, gir veldig stor verdi til prosjektet og resultatene man leverer.
Men vi forsøker også å ha en «innedag» én dag i uken hvor vi sitter på kontorene til FD for å få sosial kontakt med kolleger som jobber på andre prosjekter. Denne «innedagen» er også en dag vi bruker for å utveksle erfaringer på tvers av prosjekter.
Mer digital samhandling
Hvordan påvirker koronapandemien din arbeidssituasjon?
Jeg har aldri vært en så stor tilhenger av hjemmekontor, men det er mest på grunn av fasilitetene jeg har hatt i hjemmet. Nå har jeg fått hentet ekstra skjerm, mus, et tastatur og en god kontorstol som sikrer gode arbeidsforhold, så nå handler det mest om å være disiplinert og ikke la seg distrahere, noe som kan skje når man har kontor i stuen og en samboer som også har hjemmekontor.
Vi har nå blitt påtvunget mer digital samhandling, noe som har vært en spennende utfordring for teamarbeid i prosjektet – noe vi også har løst på en god måte med alle verktøyene vi har tilgjengelig.
Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?
Det siste halvannet året har jeg jobbet hos OBOS, hvor vi, en gjeng fra FD og en del fra andre konsulenthus, jobber med å migrere innhold fra ulike domener over til én ny innholdsplattform.
Det er moro å se hvor bra og kraftfullt det er!
Visjonen er å lage en sentral hub der OBOS-innhold produseres og berikes og blir tilgjengelig til ulike klienter (obos.no, mobil-apper, og så videre) gjennom Azure API Management. Vi bygger alt med en mikrotjenestearkitektur hvor applikasjonene lever isolerte med svært få/ingen avhengigheter til hverandre. Alt bygges med tjenester som er tilgjengelig i Microsoft Azure. Det er moro å se hvor bra og kraftfullt det er!
Startet med «knoting»
Hvor lenge har du jobbet som utvikler?
Har jobbet som utvikler i 8 år nå til sommeren.
Har du vært ansatt ved samme sted hele tiden?
Nei, jeg jobbet 5 år i et annet konsulenthus før jeg ble med i FD.
Hvor gammel var du da du først begynte å lære deg programmering?
Jeg begynte så vidt med enkel HTML, Javascript og CSS på videregående. Jeg hadde ingen egne prosjekter med noe ønsket resultat, så det gikk som regel i enkel «knoting» for å lage morsomme effekter med Javascript.
Hva slags utdannelse har du?
Jeg har en BSc fra den gang NITH (Norges Informasjonsteknologiske Høyskole), som nå er en del av Høyskolen Kristiania. Jeg gikk linjen «E-business» hvor vi lærte mest om analyse, CRM og ERP-systemer.
Men da jeg fikk tilbud om en programmeringsjobb etter studiet, var det gjort. Programmering var noe jeg trivdes veldig godt med!
Hvilke plattformer utvikler du vanligvis for?
Det er for det meste Windows og Microsoft Azure, men det er ikke uvanlig at Linux blander seg inn i stacken, som hos OBOS hvor vi har laget et par rekommanderingssystemer i Python.
Det er ikke uvanlig at Linux blander seg inn i stacken
Hvilken pc-plattform/OS foretrekker du selv å bruke?
Der foretrekker jeg Windows. Windows har blitt ganske mye mer brukervennlig etter at Windows 10 kom. Og så er det jo veldig praktisk å sitte på en Windows-maskin når man skal utvikle for Microsoft Azure, hvor alle verktøy er kompatible med maskinen man jobber på.
Hvilke programmeringsspråk benytter du?
Der benytter jeg C# og .Net plattformen.
Ganske friksjonsfri hverdag
Hva er favorittspråket og hvorfor?
Favorittspråket er C#, og det er nok mest fordi det er det jeg er mest komfortabel med og det løser de fleste oppgavene (som hos oss ofte kjører på Microsoft-stacken) på en veldig god måte. Jeg liker å få jobben gjort, og da er det veldig greit å gjøre jobben i et språk man kan.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?
Nr. 1: Det må bli Microsoft Visual Studio for .Net utvikling. Det er et stort program med veldig mange muligheter. Når man vet om alle mulighetene, gjør det utviklerhverdagen ganske så friksjonsfri – spesielt når alt er så tett koblet opp mot Microsoft Azure sine skyløsninger. Enten du trenger å debugge en Cosmos DB-instans, eller en Azure Function, så er du i gang i løpet kort tid.
Nr. 2: Alle utviklere nevner vel kanskje Git? Et versjonskontrollsystem hvor man kontroll på endringer og konflikter som skapes når flere utviklere koder mot samme kodebase. Og så er Git i Azure DevOps blitt veldig bra for å visuelt se hva som kodes av de ulike utviklerne. Et godt «alt-i-ett»-verktøy for versjonskontroll, bygg og deploy, som jeg er blitt veldig glad i å bruke.
Altfor ofte så lager man unødvendig mye funksjonalitet, som man bruker tid og penger på, hvor det viser seg at funksjonaliteten var unødvendig.
Hva slags oppgaver liker du best å jobbe med?
Jeg liker å jobbe med større oppgaver og prosjekter hvor vi kan tillate oss å ha en MVP-tilnærming (Minimum Viable Product/Minste brukbare produkt). Altså bryte oppgaven ned i MÅ-HA-funksjonalitet, og teste dette på sluttbrukerne for å finne ut hva de faktisk bruker og trenger av funksjonalitet i en ny applikasjon. Altfor ofte så lager man unødvendig mye funksjonalitet, som man bruker tid og penger på, hvor det viser seg at funksjonaliteten var unødvendig.
Månedlig fagdag
Hvordan sørger du for å holde deg faglig oppdatert?
Vi har en fagdag hver måned i FD. Dette er en dag vi bruker for å holde oss faglig oppdatert, om det er å gå i dybden på noe du kan fra før eller lære seg noe helt nytt. Det er opp til hver enkelt.
Vi er også heldige i denne bransjen som har en del åpne fagmiljøer hvor ildsjeler arrangerer kvelder med faglig innhold. For eksempel NNUG (Norwegian .Net User Group) som arrangerer fagkvelder som regel en gang i måneden med dyktige foredragsholdere og relevante temaer. I tillegg er de gratis! Dette er en fin måte å treffe bransjekolleger og bli faglig oppdatert.
I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?
Jeg opplever at vi utviklere ofte må forstå mer og mer (eller hvert fall burde) av hvordan maskiner i skyen snakker sammen og hvordan infrastrukturen man har fungerer. Nettsky har tilgjengeliggjort hardware og infrastruktur på en ny måte, som gjør at vi i dag kan jobbe mye mer smidig enn hva vi kunne tidligere – vi må ha god kontroll på hele pipelinen selv – fra koding til testing og produksjonssetting. Det er veldig behagelig å kunne rulle ut ny kode og funksjonalitet fortløpende.
Og det har ikke minst gjort prototyping og «hackathons» (et maraton for kodere hvor man jobber intenst innenfor en gitt tidsramme for å løse et mindre problem – eller lage en prototype) mye lettere å gjennomføre. Satt på spissen så kan du med noen få tastetrykk ha en prototype kjørende i skyen.
5G gir store muligheter
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Vanskelig spørsmål. Uten at jeg tror det nødvendigvis vil forandre hverdagen til så altfor mange utviklere, så tror jeg vi vil se mange nye spennende utviklermuligheter innen IoT (Internet of things – små smarte enheter som kommuniserer med hverandre) når neste generasjons mobilnett (5G) kommer på plass.
Jeg tror streaming kan bli en viktig komponent i dataplattformene vi vil bygge i fremtiden.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Jeg skulle gjerne lært meg mer om verktøyer og teknologier for real-time data streaming – å prosessere innkommende data fortløpende og agere på denne. Jeg tror streaming kan bli en viktig komponent i dataplattformene vi vil bygge i fremtiden.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Jeg forsøker å få med meg minst en større konferanse i året. Den jeg har vært oftest på er NDC Oslo (Norwegian Developer Conference). NDC Oslo har veldig mange dyktige foredragsholdere og aktuelle temaer.
Hvilket forhold har du til innebygd personvern?
Jeg synes det er veldig bra med et regelsett å forholde seg til. Alle nyere prosjekter jeg har vært med på, har hatt et forhold til innebygd personvern, noe jeg mener har bidratt til sikrere kode.
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?
Nei.
Kobler av på sykkelsetet
Hvor mye programmerer du på fritiden?
Ikke veldig mye. Det er noen perioder hvor jeg begynner å utvikle prosjekter på fritiden – som viser seg å aldri bli ferdig. Man kan bli sliten i hodet etter en hel dag med programmering. Da er det deilig å komme hjem å holde på med noe annet.
Har du noen (andre) hobbyer?
Jeg liker godt å stå på langrenn og så liker jeg å sykle – både i skog og på landevei. En relativt
tidkrevende hobby når man skal på lengre turer. Man får virkelig koblet av når man sitter der og tråkker time etter time.
Har man en PC og internett, kan du så og si jobbe hvor som helst fra.
Hva gleder du deg mest over ved å jobbe som utvikler?
Det må være fleksibiliteten og alle de ulike problemene man forsøker å løse. Har man en PC og internett, kan du så og si jobbe hvor som helst. Det er et fint gode man ikke får ved så mange andre jobber.
Kan jobbe fra Krakow
Opplever du at jobben som utvikler har noen negative sider?
Det må nesten være at man sitter veldig mye stille. Det er viktig å strekke litt på beina iblant og få noe frisk luft, noe man ofte glemmer når man sitter dypt i en problemstilling.
Hva er det beste frynsegodet du får?
Vi har flere gode frynsegoder i FD, men en av dem jeg liker best, er at vi har et kontor i Krakow i Polen, noe som gjør det mulig å reise ned og jobbe derfra om ønsker. Det er en veldig flott by, og kontoret vårt der har veldig mange dyktige fagfolk man vil lære masse av. Vi møtes alle sammen fra Oslo og Krakow et par ganger i året på hackathons og turer. Vi har et godt sosialt forhold til våre kolleger der.