– Et paradigmeskifte i teknologiverdenen

Forte_ Intervjuet er en månedlig intervjuserie med ansatte i Forte Digital. Undertegnede tok en prat med Benjamin Hope, utvikler i Forte Technology, for å snakke om karriere, livet som konsulent, C# og en ny teknologi som kan bli et paradigmeskifte i bransjen.

Skytjenester i Microsoft Azure

Benjamin Hope er én av våre 40 teknologer som jobber på Oslo-kontoret og har jobbet som utvikler i Forte Digital siden juni 2019. Her bistår han våre kunder både med teknisk rådgivning og med utvikling.

– Jeg jobber hovedsakelig med skytjenester på Microsoft Azure-plattformen bygget med C# og .NET Core. Oppgavene og arbeidshverdagen i Forte er variert. Jeg gjør alt fra utvikling, deployments, Scrum, automatisering og testing til DevOps, CI/CD, dev tooling, dokumentasjon. Den variasjonen er helt fantastisk!

Hvorfor valgte du å starte i Forte Digital?

– Først og fremst fordi jeg ønsker å jobbe i godt fagmiljø og at jeg ønsker å jobbe med moderne teknologi. I Forte får jeg begge deler. Før jeg startet i her jobbet jeg med nisje-teknologi i en start-up. At vi nesten utelukkende jobber med skyteknologi, mer fremtidsrettet og moderne teknologi var veldig viktig for meg da jeg startet i selskapet. Jeg har også blitt vist enorm tilliten siden dag en og det viktig for meg. 

– Perfekt å være konsulent

For Benjamin er læring på jobb noe av det han verdsetter aller mest og forteller at konsulentyrket og tverrfagligheten jobben byr på er stimulerende for å lære seg nye ting. 

– Samtidig elsker jeg å lære nye ting. Derfor er det perfekt å være konsulent, siden man vanligvis får utvikle løsninger basert på ny teknologi og på den måten viktig å holde seg oppdatert. Det er også veldig gøy å jobbe i et tverrfaglig miljø i skjæringspunktet mellom tech, design og business.

En ambisiøs teknologisatsing

Benjamin har det siste året jobbet på plattform-teamet hos Sylinder AS (NorgesGruppen). Den digitale tjenesteplattformen er utviklet basert på tjenester i Microsoft Azure Cloud, og inneholder veldig store mengder med data om produkter, priser, butikker og kjøpsmønster. Disse dataene danner grunnlaget for å utvikle tjenester som er personaliserte og relevante for hver enkelt kunde.

– Hos Sylinder har vi mange autonome lag som jobber med de digitale flatene ut mot kunder. Sylinder AS jobber med en ambisiøs satsing på teknologi-fronten. Det er derfor en svært spennende tid der vi bryter opp og moderniserer arkitekturen, samtidig som vi setter standarden for hvordan organisasjonen skal jobbe med teknologi fremover.

Rask og smidig utvikling

Som leverandør av en moderne tjenesteplattform til NorgesGruppen er Forte Digital sentralt i denne satsingen. Tjenesteplattformen sikrer blant annet rask og smidig utvikling på en standardisert måte.

– For å få dette til, går vi opp løypa for de andre lagene, og bygger vi nødvendig infrastruktur, best practices, dev tooling, templates, onboarding, samt et sett med grunntjenester og grunnkomponenter, forteller Benjamin.

Enormt datagrunnlag

NorgesGruppen er Norges største aktør innen salg og distribusjon av dagligvarer, både til privat- og bedriftsmarkedet. Virksomheten har 1 800 dagligvarebutikker innenfor ulike kjedekonsepter som Kiwi, Spar, Joker og Meny. Totalt sysselsetter NorgesGruppen 28 000 ansatte, nærmere 41 000 når ansatte i kjøpmannseide butikker er inkludert.

– At mange av tjenestene vi utvikler skal serve data til såpass mange brukere, er spennende i seg selv! Det er rett og slett et helt enormt datagrunnlag. Vi jobber med ny og fremtidsrettet teknologi og har mye frihet til å gjøre egne teknologi- og designvalg. Jeg får bygge tjenester fra scratch og følge dem gjennom hele livssyklusen (dev-testing-prod-vedlikehold-forbedringer). Det er utrolig kult! 

Dette er en ekstremt interessant teknologi som brukes mye av verdens ledende tech-selskaper. Slik jeg ser det utgjør dette et paradigmeskifte fordi vi som utviklere må tenke helt nytt rundt hvordan vi bygger tjenestene.

– Et paradigmeskifte

Som utvikler i Forte Digital har Benjamin og resten av teamet jobbet med en ny datastrategi basert på Apache Kafka. Kafka er en event-streaming-plattform, som hjelper utviklerne å flytte data mellom tjenester ved hjelp av meldings-køer. 

– Dette er en ekstremt interessant teknologi som brukes mye av verdens ledende tech-selskaper. Slik jeg ser det utgjør dette et paradigmeskifte fordi vi som utviklere må tenke helt nytt rundt hvordan vi bygger tjenestene.

Hvor utbredt er plattformen i Norge?

– Plattformen er mest utbredt blant de største private og offentlige virksomhetene i Norge. For de mindre er det ikke like utbredt fordi det enten er mangel på kompetanse eller at oppstartspris på kluster er for dyrt. Høye driftskostnader har vært en blocker lenge, men nå kan man få Kafka driftet av for eksempel Confluent. Det kan bidra til at enda flere mindre virksomheter kan ta i bruk denne fantastiske plattformen. 

– Det er det sjefen min vil jeg skal si

Over til noe annet. Det blir ikke et bra utviklerintervju uten standardspørsmålet: Hva er favorittspråket og hvorfor?

– Jeg har ikke egentlig et favorittspråk, fordi jeg mener man må ha en pragmatisk tilnærming. Det betyr at man bør bruke riktig språk til riktig jobb. Det er det sjefen min vil jeg skal si, sier Benjamin med et lurt smil. 

– Men siden jeg bruker 99 prosent av utviklingstiden min på C#, må jeg nesten gå for det. 

Benjamin forteller at han alltid har likt C# godt, blant annet fordi det er mindre komplekst og enklere å lære enn tidligere C-varianter og runtimen tar seg av opprydding av minne. 

Jeg vil heller at applikasjonen min kræsjer slik at jeg kan håndtere feilen, enn at applikasjonen fortsetter i det stille og uforutsette ting begynner å skje.

Et udokumentert grensesnitt

– Selv om mange synes C# er litt deklarativt og omstendelig, synes jeg statisk typing luker bort såpass mange feil som kan dukke opp i mer dynamiske språk, at det er verdt det. Jeg vil heller at applikasjonen min kræsjer slik at jeg kan håndtere feilen, enn at applikasjonen fortsetter i det stille og uforutsette ting begynner å skje.

– For en stund tilbake fikk jeg oppgave å kartlegge api-et til et legacy-system basert på javascript, node.js og express.js. Det var virkelig et mareritt, da grensesnittet var udokumentert og kun brukte dynamiske objekter. Eneste måte jeg kunne løse oppgaven på var ved å lese alle kodelinjene.