Utviklerprofilen

Utviklerprofilen: – Av en eller annen grunn er jeg også veldig glad i å refaktorere kildekode

– Det er ingenting som er bedre enn å forenkle eller slette unødvendig kildekode.

Thomas Wingsternes er systemutvikler i Ambita i Bergen.
Thomas Wingsternes er systemutvikler i Ambita i Bergen. (Foto: Privat)

– Det er ingenting som er bedre enn å forenkle eller slette unødvendig kildekode.

Hei, dette er en Ekstra-sak som noen har delt med deg.
Lyst til å lese mer? Få fri tilgang for kun 235,- i måneden.
Bli Ekstra-abonnent »

Ukens utviklerprofil er Thomas Wingsternes (31), som er systemutvikler i Ambita, som leverer tjenester som digitaliserer boligmarkedet. Selskapet har kontorer i både Oslo og Bergen, hvorav Wingsternes er tilknyttet det sistnevnte.

Kan du kort beskrive stillingen og oppgavene dine?
Jeg jobber med å videreutvikle og vedlikeholde eksisterende tjenester, samt utvikle nye tjenester.

For det meste jobber jeg med backend-utvikling, det vil si at jeg programmerer de delene av systemene som en sluttbruker ikke interagerer med. Det hender også at jeg gjør noe frontend-utvikling, altså programmering av grensesnittene som våre sluttbrukere benytter.

Hvorfor valgte du akkurat denne arbeidsgiveren?
Jeg begynte først som intern i Ambita sitt «summer-internship»-program. Som intern ble jeg tildelt mye ansvar, og fikk bryne meg på reelle oppgaver, noe som var veldig lærerikt. I løpet av sommeren fikk jeg interesse for eiendomsinformasjon, og jeg rakk å oppleve Ambitas kultur som noe jeg ønsket å ta videre del i.

Jeg ble veldig glad da jeg ble bedt om å fortsette på deltid ved siden av studiene.

Jeg ble veldig glad da jeg ble bedt om å fortsette på deltid ved siden av studiene. Ambita er opptatt av kompetanseutvikling, og det er noe jeg setter veldig stor pris på. Videre er det et utrolig bra arbeidsmiljø, bestående av trivelige og flinke mennesker som som jeg liker å omgås.

Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Jeg jobber for det meste på kontoret, men det hender at jeg har hjemmekontor.

Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?
I det siste har jeg jobbet med et system som benytter maskinlæring for å generere et eiendomsprospekt fra en stor mengde ustrukturerte data. Vi er nå i en fase hvor vi setter opp infrastrukturen som dette systemet skal kjøre på.

Dette gjør vi deklarativt i Terraform. Det vil si, vi skriver infrastrukturen som kode, slik at vi får versjonering, og slik at vi raskt kan opprette, gjøre endringer på, eller ta ned de ressursene tjenesten avhenger av. Dette prosjektet har vært mitt første møte med konteinerteknologien Docker, og det har vært veldig spennende.

Hvor lenge har du jobbet som utvikler?
Jeg begynte som utvikler i deltid for litt i underkant av tre år siden, i løpet av studiene. Jeg ble ansatt i full stilling i fjor sommer, like etter endte studier.

Har du jobbet på samme sted hele tiden?
Ja.

Hvor gammel var du da du først begynte å lære deg programmering?
Jeg var nok rundt 25 år da jeg oppdaget programmering. Min bakgrunn for å utforske programmering er neppe unik; jeg hadde lyst til å lage mitt eget dataspill.

Min bakgrunn for å utforske programmering er neppe unik; jeg hadde lyst til å lage mitt eget dataspill.

Jeg fant en spilleliste på YouTube der det ble gjennomgått hvordan man kunne utvikle en spillmotor i Java. Siden jeg ikke hadde noen tidligere erfaring med programmering, så ble det i løpet av spillelisten mange spørsmålstegn fra min side, og jeg forsto at jeg måtte sette meg inn i de mer grunnleggende delene av Java og programmering generelt sett.

Etter at jeg hadde begynt å lære meg å programmere, så tok det ikke lang tid før jeg innså at dette var noe jeg kunne tenke meg å jobbe med.

Hva slags utdannelse har du?
Jeg har mastergrad i informatikk fra Universitetet i Bergen. Jeg begynte først på en bachelorgrad i datateknologi, og fikk fort stor interesse for fagfeltet. Jeg fikk særlig stor interesse for diskret matematikk og algoritmer, og valgte å ta en mastergrad i informatikk med spesialisering i algoritmeforskning. Jeg kan anbefale dette masterprogrammet til alle som liker algoritmiske problemstillinger!

Hvilke plattformer utvikler du vanligvis for?
Det meste jeg har utviklet har vært plattformuavhengig.

Hvilken pc-plattform/OS foretrekker du selv å bruke?
Jeg foretrekker å bruke Linux. I dag velger jeg nok Linux på grunn av vane, men den første gangen jeg installerte Linux var det fordi jeg var nysgjerrig og hadde et ønske om å lære mer.

Selv om jeg har brukt Linux i flere år, så er jeg fortsatt temmelig grønn, og det synes jeg egentlig er litt gøy. Det er hele tiden noe man kan få videre innsikt i, og Linux-miljøet er utrolig bra når det kommer til støtte. Det er mange distribusjoner å velge mellom, der noen er mer nybegynnervennlige enn andre.

Selv har jeg installert Fedora 29, som fungerer sømløst og lar meg konsentrere meg om oppgavene mine. Jeg vil si at Fedora er ganske så nybegynnervennlig.

TypeScript har den fordelen at man kan angi datatyper for de variablene man introduserer i programmet

Hvilke programmeringsspråk benytter du?
På jobb benytter jeg i hovedsak Java for backend-utvikling, da det er Java de fleste av systemene våre er skrevet i. Vi er i ferd med å ta i bruk Kotlin også.

Som sagt så hender det at jeg jobber litt med frontend også, og jeg bruker da enten JavaScript eller TypeScript, der sistnevnte er et språk som oversettes til JavaScript, og som har den fordelen at man kan angi datatyper for de variablene man introduserer i programmet, slik at man før kjøretid kan fange opp feil i kildekoden.

I løpet av arbeidet med masteroppgaven min ble det ikke så mye programmering, men i deler av oppgaven var jeg avhengig av å utføre noen ganske omfattende søk maskinelt. Dette var tunge jobber som kunne kjøre i opp til en dag før det ble produsert et resultat. Disse jobbene valgte jeg å skrive i C, siden løsninger skrevet i C ofte kjører raskere enn løsninger skrevet i andre språk.

I det siste har jeg begynt å lære meg Python, først indirekte ved å hjelpe min samboer som holder på å lære seg å programmere, deretter på eget initiativ siden Python ofte brukes i forbindelse med Data Science, et fagområde jeg ønsker å bevege meg mer inn i.

Hva er favorittspråket og hvorfor?
Vanskelig spørsmål! For tiden er nok svaret Python,  rett og slett fordi man kan gjøre så mye snedig i Python. 

Eksempelvis så har Python er kortfattet syntaks for å definere lister, ikke så ulik notasjonen vi bruker for bygge opp mengder i mengdelære. Ellers så opplever jeg at man raskt kommer til mål i Python; man kan få til mye ved å skrive lite.

Hvilke to verktøy greier du deg ikke uten, og hvorfor?
IntelliJ som integrert utviklingsmiljø mot JVM (Java Virtual Machine), rett og slett fordi det sparer meg for mye tid, og fordi det i mange tilfeller hjelper meg å skrive mer fornuftig kildekode.

Det er selvfølgelig andre teksteditorer og integrerte utviklingsmiljøer som tilbyr mye av den samme funksjonaliteten, og noen av disse verktøyene bruker jeg i andre sammenhenger, men til utvikling mot JVM foretrekker jeg IntelliJ.

Jeg er veldig begeistret for Atlassian-økosystemet.

Med hensyn på arbeidsflyt må jeg si at jeg er veldig begeistret for Atlassian-økosystemet, særlig integrasjonen mellom Jira, Bitbucket og Bamboo.

Hva slags oppgaver liker du best å jobbe med?
Jeg liker å jobbe med oppgaver som krever at jeg setter meg inn i noe nytt, samt oppgaver som byr på problemer som ikke er rett frem å løse.  Av en eller annen grunn er jeg også veldig glad i å refaktorere kildekode, det vil si skrive om kode på en måte som ikke endrer oppførselen til programmet. Det er ingenting som er bedre enn å forenkle eller slette unødvendig kildekode!

Hvordan sørger du for å holde deg faglig oppdatert?
For det meste hører jeg om nye teknologier og lignende gjennom kolleger og venner i bransjen. Dersom noe virker relevant eller interessant, så utforsker jeg dette videre.

I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?
Våre tjenester kjører i skyen til AWS (Amazon Web Services), og vi har lenge vært svært opptatt av DevOps. Siden jeg er et relativt nytt tilskudd til utvikler-miljøet og kun har jobbet hos Ambita, så har jeg ikke så mye erfaring med andre måter å jobbe på.

Konteinere er noe jeg nettopp har begynt å jobbe med, og det har hittil vært utrolig gøy. Maskinlæring er noe jeg ikke har jobbet så mye med ennå, men noe som jeg kommer til å jobbe mer med fremover, og det gleder jeg meg til.

Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Flere og flere prosesser man hittil har utviklet egne løsninger for, blir tilgjengelige som tjenester hos skyleverandører. Dette er ofte prosesser som ikke løser forretningsproblemene vi egentlig er interesserte i å løse, men som heller fasiliterer de faktiske løsningene av forretningsproblemene.

Jeg tror at denne utviklingen med tiden vil la oss oppnå en større hastighet når det gjelder å løse forretningsproblemer enn vi har i dag, noe som er utrolig gunstig.

Sikkerhet er et veldig viktig fagområde som jeg ikke kan nok om, så der ønsker jeg virkelig å gjøre et kompetanseløft.

Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Det er så mangt! Sikkerhet er et veldig viktig fagområde som jeg ikke kan nok om, så der ønsker jeg virkelig å gjøre et kompetanseløft. Data Science er også et fagområde jeg vil utforske. Når det gjelder teknologier, så er Kubernetes og Pulumi blant teknologiene jeg vil lære mer om.

Er det noe som frustrerer deg i jobben? 
Tusjer med lite blekk, mine egne evner i CSS og å finne ut hvordan jeg løser noe like før jeg skal gå for dagen.

Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Jeg skal delta på Booster Conference 2019 i Bergen i mars. Dette blir min første konferanse. Det er mange spennende forslag til workshops, lyntaler og lignende i år, så jeg gleder meg mye!

Hvilket forhold har du til innebygd personvern?
Det er viktig. Som bruker ønsker jeg å vite hvilke opplysninger en virksomhet har om meg,
og at disse er trygt forvaltet.

Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?
Nei, men jeg setter veldig stor pris på de som gjør det!

Hvor mye programmerer du på fritiden?
Ikke så mye som før. Selv om jeg synes det er utrolig gøy å programmere, så ønsker jeg som oftest å bruke fritiden min på andre aktiviteter. Jeg er vel det man kaller en 9-til-5-utvikler. Når det er sagt, så gleder jeg meg alltid til å komme tilbake på jobb for å fortsette der jeg slapp.

Jeg er vel det man kaller en 9-til-5-utvikler.

Har du noen (andre) hobbyer?
Det har jeg. Jeg synes at buldring er veldig gøy. Buldring er en form for klatring der man klatrer uten tau, i en sikker høyde, og som oftest over tjukkasmadrasser. Jeg synes også det er veldig gøy å fiske, særlig med flue i elv.

Hva gleder du deg mest over ved å jobbe som utvikler?
At det til enhver tid er nye utfordringer. Jeg liker godt å sette meg inn i nye ting, og det er det aldri et underskudd av når man jobber som utvikler.

Opplever du at jobben som utvikler har noen negative sider?
Nei, egentlig ikke.

Hva er det beste frynsegodet du får?
Vi har mange gode frynsegoder, men det beste frynsegodet må være lunsj, rett og slett på grunn av den gode maten de lager i kantinen vår!

Kommentarer (0)

Kommentarer (0)
Til toppen