Posten Norges utviklingsmiljø består av mer enn 70 utviklere fordelt på 11 team, der noen av teamene jobber mot privatmarkedet og andre med å lage bedriftsløsninger.
Vi tok turen opp i 18. etasje i Posthuset i Oslo sentrum for å ta en prat med teamet som jobber med Posten-appen og Postens digitale pakkeboks. For hvordan virker egentlig disse pakkeboksene? Og hvordan er det å jobbe som utvikler i Posten?
Jan-Erling Borowski er produkteier for Posten-appen, og kan fortelle at de i fjor høst gjorde en større endring der IT og forretning i Posten ble enda tettere integrert.
– Vi har et stort DevSecOps-utviklermiljø der vi jobber i tverrfaglige team med ulike typer kompetanse, som for eksempel forretningsressurser, utviklere og designere i samme team, sier Borowski til kode24.
Suksess for pakkeboks
Hovedproduktet til app-teamet er ikke uventet Posten-appen, som kan brukes til å spore og varsle om pakker, sende pakker, finne åpningstider, og så videre.
Det er også denne appen som brukes til å åpne lukene i Postens pakkebokser. Disse pakkeboksene har ifølge Borowski vært en kjempesuksess, med 4.800 bokser på 1.700 lokasjoner i Norge.
– Rundt 2,4 millioner pakker ble hentet i pakkebokser med Posten-appen i 2022, sier Borowski.
Arild Nilsen er fullstack-utvikler på app-teamet og forteller at selve pakkeboksen er levert av et dansk selskap som heter SwipBox. Boksene kan plasseres nær sagt hvor som helst, ettersom de ikke trenger tilkobling til strøm.
Det er et langvarig batterimodul i boksen som gjør den i stand til å kommunisere med brukernes mobiltelefoner via Bluetooth Low Energy (BLE).
Ida Kristine Riseng er en av dem som jobber med utvikling av Android-appen, og forteller at selve pakkeboksen egentlig er ganske enkel.
– SwipBox har et eget SDK som vi bruker. All logikk skjer i appen vår via SDK-et. Det er enklere og gir større fleksibilitet å ha all logikk på vår side, sier Riseng.
«Via API-et kan vi sjekke tilstand på skapet og hva som er ledig.»
Et sikkerhets-token utveksles med boksen via Bluetooth. Har du riktig token så åpner luken seg og du kan ta ut pakken. Arild Nilsen legger til at appen snakker med en backend-tjeneste, som igjen snakker med API-et til SwipBox.
– Via API-et kan vi sjekke tilstand på skapet og hva som er ledig eller ikke. Dette synkroniseres mot SwipBox etter at appen har spurt vår backend om brukeren har lov til dette, sier Nilsen.
Går i strupen på native-kritikken: - Jeg er sjokkert over innlegget!
Kuttet ut hybrid-apper
De lærde strides om hvorvidt det er best å lage native-apper, eller heller satse på hybrid-/kryssplattform-apper laget i for eksempel React Native, Flutter eller Ionic – eventuelt en PWA (progressiv web-app).
I appteamet jobber de med native-apper, selv om det betyr at de er nødt til å vedlikeholde to kodebaser, og ikke minst ha utviklere som behersker to ulike programmeringsspråk.
– Vi har tidligere hatt en hybrid-app, men mange var ikke fornøyd med den. Så da gikk vi over til native, forteller Riseng.
Henrik Otgard er teamleder for de som jobber med Posten-appen for privatmarkedet, og koder på Android-appen sammen med Riseng. Han mener det er en god grunn til mange som har prøvd seg på kryssplattform-apper har endt opp med å gå tilbake til native.
– Med en hybrid løsning er du prisgitt leverandøren som lager den hybride løsningen, og risikerer å måtte vente en stund fra nye native-funksjoner lanseres til vi kan bruke dem, sier Otgard.
«Apple og Google har hundrevis av ingeniører som jobber med native apper, og de ligger alltid et steg foran.»
Kanskje Apple eller Google står på en scene og presenterer noe nytt og spennende som er mulig å gjøre i neste versjon av operativsystemet. Da kan det ta en stund før dette blir tilgjengelig i for eksempel Flutter eller React Native.
– Apple og Google har hundrevis av ingeniører som jobber med native apper, og de ligger alltid et steg foran, sier Otgard.
Teknologistacken Postens app-team jobber med ser slik ut:
- Android-appen skrives i Kotlin med Jetpack Compose
- iOS-appen skrives i Swift med Swift UI
- Alt nytt på backend skrives i Kotlin, men en del eksisterende Java-kode blir vedlikeholdt. Apache Maven. Terraform.
- PostGreSQL som database
- Spring Boot
- Kafka
Selvgående DevSecOps-team
App-teamet består av iOS- og Android-utviklere, UX-designere og fullstack-utviklere. Teamet er en blanding av ansatte og innleide konsulenter. Men konsulentene jobber lenge på samme sted, og deltar som om de hadde vært ansatt.
– Folk fra konsulentselskaper er her i snitt i rundt tre år, sier Otgard.
Alle teamene er selvgående, men har felles ressurser å støtte seg på.
– Vi får inn andre ressurser når vi må "ned i materien". For eksempel ligger så godt som alle tjenestene våre nå i skyen, i Azure. Ved behov får vi støtte fra infrastrukturteamet, sier Otgard.
«Så jobber vi smidig med continous deployment, med regelmessige app-utrullinger og små releaser.»
Det er også en støtte-/admingruppe som bistår alle teamene, i tillegg til at forretningsutviklere involverer seg blant annet på standup- og retrospektiv-møter.
– Så jobber vi smidig med continous deployment, med regelmessige app-utrullinger og små releaser.
- Vi må bort fra spesialiserte mobilutviklere!
Fleksible med hjemmekontor
De fleste teamene har to-tre dager på kontoret og hjemmekontor de andre dagene. De faste kontordagene er lagt på ulike dager for ulike team, slik at det skal være nok sitteplasser til alle utviklerne. Ellers er det alltid plass i fellessoner.
En av dem som er fornøyd med ordningen, er app-utvikler Ida Kristine Riseng.
– Vi hadde ikke så mye hjemmekontor før korona, det ble innført etterpå. Jeg synes det fungerer veldig bra, sier Riseng.
Det er viktig at alle er på kontoret samtidig på noen av dagene, blant annet med tanke på møter og det sosiale.
– Men alle møterommene er tilrettelagt med utstyr for de som trenger hjemmekontor kan delta i møtene, sier Otgard.
– Hva er det mest spennende dere jobber med nå?
– Det kommer masse nytt i appen, blant annet en bedre Hjem-skjerm og en modernisert pakkeliste. Av nye funksjoner kan jeg nevne at du vil kunne sjekke når pakker blir levert til din egen postkasse. Og snart skal du også kunne sende pakker fra de digitale pakkeboksene, avslutter Otgard.