utvikling
– Den viktigste utdannelsen er den man bygger gjennom deltakelse i ulike prosjekt
Les ukens utviklerintervju.
Denne uken er det Trond Klakken (31) som er ukens utviklerprofil. Han har siden sommeren 2019 jobbet ved Trondheims-avdelingen til Webstep.
Kan du kort beskrive stillingen og oppgavene dine?
Jeg er ansatt som seniorkonsulent i Webstep. De beste dagene programmerer jeg, men en gjennomsnittsdag har jeg et par møter med med fokus på estimering, planlegging og andre nødvendigheter i tillegg.
Hvorfor valgte du akkurat denne arbeidsgiveren?
Det er flere grunner, men de tre viktigste er: Mye fleksibilitet som konsulent, et sterkt og godt fagmiljø jeg kan identifisere meg med, og ikke minst muligheten til å jobbe med spennende prosjekter, der jeg kan bidra til å utvikle samfunnet.
For meg personlig er friheten det viktigste som utvikler.
For meg personlig er friheten det viktigste som utvikler. Webstep lar deg jobbe så mange timer som det passer. Får man ikke en uke til å gå opp, går det fint å jobbe litt mindre den uken.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Jeg jobber mest ute hos kunden! Jeg er så heldig at vi sitter på et stort prosjekt med flere kolleger fra Webstep på samme prosjektet, så da får man litt både i pose og sekk. Det er litt som å sitte inne, samtidig som man sitter tett opp mot kunden. I tillegg er det mulig med hjemmekontor.
Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?
Jeg jobber i et Webstep/InMeta-team hos Norsk Helsenett. Oppgaven vår er å utvikle morgendagens folkeregister for Helse-Norge. «Folkeregisteret» er en av grunnpilarene i Helse-Norge og er viktig både for pasienter og helsepersonell – og politikere som har definert et mål om å skape «pasientens helsetjeneste».
Oppgaven går ut på å sette sammen data fra flere kilder, blant annet Skatteetatens Folkeregister, konsolidere/aggregere opp disse og sende dem videre til ulike systemer for å prosessere ulike oppgaver.
Ytelseskravene er svært utfordrende, men det gir meg også en god følelse å kunne bidra til å løse en slik samfunnsmessig utfordring.
Hvor lenge har du jobbet som utvikler?
Snart 8 år.
Har du vært ansatt ved samme sted hele tiden?
Nei, før jeg ble ansatt hos Webstep hadde jeg bare jobbet for Bekk Consulting i Trondheim. Dit gikk jeg rett fra skolebenken og lærte det meste jeg kan.
Hvor gammel var du da du først begynte å lære deg programmering?
Jeg startet vel å pusle med Frontpage 95 når jeg var rundt 12 år. Deretter lekte jeg med PHP og Javascript, og laget utallige blogger ingen leste. Først da jeg startet på universitet, tok det helt av og jeg lærte meg Python, Java, C og mange flere programmeringsspråk.
Den viktigste utdannelsen er den man bygger gjennom deltakelse i ulike prosjekt og på Websteps fagaktiviter.
Hva slags utdannelse har du?
Sivilingenør i Datatenikk ved NTNU, fint skal det være! Selv om universitetet ga en god basiskompetanse, er den ikke alt. Den viktigste utdannelsen er den man bygger gjennom deltakelse i ulike prosjekt og på Websteps fagaktiviter.
Hvilke plattformer utvikler du vanligvis for?
.NET Core og Node. I hovedsak web og web-APIer.
Hvilken pc-plattform/OS foretrekker du selv å bruke?
Det spørs veldig hva man skal gjøre. Det er litt som med programmeringsspråk, du bruker det beste verktøyet for oppgaven.
Selv om de største forskjellene mellom OS-ene har blitt visket ut etter at Windows 10 kom, så foretrekker jeg fortsatt å kode web og mobil i MacOS. Mest fordi jeg trenger en god høyoppløselig skjerm når jeg koder web, noe alle Mac har.
All annen utvikling bruker jeg Windows 10 for, da det er stabilt, har gode drivere og gode verktøy. For servere og konteinere er Ubuntu kongen, ingen over og ingen ved siden av. Det viktigste er egentlig at man har høyoppløselige skjermer med gode farger og et tastatur hvor FN og Ctrl er plassert korrekt …
Hvilke programmeringsspråk benytter du?
Det går mest i C#, Javascript / Typescript, Python og hvis man trenger hastighet, C. Leker også med en del funksjonelle språk hvert år rundt juleprogrammeringskalenderne, løser forskjellige luker i forskjellige språk ut i fra hva man tror er enklest. Sterkt anbefalt å prøve!
Hva er favorittspråket og hvorfor?
Ai ai ai, det er vanskelig å velge. Det må bli enten C# eller Javascript. C# er kjapt, lekkert og digg å bruke. Veldig mye er løst veldig rett. Javascript også gjort mye rett de siste årene, men jeg foretrekker C# og .NET Core framfor Javascript og Node for backend.
Muligheten du har til å omdefinere armen din til en fot, for så å skyte deg selv i det som før var armen din.
Det jeg elsker med Javascript er friheten du har. Muligheten du har til å omdefinere armen din til en fot, for så å skyte deg selv i det som før var armen din. Javascript lar deg behandle data som data, og ikke som 15 lag med mappere og wrappere for å bare sende/motta eller massere litt data.
Mange av problemene man opplever i Javascript kan man i jobbsammenheng løse med Typescript, men hjemme skriver jeg Javascript.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?
Visual Studio Code og Git. I bunn og grunn er det det eneste du trenger. VS Code har plugins/runtimes for alle språk man trenger, for alt fra bygging til formatering, og det gjør webprogrammering til en drøm! Før brukte jeg veldig mye sublime og Atom, men VS Code har tatt helt over. Git er også et must. Alt arbeid som tar mer enn 10 minutter, har godt av versjonskontroll.
Hva slags oppgaver liker du best å jobbe med?
Algoritmer og datastrukturer, finne optimale løsninger på massive mengder data. Dessverre er ikke dette noe som man regel trenger i norske datasystemer, da gjennomsnittssystemet kanskje har et par samtidige brukere.
Det er også skikkelig givende når man kan rådgi kunden og se rådene gi verdi.
Hvordan sørger du for å holde deg faglig oppdatert?
Fokus og satsning på faglig utvikling er én av hovedgrunnene til at jeg har valgt Webstep som arbeidsgiver. Webstep lar meg bruke sider som Pluralsight, ta de kursene jeg selv ønsker, dra på konferanser og kollokvier for sertifiseringer. Ellers liker jeg også å sette meg ned med ny teknologi og bare hacke fritt.
Før gikk en betydelig del av lanseringer ut på oppdatering av OS, drivere og andre langdryge rutiner.
I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?
Det har forandret hverdagen helt! Jeg bruker så mye mindre tid på ssh og apt-get update! Før gikk en betydelig del av lanseringer ut på oppdatering av OS, drivere og andre langdryge rutiner. Nå til dags er det ikke store biten kode før det havner inn i en konteiner, selv om det bare skal kjøres lokalt.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Jeg gleder meg til at WebAssembly blir det siste byggsteget i utrulling av websider, hvor man i dag typisk pakker sammen webfilene. Det vil løse problemet vi har i dag med at alle nettsider tar 1-2 sekunder å laste. Færre filer å overføre, ingen behov for å parse tekstfiler som tar lang tid samt flere tilgjengelige APIer.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Kunstig intelligens og nevrale nettverk. Jeg har gjort litt maskinlæring, og det føltes litt tilfeldig om jeg har fått den til å gjøre det jeg vil. Maskinlæring blir viktigere og viktigere for å løse de virkelig store oppgavene i samfunnet. Heldigvis har vi AI-kompetanse hos Webstep som jeg kan lære mer av, og med ny software som er enklere å bruke, så vil helt sikkert se mye mer av
AI-støttede tjenester.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Minst en i året. Det viktigste er å få en smakebit av det som kommer, slik at jeg kan sette meg inn i det som virker spennende, lovende og relevant. Konferanser som WebRebels (JSConf), NDC, Javazone og TDC.
Hvilket forhold har du til innebygd personvern?
Personvern er viktig. Jeg syns det er supert at man som enkeltperson skal kunne velge hvilke data som kan lagres om deg. Det tvinger også utviklere til å tenke mer på hvilke data som faktisk er nødvendig å innhente, og det bidrar til en bedre brukeropplevelse. I min arbeidshverdag er dette ofte sentralt og noe jeg har jobbet en god del med.
Mye av det jeg gjør av hobbyprosjekt legger jeg ut åpent på github
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?
Veldig lite dessverre. Det har skjedd i jobbsammenheng at jeg har fått bidratt til åpen kildekode, men som konsulent så er det som regel bare når det gagner kunde. Mye av det jeg gjør av hobbyprosjekt legger jeg ut åpent på github, men det er mest for å prøve å tvinge meg selv til å kode litt penere i hobbyprosjekt.
Hvor mye programmerer du på fritiden?
Veldig varierende. Ofte en omvendt proporsjonal kurve mellom antall timer jeg programmerer på jobb. Fortsatt er det veldig lite som slår det å sitte oppe hele natten og kode. En gjennomsnittsuke får jeg kanskje klemt inn 2-3 timer, mens i en god uke 10 timer.
Har du noen (andre) hobbyer?
Er ivrig brettspiller og tubaist i et lite storband som heter Sinco Orchestra. Jeg spiller brettspill minst to kvelder i uka, alt fra kortere spill som Ticket to Ride, Splendor og Pandemic, til spill som går over flere måneder, som The 7th Continent, Gloomhaven og Pandemic Legacy.
Når det kommer til tuba så er det en øving i uka, med 4-5 oppdrag i løpet av et år. Alt fra bryllup, bygdefest til vårt årlige juleshow, der vi spiller det vi måtte ha lyst til av rock, blues, New Orleans jazz og swing.
Hva gleder du deg mest over ved å jobbe som utvikler?
Muligheten til å jobbe i et kreativt yrke hvor man kan løse problemer som hjelper andre til å bli mer effektive. Følelsen av å bidra til noe som har samfunnsmessig verdi er viktig for meg.
Den største ulempen er at alle vet at du er en datamann, så man får en del «konsulent-oppdrag» fra kjente og kjære.
Opplever du at jobben som utvikler har noen negative sider?
Den største ulempen er at alle vet at du er en datamann, så man får en del «konsulentoppdrag» fra kjente og kjære. Alt fra installering av office til fjerning av virus.
En annen utfordring kan være at avstanden mellom de som bestemmer og de som utfører er for stor. Dette kan være uheldig, men det finnes også kunder som lar oss jobbe i autonome team, tett sammen med en kunderepresentant, der teamet får ta beslutninger og løse problemene i gruppen. Det er motiverende. Som regel er arbeidshverdagen et sted midt i mellom disse tilstandene.
Hva er det beste frynsegodet du får?
Det må nok være fleksitid og at jeg kan jobbe overalt der det er nettilgang. Friheten til å kunne dra på en lengre helgetur og jobbe remote de to gangene i året, det hadde vært kjekt. Det er et tveegget sverd dog, så her er det viktig å være streng både med seg selv og kunden for at dette ikke skal gå utover andre aktiviteter.