Denne uken har jeg vært i Storbritannia og holdt to veldig forskjellige presentasjoner – men med en felles kjerne: hvilket ansvar vi som utviklere har, og hvordan vi tar faget vårt på alvor.
Gleam Gathering i Bristol: Små prosjekter, stor påvirkning
Det første foredraget ble holdt i Bristol, på den aller første Gleam Gathering noensinne. Jeg er stolt over at jeg fikk æren av å være første speaker på konferansen hvor kjerneteamet bak Gleam (programmeringsspråket) også deltok.
Foredraget het Riding the Sour Train: Building surtoget.no with Gleam, og tok utgangspunkt i et sideprosjekt jeg startet mest for moro (frustrasjonens) skyld: surtoget.no. Nettsiden er skrevet i Gleam, så da var det passende å snakke på Gleam Gathering.
Selve presentasjonen er full av spøker om Norge og våre jernbanesæregenheter, men med et viktig poeng: Utvikleres påvirkningskraft.
Vi utviklere har faktisk mange verktøy for å påvirke samfunnet rundt oss. surtoget.no er en svært enkel nettside, men den har ført til intervjuer i aviser, innslag på radio og det har kommet meg for øret at nettsiden også er kjent innad i det norske Stortinget. Dette gjort uten mye arbeid eller markedsføring fra min side.
I siste del av foredraget gikk jeg dypere inn i hvordan vi kan bruke typesystemet aktivt for å sikre korrekthet i applikasjonene våre. Med Gleam sine opaque types og såkalte smart constructors kan vi bake domenereglene direkte inn i definisjonen av funksjonene våre. Litt som Domain-Driven Design på mange måter, men der typesystemt som håndhever reglene.
Dette fører til at kodebasen selv tvinger korrekthet uansett hvem som måtte jobbe på den.
Tilbake på universitetet: Råd til neste generasjon utviklere

Det andre foredraget ble holdt på Aberystwyth University, hvor jeg selv tok bachelorgraden min i 2013. Denne gangen var målgruppen studenter, og fokuset var hva jeg mener er viktig å ta med seg inn i bransjen i dag.
AI og læring
AI er overalt, men for studenter kan overdreven bruk være direkte skadelig. Studier viser redusert kritisk tenkning og læring, noe som fort blir synlig i tekniske intervjuer. For juniorutviklere og studenter bør målet være å maksimere læring – ikke antall produserte kodelinjer.
«Det funker» er bare minimum.
Uttrykket “make it work, then make it good” gjelder fortsatt, men altfor ofte stopper vi ved første del. Industrien har standarder, og det forventes mer enn at koden teknisk sett kjører. Teknisk gjeld har vært et pågående problem siden første kodelinje, og som en industri så går vi i de samme gamle fellene.
Teori uten praksis er verdiløst
Begreper som OOP og SRP pugges, men forstås sjelden i praksis. OOP, for eksempel, handler om å kombinere data og funksjonalitet. Holder man dem adskilt, følger man faktisk ikke prinsippet – uansett hva man kaller det. Poenget er ikke definisjonene, men hvordan teorien faktisk påvirker kodebasen.
Skriv tester(!!!)
Dette er noe bransjen fortsatt er for dårlig på. Jeg selv skrev bare én test igjennom studiene mine. Testing er profesjonell praksis og en av de beste måtene å holde legacy unna, noe blant andre Michael Feathers, Robert C. Martin, Martin Fowler og Kent Beck har vært tydelige på i årevis.
For studenter har testing også en helt konkret verdi: kortere feedback-loop. Man kan kjøre deler av løsningen før alt er ferdig, og raskt se om man er på rett spor.
Begge foredragene, selv om de var veldig ulike, handlet i bunn og grunn om det samme: Vi har mer påvirkning enn vi tror, og med den følger et ansvar. Overfor brukerne våre, kollegaene våre og faget vårt.

