Ukas Koder Ingar Almklov er over snittet opptatt av Elm. 📸: Privat
Ukas Koder Ingar Almklov er over snittet opptatt av Elm. 📸: PrivatVis mer

Drømmer om at alle går fra Javascript til Elm

Ukas Koder Ingar Almklov har bygd opp Elm-miljøet i Norge, og håper han kan overbevise deg også.

Hvordan begynte du med koding? 👶

Jeg drev ikke med koding før jeg begynte på universitetet, men jeg oppdaget allerede i IT-grunnkurs det første semesteret at jeg syns det var veldig gøy å drive med.

Hva er det første du husker å ha utviklet?

Det første jeg husker er nettsiden jeg og en kamerat lagde for bandet jeg spilte i på ungdomsskolen. Nettsiden var et nydelig sammensurium av PHP, iframes og JavaScript. Siden vi ikke skjønte noe som helst av hva vi drev med, så var absolutt all koden klippet og limt fra StackOverflow.

Heldigvis har andelen SO-copy-pastet kode jeg leverer gått litt ned med årene. Nettsiden ble laget som et prosjekt i kunst og håndverk. Tror faktisk vi fikk en blank femmer på det. Sannsynligvis fordi læreren ikke turte å innrømme at hun ikke visste hva internett var for noe.

Hva jobber du med akkurat nå? ☕

Jeg sitter på et prosjekt for SiO hvor vi utvikler en ny versjon av appen deres. Vi bruker React Native med TypeScript og Redux. Teamet har veldig begrenset med native-erfaring, men nesten alle hadde jobbet med React og/eller Redux og/eller TypeScript tidligere. Dette, kombinert med at denne appen ikke er avhengig av noe særlig med native-API-er, gjør at React Native er midt i blinken for oss.

Arbeidsplassen til Ingar Almklov. 📸: Privat
Arbeidsplassen til Ingar Almklov. 📸: Privat Vis mer

Hvordan ser en typisk arbeidsdag ut for deg?

Den består stort sett av kode. Både det å skrive kode selv, par-programmere med andre på teamet og code reviews. Bortsett fra det har vi møter minst to ganger i uken med produkteiere og designere, siden utviklerne, produkteierne og designerne til daglig sitter på forskjellige plasser.

Hva synes du er de mest spennende språkene, rammeverkene eller teknologiene akkurat nå? ✨

De som kjenner meg blir nok ikke overrasket av at jeg sier at Elm er veldig spennende. Jeg ser på Elm som en helhetlig pakke med «alt det beste» fra frontend-landskapet i 2018; virtuell DOM, immutable datastrukturer og statisk typing (og da mener jeg skikkelig bra statisk typing, ikke sånn som C# eller Java).

I tillegg er Elm et rent funksjonelt språk med en kompilator som faktisk gir nyttige feilmeldinger, og miljøet rundt språket består av veldig entusiastiske og hjelpsomme mennesker.

Jeg er en stor tilhenger av funksjonell programmering, spesielt i kombinasjon med god statisk typing. Jeg har en liten drøm om at alle bytter ut C# med F#, Java med Scala eller Kotlin og JavaScript med Elm (eller kanskje PureScript eller Reason).

Hva er du mest stolt av å ha laget?

Det må være å ha fått være med på å bygge opp Elm-miljøet i Oslo (og kanskje jeg til og med drister meg til å si Norge?) gjennom Oslo Elm Meetup, Oslo Elm Day og en del workshops rundt omkring. Elm er som nevnt noe jeg har veldig tro på, og det er utrolig gøy å høre om at andre begynner å bruke det og får gode erfaringer med det.

Hva er det kjedeligste med å være utvikler? 😿

Det må være når feedback-loopene er for lange. Dette går både på mikronivå, som er tiden fra jeg skriver kode til jeg finner ut om den funker, og på «makronivå», tiden fra idé til koding til sluttbruker til innhenting av feedback – og tilbake igjen.

For førstnevnte hjelper det å ha en rask maskin, god editor og å bruke et godt programmeringsspråk. For sistnevnte går det mer på riggen rundt. Lite og smidig prosess, kontinuerlige leveranser, DevOps og autonome team.

Hva er det gøyeste med å være utvikler? 😻

Det gøyeste må rett å slett være å få lage ting som gjør hverdagen til brukerne bedre. Jeg er veldig glad i koding som et håndverk. Jeg kan bli oppriktig glad eller irritert av å se (henholdsvis) god eller dårlig kode. Likevel er det det å jobbe sammen med flinke og hyggelige kolleger, og lage ting som gir verdi for noen, som gjør at jeg trives så godt med å være utvikler.