Utviklerprofilen

Ved siden av å være utvikler selv, bruker Siv mye tid på lære håndverket til andre

Les uken utviklerintervju.

Siv Hollup er både utvikler hos Bouvet og foreleser ved Universitetet i Bergen.
Siv Hollup er både utvikler hos Bouvet og foreleser ved Universitetet i Bergen. (Foto: Ylva Seiff Berge)
EKSTRA

Les uken utviklerintervju.

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

Ukens utviklerprofil er Siv Hollup (37). Hun er ansatt hos Bouvet i Bergen, men er for tiden i 20 prosent permisjon for å jobbe som foreleser ved Institutt for informatikk ved Universitetet i Bergen.

Kan du kort beskrive stillingen og oppgavene dine?
Jeg er en full stack-utvikler med hovedvekt på arkitektur og backend. I det nåværende oppdraget mitt gjør også teamlead/tech lead og er med å utrede behov til systemene jeg lager. På universitetet skal jeg undervise systemkonstruksjon på bachelor-nivå, samt veilede masterstudenter.

Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Jeg har prøvd det meste, både på kontoret og ute hos kunder. Men jeg har også jobbet en del på hjemmekontor. I det nåværende oppdraget sitter jeg ute hos kunde.

Hjemmekontor kan være meget effektivt, men blir ensomt i lengden.

Alle de ulike variantene har sine fordeler og ulemper, det er i grunnen greit å variere litt. Hjemmekontor kan være meget effektivt, men blir ensomt i lengden. For meg er det viktig å ha noen å diskutere problemstillinger med, og sånn sett foretrekker jeg å sitte sammen med kolleger.

Kan du fortelle litt om prosjektet/prosjektene du har jobbet med i det siste?
Nå for tiden er jeg på oppdrag hos Equinor, hvor jeg jobber med løsninger for brønnplanlegging. Vi bruker Python på serverside og Javascript, React og D3 i frontend.

Tidligere har jeg jobbet hovedsakelig med serverside infrastruktur, som for eksempel SvarUt-prosjektet til KS, som håndterer postutsendelse fra kommuner til innbyggere og organisasjoner, og mer nylig med et REST-API for NDLA i forbindelse med fornyelse av deres systemer.

Hvor lenge har du jobbet som utvikler?
Jeg begynte å jobbe fulltid med utvikling for 4 1/2 år siden, men programmerte mye både i forbindelse med PhD-graden og jobben jeg gjorde ved universitetet før jeg begynte i Bouvet.

Har du jobbet på samme sted hele tiden?
Jeg har jobbet i en god del ulike oppdrag etter jeg begynte i Bouvet, men foretrekker oppdrag med horisont på ett år eller mer, slik at jeg får anledning til å bidra på best mulig måte til prosjektet. Det tar tid både å tilegne seg domenet og å utnytte tekniske plattformer for å løse problemer på best mulig måte.

Jeg brukte kommandolinjen i DOS på pappas maskin fra jeg var 7-8 år.

Hvor gammel var du da du først begynte å lære deg programmering?
Jeg var 19 da jeg begynte med programmering, men brukte kommandolinjen i DOS på pappas maskin fra jeg var 7-8 år. Selv om jeg var sent ute med å begynne å programmere, var konseptet med å gi kommandoer til maskinen velkjent, og det har definitivt formet måten jeg tenker på. 

Hva slags utdannelse har du?
Jeg er opprinnelig laborant og har jobbet med molekylærbiologi ved UiB før jeg tok mastergrad i informatikk og PhD i bioinformatikk.

Hvilke plattformer utvikler du vanligvis for?
I den grad jeg har utviklet for en spesifikk plattform er det serverside på Linux. I og med at jeg stort sett koder Java, Javascript eller Python, er det meste plattformuavhengig. Jeg har bidratt til en del webapplikasjoner, men de har i hovedsak vært myntet på store skjermflater der det ikke har vært særlig behov for mobiltilpasning.

Hvilken pc-plattform/OS foretrekker du selv å bruke?
De siste 8 årene har jeg brukt OS X, og før det brukte jeg Linux i mange år. OS X tiltrekker meg av flere grunner, kanskje først og fremst fordi det gir meg stor frihet i valg av verktøy.

Dersom et problem kan løses best med kommandolinjeverktøy, er det god (og stadig bedre) støtte for det, samtidig som jeg har tilgang til verktøy som tradisjonelt ikke finnes i for eksempel Linux-verdenen. I tillegg fungerer OS X godt i hverdagen, samtidig som at produktene til Apple er av god kvalitet og har gode skjermer.

Hvilke programmeringsspråk benytter du?
Hovedsakelig Java, Python, Javascript og shellscript. Jeg har også vært borti språk som C, Scala og Ruby.

Rent program-meringsmessig har jeg mer sans for Python, fordi det er så elegant og gir veldig konsis kode

Hva er favorittspråket og hvorfor?
Ulike språk har ulike fordeler. Java er for eksempel «verbost» og ikke det mest elegante språket, men jeg har virkelig sans for toolingen rundt Java. Det er mye som er løst på en veldig god måte og det er et stort miljø rundt språket som gjør det lett å finne løsninger på de problemene vi prøver å løse.

Rent programmeringsmessig har jeg mer sans for Python, fordi det er så elegant og gir veldig konsis kode. Toolingen rundt Python er også i stadig utvikling, så selv om miljøet rundt er mindre enn for Java, er det mye spennende som skjer som gjør språket mer aktuelt å bruke for større systemer.

Hvilke to verktøy greier du deg ikke uten, og hvorfor?
Jeg klarer meg ikke uten et ordentlig skall eller IntelliJ.

Det er kanskje urettferdig å oppgi skall siden det er en samling med uvurderlige verktøy (jeg inkluderer for eksempel git her), men kombinasjonen av et programmerbart interface og alle de enkle verktøyene som kan settes sammen, er utrolig kraftig for alt fra redigering av tekst til automatisering av deployment.

Som utvikler er en ordentlig IDE også høyt på listen, både fordi den er bra på å visualisere og studere kode, men også for dokumentasjon av bibliotek, og ikke minst refaktoreringsmulighetene den gir.

Som utvikler er det viktig å ha dyp forståelse av domenet vi jobber med.

Hva slags oppgaver liker du best å jobbe med?
Som utvikler er det viktig å ha dyp forståelse av domenet vi jobber med, så det er viktig å diskutere med kunden og delta i prosessen for å finne ut behov systemet skal oppfylle. Det i kombinasjon med å skrive elegant og robust kode som løser kundens behov, er en oppskrift på en bra arbeidsdag.

Hvordan sørger du for å holde deg faglig oppdatert?
I hverdagen søker jeg opp informasjon på nettet, men jeg er i alle fall på én konferanse og ett kurs i løpet av et år.

Jeg prøver å lese bøker, selv om det er litt få timer i døgnet til å komme gjennom alt jeg ønsker å lære meg.

I tillegg underviser jeg jevnlig og holder foredrag og workshops, noe som også hjelper med å holde meg faglig oppdatert.

I hvilken grad har metoder og teknologier som DevOps, maskinlæring, nettsky og konteinere endret måten du jobber på?
I ops-enden av skalaen er endringene store bare på noen få år. Det har blitt mye enklere å sette opp pipelines for å både jobbe med og deploye programvare. En interessant utvikling er også at utviklere i større grad blir tvunget til å kunne mer om både sikkerhet, kommunikasjon og nettverk for å kunne levere programvare med høy kvalitet.

Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Utviklingen går i et utrolig høyt tempo både med hensyn på hva som er teknologisk mulig å få til, hvilken informasjon som kan settes sammen og hvordan disse dataene brukes. Det etiske aspektet blir stadig viktigere, siden utviklere bygger alle systemene vi omgir oss med.

Utviklere har et særlig ansvar for å bygge programvare som gjør samfunnet bedre for alle, og her håper jeg det kommer store endringer fremover.

For å være en komplett utvikler er det viktig å ha noe kunnskap om alle fagområdene.

Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Helst skulle jeg vært ekspert på alt fra å forstå hva kunden trenger, helt ned til detaljer i programmeringsspråk og DevOps. For å være en komplett utvikler er det viktig å ha noe kunnskap om alle fagområdene, men de største problemene er stort sett et resultat av at domenet og problemet ikke er godt nok forstått.

Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Jeg har vært på Booster-konferansen i Bergen de siste fire årene, en meget god konferanse med høy kvalitet som fokuserer mye på workshops heller enn foredrag. Både sosialt og faglig er det en utmerket konferanse.

Hvilket forhold har du til innebygd personvern?
Innebygd personvern har endelig begynt å bli så aktuelt som det trenger å være, og jeg er glad for at det begynner å komme bedre lovverk rundt dette.

De største bedriftene i verden har blitt nettopp det på grunn av kunnskapen de har samlet om brukerne sine, uten at lovverket har fulgt etter med reguleringer.

Mange tjenester og bedrifter implementerer heller ikke lovverket riktig, og det er bare et tidsspørsmål før det kommer rettssaker som forhåpentligvis rydder opp i måten personvern skal håndteres.

Jeg var med og grunnla Nerdschool for fire år siden.

Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt – i så fall, hvilke(t)?
Jeg var med og grunnla Nerdschool for fire år siden og bidrar jevnlig til dette. Nerdschool er en åpen workshop-serie (foreløpig kun avholdt i Bergen) myntet på studenter og andre som er interessert i lære seg systemutviklingshåndverket. Vi har workshops annenhver uke på høsten og våren som omhandler det meste man trenger å lære for å kunne bli en effektiv utvikler. Både workshops og forelesningsmateriell er ligger åpent tilgjengelig på Github og via Google Docs. API-et jeg var med og utviklet for NDLA er også open source.

Hvor mye programmerer du på fritiden?
Utover arbeidet med Nerdschool, blir det lite programmering på fritiden, men jeg jobber innimellom med å lage spill og oppgaver for å introdusere barn i barnehagealder for programmering. Evnen til å kunne forstå hvordan datamaskiner virker og hvilke begrensninger de har er viktig å forstå så tidlig som mulig, og dessuten er det kjempemoro å se hvordan barn kan lære seg disse konseptene samtidig som de er aktive i lek både fysisk og mentalt.

Har du noen (andre) hobbyer?
Jeg er glad i å trene, og vi har et stort byggeprosjekt på gang som tar opp mye av tiden hjemme. Skulle det være flere timer i døgnet finner jeg frem kamera og tar bilder.

Jeg velger oppdrag som lar meg bidra til å bygge opp og videreutvikle samfunnet.

Hva gleder du deg mest over ved å jobbe som utvikler?
Det er to aspekter jeg får mest glede av. Det første er å løse problemer slik at hverdagen blir enklere for dem jeg lager systemer for. Jeg velger oppdrag som lar meg bidra til å bygge opp og videreutvikle samfunnet.

Det andre er å sette andre i stand til å kunne løse problemer for andre. Mitt bidrag til samfunnet i form av kode kommer sannsynligvis til å være begrenset, men hvis jeg kan bidra til å forme en generasjon av nye utviklere, er det samlede bidraget de kan komme med betydelig.

Opplever du at jobben som utvikler har noen negative sider?
Samlet sett synes jeg jobben som utvikler er strålende, men det er frustrerende å løse feil problem.

Dette skjer av flere grunner.

Dersom det reelle behovet ikke utredes godt nok, ender vi opp med å lage systemer som ikke løser de problemene kunden faktisk har.

En annen vanlig feil er at utviklere ikke får anledning til å lære nok om domenet. Utviklere er avhengig av dyp domeneforståelse for å velge riktig teknologi, og feil valg kan få store konsekvenser over tid og skaper begrensninger på hvordan systemet kan utvides.

Føler at du får den lønnen du fortjener?
Lønnsnivået i IT-bransjen er generelt høyt, og sammenlignet med essensielle yrker som helsepersonell og lærere har jeg god lønn. Mange av oppdragene mine har vært for offentlig sektor, og for meg som også har jobbet med forskning hvor lønnen min er direkte finansiert av det offentlige, er det viktig å bidra tilbake til samfunnet når jeg kan. Dette er noe av motivasjonen for å drive med formidling og å lære vekk programmering ved enhver anledning.

Hva er det beste frynsegodet du får?
Helse- og behandlingsforsikring, slik at jeg kan komme meg raskt til behandling og tilbake i jobb dersom jeg skulle bli syk.

Her kan du lese flere intervjuer med norske utviklere »

Kommentarer (0)

Kommentarer (0)
Til toppen