Glow - verktøyet for mye av Posten sin pakkelevering. Dette inkluderer ruteplanlegging, administrasjon av utsendelse av pakker for utsenderne,
og grensesnittet til mottagerene av pakkene (pakkesporing, osv).
Hos Posten Bring har Åshild jobbet de siste fire årene som fullstackutvikler av et trafikkplanleggerverktøy for pakkeflyt. Der ble Kotlin, PostgreSQL, kotliquery, React, React-Router, Typescript og tidligere JavaScript benyttet.
Hun har skrevet enhetstester i backend med JUnit og Kotest, og tester i frontend med Jest og Vitest. Åshild har også skrevet ende til ende-tester med Cypress. Hun har også benyttet Copilot, Codex og Claude til sparring, utvikling og code review.
I Glow brukes CQRS (Command Query Responsibility Segregation), et arkitekturmønster som skiller operasjoner for å skrive data fra operasjoner for å lese data. Glow integrerer med andre systemer i Posten, og bruker Fuel HTTP-biblioteket til Kotlin for å sende requester.
Hun har også vært med på å utvikle og forvalte et felles komponentbibliotek
som brukes på tvers av alle frontendapplikasjonene. Glow har etter hvert fått et meget høyt volum med nesten 4 millioner ordre i måneden som skal gjennom systemet,
og med en ruteoversikt i frontend som skal håndtere ekstremt mye data. Åshild har vært med på både utarbeidelse av nye løsninger og funksjonalitet, samt implementering av dette, for at systemet og GUI-et skal oppleves bra for brukerne.
Det stilles krav på oppetid på over 99,97%. Glow er et stort og komplekst system, med mye funksjonalitet. Åshild har satt seg raskt inn i dette, og jobbet på mange deler av løsningen.
I rollen som fullstack-utvikler har Åshild vært svært allsidig i sine oppgaver, og har kunnet gjøre nærmest hva som helst som har høyest prioritet. Dette innebærer fullstack-implementering av ny funksjonalitet på tvers av frontend- og backend-prosjekter.
Glow drifter applikasjonene sine selv, og Åshild har hatt en roterende OPS-rolle, der man med noen ukers mellomrom har ansvar for å følge opp driften av systemet, og håndtere eventuelle feil som måtte oppstå. Dette innebærer også å følge med på systemets ytelse, og foreslå forbedringer. Her brukes
blant annet Flux og SOPS for GitOps, samt Prometheus, Datadog, Rapid7 og Grafana for overvåkning. Vi har også en sikkerhets-bot som lager pull requester for oppgraderinger av pakker, som Åshild har sett over og godkjent. Dette for å prøve å holde oss oppdatert for å unngå sårbarheter i systemet.
Foruten OPS-rollen har Åshild hatt et kontinuerlig ansvar for å overvåke systemet, varsle riktige personer ved behov og gjøre feilrettinger fortløpende.
Åshild er opptatt av brukervennlighet og universell utforming. Glow var gjennom et løft mens Åshild jobbet her, for å følge WCAG-reglene.
I arbeidet sitt har Åshild fått gode tilbakemeldinger på at hun forstår behovene, samt er kjapp til å implementere ny funksjonalitet. Hun har øye for å finne de gode løsningene, og formidler tekniske ting på en forståelig og ryddig måte.
Åshild har også jobbet med å konvertere JavaScript til Typescript på dette prosjektet.
Glow sitt system baseres mye på hendelser. Det mottar hendelser om pakker fra kjernesystemet i Posten over Kafka, og prosesserer disse for oppdatere databasen og GUI-et. Glow sender også hendelser tilbake til kjernesystemet for å oppdatere status på pakker.
Glow kjøres i Azure, og er satt opp med Kubernetes.