utviklerprofilen
Utvikler Vivaldi for Android: – Jeg får lov å gjøre det jeg liker best hver dag
Les ukens utviklerintervju
Ukens utviklerprofil er Karianne Ekern, som er utvikler i mobilteamet til Vivaldi Technologies.
Kan du kort beskrive stillingen og oppgavene dine?Jeg jobber med å integrere Chromium og Vivaldis nettleserkode for Android-plattformen, og med å utvikle ny funksjonalitet for Vivaldi på mobil.
Jeg har for eksempel laget vår egen startside med Speed Dials og utviklet Notater og Paneler for mobilversjonen av Vivaldi. I tillegg til utvikling av ny funksjonalitet, blir det en del bugfiksing. Jeg har som regel to møter i løpet av en uke, et fellesmøte med alle kontorene i Vivaldi (i Oslo, Reykjavik og Magnolia, USA), og et med mobilteamet, som består av utviklere, testere og designere.
Hvorfor valgte du akkurat denne arbeidsgiveren?Det er viktig for meg å ha en jobb jeg synes er meningsfull og som bidrar på en positiv måte med tanke på trender med datainnsamling, manipulering av brukere og personvern. Der er Vivaldi helt enestående. Det at vi har en streng filosofi på å ikke samle inn unødvendige data om brukere, og å være et etisk alternativ til nettlesere som Chrome, var helt avgjørende for min del.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?Jeg jobber på kontoret eller hjemme.
Jeg har det siste året jobbet med å få på plass en versjon av Vivaldi for Android.
Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?Jeg har det siste året jobbet med å få på plass en versjon av Vivaldi for Android. Det innebar å finne en måte å bygge Vivaldi på Chromium open-source-prosjektet og på Vivaldis kodebase for Desktop. Det betyr koding i C++, JNI (Java Native Interface, som er et grensesnitt for å kalle native C++-kode fra Java-kode i Android) og Java.
Jeg laget først en implementasjon av Notater med JNI, for å se om vi ville gå videre med en slik tilnærming. Siden har vi jobbet med å bygge på mer funksjonalitet. Akkurat nå jobber vi med å stabilisere og gjøre klar Android-versjonen for final release, og vi har mange ideer til ny funksjonalitet som vi ønsker å starte med så snart en final release er på plass.
Hvor lenge har du jobbet som utvikler?Jeg har jobbet som utvikler siden jeg var ferdig med mastergraden min i informatikk i 2005, det blir snart 15 år.
Har du vært ansatt ved samme sted hele tiden?Nei, jeg jobbet først i Opera Software i åtte år, så som konsulent i Knowit i fire år. Etter det jobbet jeg ett år i mobilteamet i Kahoot, og siden august 2018 har jeg jobbet i Vivaldi. Jeg har vært heldig med valg av arbeidsgivere, og har jobbet på mange spennende prosjekter og med svært kompetente kolleger.
Min første jobb som utvikler etter studiene var i Unix-avdelingen i Opera Software, der jeg ble kastet ut i å implementere en versjon av nettleseren Opera for Nintendo Wii. Noen år senere byttet jeg over til Opera sin Desktop-avdeling, som var et fantastisk team. Noen av dem jeg jobbet sammen med der, er også mine kolleger i Vivaldi.
Det aller første jeg programmerte var makroer i Visual Basic for Word.
Hvor gammel var du da du først begynte å lære deg programmering?Før jeg begynte på informatikkstudier, jobbet jeg som manusredaktør for Universitetsforlaget, og det aller første jeg programmerte var makroer i Visual Basic for Word. Dette var for å automatisere repetitive oppgaver som korrekturlesere og språkvaskere ellers måtte gjøre. Utover det så lærte jeg å programmere under studiene på institutt for informatikk ved Universitetet i Oslo, som jeg startet på i 2002.
Hva slags utdannelse har du?
Jeg har bachelor og master i informatikk fra Universitetet i Oslo (2002-2005), og har også studert matematikk, idéhistorie og mellomfags- og hovedfagsstudier i litteraturvitenskap. Idéhistorie er et fantastisk fag, som jeg er veldig glad for å ha i bagasjen. Det burde egentlig være obligatorisk i skolegangen. Det gir nyttig perspektiv å vite litt om hvordan ideer og tenkning har endret seg opp gjennom historien.
Siden jeg startet på informatikk i voksen alder, og allerede hadde et studium – og studielån – så måtte jeg ta informatikkstudiet på mindre enn normert tid. Det var ganske hektiske 3,5 år, med studier, deltidsjobber og tre små barn, men jeg trivdes utrolig godt på informatikk, og var aldri i tvil om at jeg hadde funnet det jeg ønsket å drive med.
Hvilke plattformer utvikler du vanligvis for?Jeg har jobbet mye med både kryssplattform utvikling i C++ og utvikling for Unix og senere OS X. De siste årene har jeg jobbet mer og mer med mobilutvikling for iOS og Android. I Vivaldi rakk jeg å fikse noen bugs på Vivaldi for Desktop i C++ og Javascript, før vi startet å utvikle Vivaldi for Android.
Hvilken pc-plattform/OS foretrekker du selv å bruke?Tidligere år ville jeg nok sagt Linux, nå bruker jeg helst en Mac. Byttet kom etter at jeg startet å utvikle for OS X i Desktop-avdelingen i Opera. Med en Mac så har jeg stort sett det samme som på Linux, samtidig som alt er veldig enkelt og brukervennlig, om du foretrekker det.
Så lenge man har lært et par språk godt, så er det ikke noe problem å lære seg nye språk ved behov.
Hvilke programmeringsspråk benytter du?Akkurat nå går det mest i Java og C++. Men jeg har også jobbet mye med Objective-C, Swift, Python, Ruby og Kotlin. Jeg har tatt kurs i Scala og programmert litt i Erlang på hobbybasis. Så lenge man har lært et par språk godt, så er det ikke noe problem å lære seg nye språk ved behov.
Hva er favorittspråket og hvorfor?Jeg har i grunnen ikke noe favorittspråk, selv om jeg liker C++ veldig godt. Siden vi benytter Chromium-koden i Vivaldi, så legger det en del føringer på hvilke språk og teknologier vi kan ta i bruk, dermed har det blitt Java så langt ved siden av C++, og ikke Kotlin.
Hvilke to verktøy greier du deg ikke uten, og hvorfor?Det jeg bruker i det daglige på jobb er terminalen og en editor, for øyeblikket går det i Android Studio og VS Code. I tillegg til en nettleser. Eller flere. Jeg bruker selvfølgelig Vivaldi, men også andre nettlesere for å gjøre meg kjent med dem.
Hva slags oppgaver liker du best å jobbe med?
Jeg liker best å jobbe med utfordrende oppgaver som gjør det nødvendig å forske og grave litt for å finne en bra tilnærming eller som gjør at jeg må lære noe nytt.
Hvordan sørger du for å holde deg faglig oppdatert?Jeg leser mye faglitteratur, følger med på noen blogger, og ser på talks fra konferanser.
I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?I liten grad, siden jeg i hovedsak har jobbet med produktutvikling.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?Maskinlæring har satt etterrettelighet og etiske problemstillinger på dagsordenen. Med datainnsamling, personalisering og bruk av maskinlæring har vi sett at teknologien kan brukes til å manipulere brukerne og virkeligheten.
Etikk blir forhåpentligvis viktig for alle utviklere.
Etikk blir forhåpentligvis viktig for alle utviklere, og både etikk og personvern og annen relevant lovgivning bør inn i informatikkstudier. Mer mangfold i bransjen blir også viktig, skal vi lage løsninger for alle mennesker, så må vi ha bedre representasjon av alle grupper og aldre.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?Hadde jeg begynt på informatikkstudier rett etter videregående skole, ville jeg nok tatt mer matematikk ved siden av informatikkstudiene. Fag som algebra, tallteori og kryptografi ga mersmak under studiene, og jeg skulle gjerne lært mer.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Jeg deltar ikke så ofte på konferanser fordi det har vært vanskelig å kombinere med ansvar for barn. Men jeg ser mye talks fra konferanser på video.
Jeg ønsker egentlig å begrense hvor mye jeg flyr, sånn sett så er det greit å ikke fly hit og dit for å se talks jeg like gjerne kan se på video. Men jeg er glad i lære, lese og å se på talks, og jeg har vært en del ganger på Mobile Era, JavaZone, NDC og WebRebels. Nå følger jeg stort sett med på Google IO, Android Dev Summit, og noen andre Kotlin- og Android-konferanser.
Hvilket forhold har du til innebygd personvern?Personvern er veldig viktig, og før jeg begynte i Vivaldi vurderte jeg faktisk å ta noen juridiske fag for å lære mer om dette. Innsamling av data og bruken av persontilpassede tjenester har tatt helt av innenfor teknologiske selskaper de siste årene, og det er en skremmende utvikling. Samtidig som det blir mer og mer kritisk omtale av metodene disse selskapene bruker, er det ofte hit bransjen ser for å hente ideer og metoder, og da følger problemene med.
Det finnes egentlig ikke alternativer til å gi fra oss altfor mye privat informasjon.
Barn helt ned i småskoletrinnet på barneskolen får utdelt iPads og Chromebooks og bruker en tjenester på nett i skolearbeidet der de må «krysse av» for å godta diverse innsamling av data, uten å ha noen reell mulighet til å takke nei, eller for å forstå hva de «godkjenner». Det samme gjelder i stor grad for voksne, at det ikke egentlig finnes alternativer til å gi fra oss altfor mye privat informasjon.
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?Nei, men jeg har jobbet med prosjekter som er open source, som operawatir og desktopwatir, som var testverktøy vi laget da jeg jobbet i Desktop-avdelingen i Opera Software. De er skrevet i C++, Java og Ruby.
Hvor mye programmerer du på fritiden?
Lite. Det hender jeg programmerer litt sammen med datteren min, men ellers er det mest jobbrelatert, enten direkte eller for å sette meg inn i nye rammeverk, programmeringsspråk eller API-er.
Har du noen (andre) hobbyer?
Løping. Å være ute og drive en eller annen form for fysisk aktivitet er helt nødvendig når man sitter stille åtte timer hver dag på jobb. Jeg elsker å løpe. Jeg løper gjerne til jobb i stedet for å ta buss og trikk, og deltar i flere maraton og ultraløp i året.
Løping er en ypperlig måte å få luftet hodet, og nye ideer eller løsninger på problemer kan ofte dukke opp under en løpetur. Jeg leser også mye, både faglitteratur og skjønnlitteratur.
Jeg får lov å gjøre det jeg liker best hver dag, å drive problemløsning, være kreativ og å spore opp kilder til bugs.
Hva gleder du deg mest over ved å jobbe som utvikler?Det er et fantastisk yrke. Jeg får lov å gjøre det jeg liker best hver dag, å drive problemløsning, være kreativ og å spore opp kilder til bugs. I tillegg er det et yrke der du hele tiden må lære noe nytt, og det trives jeg veldig godt med.
Programmering kan også brukes til å løse utrolig mange ulike problemer, og det finnes en lang rekke spennende arbeidsplasser for den som er god på programmering. Du kan jobbe med alt fra pantemaskiner til å forbedre helsetjenester eller forenkle folks hverdag. I tillegg er det sentralt i alt vi omgir oss med, og det å kunne programmering og informatikk, betyr dermed at man har en helt annen mulighet til å forstå hvordan ting fungerer rundt oss.
Opplever du at jobben som utvikler har noen negative sider?Ikke egentlig. Det måtte være at det er en fryktelig stillesittende jobb. Og så er det altfor få kvinnelige utviklere, det er ikke bra verken for teamene, eller for produktene og tjenestene som lages.
Hva er det beste frynsegodet du får?Fantastisk lunsj og flinke kolleger. Å få se det jeg har jobbet med i bruk.