utvikling
Konteinere har gjort det mye lettere å gjenskape problemer, mener utvikleren Sten Roger
Denne uken har vi intervjuet Sten Roger Sandvik (45), som i praksis både er utvikler og utviklingssjef hos Enonic, et norsk selskap som leverer en egen, webbasert applikasjonsplattform.
Kan du kort beskrive stillingen og oppgavene dine?
Min stilling er VP Engineering. Fancy tittel, men det sier et par ting. Først så sitter jeg i ledergruppen og er med i strategiske beslutninger. Har også ansvaret for våre utviklere og hele utviklingsprosessen. Fra planlegging, prototyping, utforming av produktet, utvikling, testing og utrulling. Har og ansvaret for selve miljøet rundt plattformen. Siden alle mine utviklere er ganske så selvdrevne, så består jobben av 80 prosent programmering/prototyping og bare 20 prosent direkte administrativt.
Hvor jobber du mest, på kontoret, på hjemmekontoret eller ute hos kunder?
Jeg jobber mest på kontoret. Det hender jeg har hjemmekontor, men det er ganske sjeldent. Noen ganger er jeg også hos kunder for å hjelpe til med tilpasninger, feilrettinger og tekniske møter.
Kan du fortelle litt om prosjektet/prosjektene du jobber med akkurat nå?
Akkurat nå jobber jeg med en applikasjonsplatform med tilhørende CMS. Siden vi har bygget en NoSQL-database basert på Elasticsearch, er det mye jobb og tanker rundt konsistens av data. Noe av det morsomste akkurat nå er å jobbe med GraphQL. Dette er en ny måte å spørre om data på og som begynner å bli veldig populær – brukes mye av Facebook. Ett annet stort element i applikasjonsplattformen er modularisering. Her bruker vi OSGi som er en relativt gammel standard for dynamiske moduler – må ikke forveksles med Jigsaw i Java 9.
Hvor lenge har du jobbet som utvikler?
Har jobbet som profesjonell utvikler i over 20 år. Før det jobbet jeg og med programvareutvikling, men mest på ikke-betalte fun-projects.
Har du jobbet på samme sted hele tiden?
Nei, før det jobbet jeg som utvikler i ett annet selskap. Og før det igjen var jeg gründer og startet mitt eget selskap.
Hvor gammel var du da du først begynte å lære deg programmering?
Trur jeg var rundt 12 år gammel, men pappa må gjerne rette på meg her (hvis han leser dette).
Hva slags utdannelse har du?
Har studert teknisk kybernetikk ved NTNU.
Hvilke plattformer utvikler du vanligvis for?
Jeg utvikler vanligvis på Java. Applikasjonene kjører da på alt fra Windows, Mac til Linux.
Hvilken pc-plattform/OS foretrekker du selv å bruke?
Jeg foretrekker Mac og OS X. Litt fordi jeg synes det bare «fungerer». Vet det er mange som er uenig med meg der, men jeg digger OS X. Kunne helt sikkert ha brukt Linux også, men synes OS X fungerer helt utmerket.
Hvilke programmeringsspråk benytter du?
I det daglige benytter jeg Java, Javascript, Typescript, Groovy og Go. Java for server-delen av løsningen. Javascript og Typescript for UI-delen. Groovy for både testing og bygg-scripts (samt bygg-utvidelser). Og til slutt Go for enkle CLI-applikasjoner og super-enkle server-applikasjoner.
Hva er favorittspråket og hvorfor?
Jeg synes virkelig Go er morsomt. Men Java er på en veldig god nummer 2. Har lenge hatt Java som nummer 1, men jeg digger hvor enkelt noen ting er i Go.
Hvilke to verktøy greier du deg ikke uten?
Greier meg ikke uten IntelliJ Idea og Git. IntelliJ Idea er jo en helt genial IDE som virkelig hjelper meg i mitt daglige arbeid. Git (og GitHub) er og en viktig del av arbeidet. GitHub bruker vi mye både til kildekode og administrative ting (issues, milestones, dokumentasjon).
Hva slags oppgaver liker du best å jobbe med?
Prototyping. Spesielt helt nye ting jeg vet veldig lite om.
Hvordan sørger du for å holde deg faglig oppdatert?
Jeg leser mye på diverse blogger. Følger med på nyheter rundt teknologi og programvare. Og leser kildekode fra andre prosjekter. Følger hele tiden med på trending på GitHub for å se om det er noe kult nytt.
I hvilken grad har metoder og teknologier som DevOps, nettsky og konteinere endret måten du jobber på?
Testing av produksjonsmiljø har blitt enklere ved hjelp av Docker. Mye lettere å gjenskape problemer man noen ganger bare måtte gjette (kvalifiserte of-course) seg til. Men nå kan man (mange ganger) gjenskape dette i ett Docker-miljø.
Ser du noen trender framover som virkelig vil forandre hverdagen til utviklere?
Server-less. Altså man har jo servere, men forholder seg ikke til dem. Og PAS – platform as a service.
Hvilke teknologier eller fagområder skulle du gjerne kunnet mer om?
Lover og regler. Lisensiering. Personvern og direktiver for datalagring.
Deltar du jevnlig på konferanser? I så fall, hvilken er den viktigste for deg?
Er nå og da på konferanser. JavaZone er alltid morsomt – masse god mat med noen bra foredrag. NDC i år var også veldig spennende. Første gangen på NDC for meg. Ellers holdt jeg ett innlegg på årets Gradle Summit i San Francisco tidligere i år.
Hvilket forhold har du til innebygd personvern?
Nei, ikke så veldig forhold til det. Men vi (som alle andre) i denne bransjen må nok lese oss litt mer opp på dette – veldig snart.
Hvor mye programmerer du på fritiden?
Litt for mye. Er mange ganger du finner meg knatrende på ett eller annet prosjekt.
Bidrar du, enten i jobben eller på fritiden, til noe åpen kildekode-prosjekt?
Ja, jobber med open-source i fritiden. Var tidligere med og jobbet med Apache Felix, men har ikke blitt så mye tid til det. Nå jobber jeg mest med utvidelser til Gradle (Gradle Node Plugin) og noen små mikro-tjenester skrevet i Go.
Hva gleder du deg mest over ved å jobbe som utvikler?
Alle morsomme utfordringene. Og det å faktisk skape noe andre bruker. Er veldig dårlig på å strikke, så dette er mitt bidrag til menneskeheten. LOL.
Opplever du at jobben som utvikler har noen negative sider?
Det er ikke en 8-16 jobb. I hvert fall ikke for meg. Og til tider litt lite fysisk aktivitet - er jo veldig altoppslukende.
Føler at du får den lønnen du fortjener?
Ja, men vi vil jo alltid ha mer. Føler jeg jobber mye og i min bransje er det vanskelig å sette en fast pris på det arbeidet man gjør.