Hvordan begynte du med koding? 👶
Mitt første møte med koding var IT Grunnkurs første semesteret på NTNU.
Jeg hadde aldri egentlig reflektert noe særlig rundt hvordan programmene jeg brukte på PC-en ble laget, så dette åpnet en ny verden for min del. Likevel var det først da jeg tok faget Objektorientert programmering året etter og ble kjent med Java at jeg oppdaget hvor morsomt koding er.
Jeg husker at vi lagde et spill i Java der man styrte en dykker som skulle fange fisker som ga ulik poengscore, skikkelig amatørgreier, men det var jo så gøy å jobbe med! Timene kunne bare fly forbi uten at jeg merket det så lenge jeg fikk kode.
Jeg vurderte allerede da å hoppe over til datateknikk, men valgte heller å satse på kryptografien. Kryptografi er jo også et utrolig spennende fagfelt, og det skader definitivt ikke å ha med den kompetansen i sekken når man jobber som utvikler.
Hva jobber du med akkurat nå? 🛠️
Til daglig sitter jeg hos NAV, og det siste halvåret har jeg jobbet med sykmeldingsmottaket til NAV. Sykmeldingsmottaket tar imot de digitale sykmeldingene som legene sender, legger dem inn i NAV sine systemer, og sørger for at den som er syk kan se sykmeldingen sin på nav.no og kan sende den digitalt til arbeidsgiver.
Prosessen bak en ny NAV-applikasjon
Kontinuerlig leveranse med Node, React, Azure og TypeScript.
Sykmeldingsmottaket er nyoppusset og består av en rekke små apper med hvert sitt dedikerte ansvarsområde. Alle appene er skrevet i Kotlin, og vi bruker Kafka for å dele informasjon om nye sykmeldinger og andre hendelser mellom appene. Alle appene bruker dessuten Ktor, som er et litt mindre omfattende alternativ til Spring Boot skrevet i Kotlin.
Akkurat nå forsøker jeg å få de omtrent 400.000 sykmeldingene som NAV fortsatt mottar på papir hvert år inn i det samme mottaket som de digitale sykmeldingene. I dag må disse sykmeldingene legges inn i NAV sine systemer manuelt, og den syke kan ikke sende sykmeldingen digitalt til arbeidsgiver. Når man har blitt frisk og skal søke om sykepenger må det også skje på papir når man først har havnet i papirløypa.
Hvis vi klarer å digitalisere papirsykmeldingene vil vi kunne gjøre hele prosessen enklere for både den syke og arbeidsgiveren siden de slipper å forholde seg til papir, og ikke minst vil ansatte hos NAV kunne bruke tiden sin på å hjelpe brukerne fremfor å legge inn sykmeldinger manuelt.
Hvordan ser en typisk arbeidsdag ut for deg? ☕
Det aller første jeg gjør hver eneste dag er å sjekke overvåkningsskjermene våre, for å se at alt står bra til i prod.
På mandager har vi et planleggingsmøte der teamet blir enige om hva som er viktigst å prioritere denne uken, og der vi setter oss det vi håper er et oppnåelig mål for uken.
Ellers har jeg få møter, så mesteparten av dagen går til koding, se på pull requests, og samarbeid og diskusjoner med resten teamet.
Hva synes du er de mest spennende språkene, rammeverkene eller teknologiene akkurat nå? ✨
Det viktigste for meg er at det jeg bruker av språk, rammeverk og teknologi passer til oppgaven jeg skal løse. Jeg tror ikke på silver bullets som skal løse "alle" problemer (nei, du får ikke automatisk god kodekvalitet av å gå over til Kotlin!).
- Si fra om du ikke forstår koden i en pull request!
Kristoffer Høegh Mysen i Scelto håper vi kan skrive enklere løsninger. Sammen.
Likevel, jeg synes den tekniske riggen jeg jobber med nå med Kotlin, Ktor og Kafka er spennende. Ktor er ikke på langt nær like modent som Spring Boot, samtidig er det forfriskende å få jobbe med noe som er såpass ferskt, og det utfordrer meg til å tenke annerledes enn jeg er vant til.
Jeg synes dessuten Github Actions byr på interessante muligheter når det gjelder bygg og utrulling. Det er jo veldig hendig å ha byggejobbene kjørende på samme sted som der koden ligger!
Ellers håper jeg å kunne få mer hands on erfaring med offentlig sky snart.
Hva er du mest stolt av å ha laget? 🏆
Jeg er veldig stolt av sykmeldingsmottaket som jeg jobber med akkurat nå! At det fungerer godt betyr mye for mennesker som allerede er i en krevende situasjon.
Ellers er jeg nesten uforskammet stolt av at jeg for et par år siden var med og sørget for at et av de mest sentrale oppgavebehandlingsverktøyene i NAV kunne rulles ut nedetidsfritt på dagtid. Her snakker vi om en ti år gammel monolitt som kjørte på IBM sin Websphere Application Server, krevde IBM-proprietær JDK 1.7 for å bygge, og fordi den brukte både Spring Webflow og JSF hadde den enormt mye tilstand.
«Her snakker vi om en ti år gammel monolitt som kjørte på IBM sin Websphere Application Server...»
Som om dette ikke var nok, var den også sterkt knyttet til et internt rammeverk som ikke lenger ble vedlikeholdt, som bandt den til Spring- og Hibernate-versjoner fra 2007. Med andre ord lå ikke akkurat forholdene til rette for å flytte denne appen over til en Kubernetes-basert plattform, og vi måtte bruke litt tid på overtalelse før vi i det hele tatt fikk lov til å prøve.
Etter mye prøving, feiling og rydding med hard hånd, klarte vi til slutt å få appen til å kjøre på Tomcat og Java 8, og der vi brukte Redis for persistering av det vi ikke klarte å kvitte oss med av tilstand. Nå kan appen prodsettes uten nedetid på dagtid, noe som gjør det mulig å levere feilrettinger og ny funksjonalitet som brukerne ønsker seg mye raskere enn før, og uten at folk trenger å jobbe på kveldstid for å rulle ut endringene.
Hva er det vanskeligste ved å være utvikler? 🤷
For meg personlig har det vært vanskelig å tørre å spørre om hjelp, og å innrømme at jeg ikke kan alt så godt som jeg skulle ønske.
Jeg føler nok kanskje at jeg må overbevise litt ekstra siden jeg ikke passer helt inn i stereotypen "utvikler", litt fordi jeg er kvinne, men kanskje mest fordi jeg er matematiker av bakgrunn og ikke først og fremst utdannet som utvikler.
- Vi har altfor få kvinnelige utviklere
Vi sjekka kvinneandelen i Norges største utviklingsmiljøer. Men ikke alle kunne svare.
Jeg har alltid tenkt at alle andre er så mye flinkere enn meg. Men jeg ser jo nå at det ikke er helt riktig, jeg kan jo mange ting jeg også, og ofte kan vi bidra med litt ulike ting nettopp fordi vi er forskjellige og har ulik bakgrunn.
Og jeg har lært at det ikke er så skummelt å spørre om hjelp, de aller fleste synes jo bare det er hyggelig å hjelpe andre.
Hva synes du norske utviklere bør bli flinkere på? 🙋
Jeg synes vi kan bli flinkere til å løfte blikket og ta mer aktivt eierskap til løsningene vi jobber med, både teknisk og funksjonelt.
Med det mener jeg at vi skal engasjere oss i brukerne våre og den situasjonen de står i. Vi må møte dem og lytte til det de har å si. Eierskap innebærer også at vi utviklere må ta mer ansvar for at prod er stabilt, at vi har gode logger og varslingsmekanismer, og ikke minst gode rutiner for å ta tak i eventuelle feilsituasjoner. "You build it, you run it", som man sier i devops-miljøet.
«...vi skal engasjere oss i brukerne våre og den situasjonen de står i.»
Vi må også sørge for å holde avhengigheter og appene i seg selv oppdatert slik at vi ikke plutselig sitter der med noe vi ikke lenger klarer å vedlikeholde.
Denne måten å jobbe på står i skarp motsetning til klassiske leverandørprosjekter der alt er spekket på forhånd, der du som utvikler kun skal lage akkurat det du får beskjed om, og deretter skal du hive det over veggen til driftsorganisasjonen. Jeg håper vi som bransje snart kan være enige om at sånn ønsker vi ikke å jobbe lenger.
Hva liker du å gjøre når du ikke jobber? 🕹️
Siden jeg sitter foran en skjerm det meste av, dagen forsøker jeg å bruke fritiden til helt andre ting, selv om koding er aldri så gøy.
Jeg er veldig glad i å være i aktivitet. Jeg trener variert, men styrkeløft er den store favoritten. Det begynte jeg med for et par år siden, og det er utrolig kult å se hva kroppen kan klare med målrettet trening.
6 ting som overrasker meg med norske utviklere
Hvorfor er pultene deres så kjedelige? Og vet dere egentlig hvor godt dere har det?
Jeg trives kanskje aller best ute i naturen, så det blir en del overnattinger ute i løpet av et år, både i marka og i mer fjellnære omgivelser. Det er få ting jeg setter så stor pris på som de enkle gledene man opplever ute på tur.
I år har jeg dessuten plukket opp fiskestangen igjen etter mange års pause, men så langt ender det alltid med at jeg mister halvparten av slukene mine og kjøper fisk på Rema i stedet.
Ellers er jeg en ordentlig bokorm og sluker alle bøker jeg kommer over. Hvis jeg må velge foretrekker jeg nok klassikere, eller bøker som har et historisk tema der jeg kan lære litt om livet før i tiden.
Det hender likevel at jeg havner foran skjermen hjemme også, da er det stort sett fordi jeg har kommet over noe jeg ønsker å lære meg mer om, gjerne i form av en workshop jeg har lyst til å prøve meg på.
- Skulle ønske det var flere fra distriktene her
Kodestudenten Andrine Lossius skal bli sivilingeniør, og håper flere fra bygda velger det samme.