Magnus Rundberget

Systemutvikler

Magnus er en ringrev som er like engasjert (om ikke mer) i faget sitt nå, som da han skrev sin første Othello implementasjon på høgskolen. Han er analytisk av natur og nøler ikke med å brette opp ermene for å sørge for at rikig ting blir levert så fort som mulig med så høy kvalitet som mulig.

Med sin bredde og erfaring kan Magnus ta mange forskjellige roller i et prosjekt. Han passer nok aller best i team med fokus på hyppige leveranser og kontinuerlig forbedring. Læring er noe som er veldig viktig for Magnus og han er like opptatt av å dele kunnskap som han er av egen utvikling.

Drømmeprosjektene til Magnus er der han får være med å på hele reisen med å løse problemer og realisere ideer i fungerende kode. Når Magnus jobber med videreutvikling av eksisterende løsninger, er han alltid opptatt av hvordan man kan gjøre ting bedre. Magnus bidrar ofte med å sette opp eller forbedre CI/CD prosesser, komme opp med tiltak for redusering av teknisk gjeld eller med å ta grep for bedre brukeropplevelser og smartere prosessautomatisering.

Magnus har i de siste årene blitt svært opptatt av funksjonell programmering både med og uten sterk statisk typing. Programmeringsspråk som ClojureScript og Elm og deres underliggende ideer, har gjort at han har kastet seg over frontendutvikling med stor entusiasme.

I perioder er Magnus svært aktiv med å bidra til OpenSource. Motivasjonen for å gjøre det er drevet av ønsket om å lære, følelsen av å gi noe tilbake samt å dele kunnskap.

Teknologi

Favoritter for tiden:
Bruker på jobben:
Elm, Kotlin og XML
Vil lære mer:

Magnus' anbefalinger

Inventing on principle

Fantastisk foredrag av Bret Victor. Programmering er et kreativt yrke. Det er antageligvis mye lettere å være kreativ dersom man kan ta, se, observere og endre helt fritt og dynamisk på et kjørende program. Hadde det ikke vært digg å kunne spole tilbake det du nettopp gjorde i appen din, endre noen parametere og så kjøre på nytt. Kanskje tom for å sammenligne. Dette foredraget var bl.a med på å inspirere mye av tankene rundt verktøy som Light Table og programmeringspråket Elm

Se foredraget
Let's be Mainstream

Evan Czaplicki (forfatter av Elm) forsøker å få med hardcore funksjonelle programmerere (med en hang for typer) til å begynne å kommunisere med utenforstående på mer forståelige termer. Etter å ha sett denne fikk jeg endelig lyst til å kikke på et typet funksjonelt språk.

Se foredraget
Test-driven JavaScript Development

Dette foredraget av Christian Johansen var en grunnene til at jeg i stor grad kastet jQuery-scripting på båten. En inspirerende og lærerik testdrevet sesjon hvor man lager en autocomplete-komponent.

Se foredraget

Magnus snakker gjerne om

Fluefiske

Du går langs en deilig elv omringet av flott norsk natur. I sidesynet ser du plutselig en liten uregelmessighet i vannoverflaten. Du stopper for å kikke. Etter en liten stund ser du en ørret som forsiktig stiger til overflaten og slurper i seg en liten døgnflue. Pulsen stiger, du skifter flue og navigerer deg forsiktig i posisjon for å kaste …

Bloggposter

Moro med trær og glidlåser

Av og til støter du borti programmeringsoppgaver der det gir mening å bruke tre-strukturer for å komme opp med en elegant løsning. I denne bloggposten ser vi på hvordan man kan bruke en tre-struktur for å implementere et hierarkisk søkefilter med noen fiffige krav. For å krydre det litt ekstra, skal vi gjøre det med et funksjonelt språk (Elm) hvor mutering er umulig!

Les artikkel
Snasen rutehåndtering i Kotlin med Arrow.kt

Kan du få rutehåndteringskoden din til å ha robust feilhåndtering og være lettlest/lett å vedlikeholde? Kanskje?! Vi tar en titt på hvordan man kan bruke Arrow.kt som et hjelpeverktøy når man implementerer rutehåndtering i Kotlin.

Les artikkel
Deklarativ validering av json i TypeScript

Du validerer vel json fra rest-kallene dine før du slipper dem løs i den nydelige typesikre domenemodellen din? Kanskje du ikke gjør det, eller bare delvis, fordi det er skikkelig tungvint?

I denne bloggposten ser vi på hvordan biblioteket Zod kan hjelpe deg over kneika, slik at du virkelig kan begynne å stole på typene dine.

Les artikkel

Foredrag

Screencasts

Sideprosjekter

Light Table

Etter å ha vært en ivrig bruker av Light Table i 1,5 år, bestemte jeg meg sommeren 2015 til å ta steget opp å joine opensource teamet til Light Table for å forsøke å gjenopplive prosjektet. Det er nok å ta tak i for å si det sånn !

Bidrag til fri programvare

  • TypeScript WebSocket Machine - Klientbibliotek for websocket-kommunikasjon i nettleser. Bygget rundt en tilstandsmaskin med støtte for automatisk gjenoppkobling og pulskontroll.
  • Elm Bootstrap - Elm bibliotek for å lage responsive webapplikasjoner med Twitter Bootstrap 4.
  • Elm Light Table Plugin - Light Table plugin for Elm. Syntax-highlighting, repl/inline eval, elm reactor integrasjon mm
  • rewrite-cljs - ClojureScript port av rewrite-clj. Bibliotek for traversering og omskriving av Clojure/ClojureScript/EDN- kode
  • Clj-Light-Refactor - Plugin som gir Clojure refactoring support til Light Table
  • AsciiLight - Light Table plugin for live-edit visning av Asiidoctor dokumenter
  • lt-snippets - Snippet/templates plugin for Light Table
  • LightTable InstaBuster - Light Table plugin for BusterJS
  • LightTable-Groovy - Groovy plugin for Light Table. Steg 1 er å lage et langt bedre Groovy Console. Steg 2 er helt åpent. Sky’s the limit!
  • gradle-buster-plugin - Gradle plugin for å kjøre JavaScript tester via BusterJS i jvm prosjekter
  • Har bidratt til node-test-runner, buddy-auth og gradle-ssh-plugin

Prosjekter

Stiftelsen Lovdata
Elm, Kotlin, Solr, MariaDB og GitLab

Lovdata har i en tid arbeidet med å lage en ny versjon av det juridiske arbeidsverktøyet Lovdata Pro. Den nye og kraftig moderniserte versjonen skal være langt mer mobilvennlig, men får også betydelige løft på en rekke andre områder.

Magnus ble opprinnelig leid inn til prosjektet for å tilføre mer ekspertkompetanse på Elm. Han jobber i prosjektet som fullstack utvikler og vil i tillegg tilføre kompetanse på arkitektur og utviklingsmetodikk

The Social Gaming Group
Clojure, Ansible og GitLab

I 2018 var Kodemaker med på å utvikle software for forskjellige spill knyttet til darts. Disse ble lansert ved åpningen av utesteded Oche. Siden deg gang har man utviklet tilsvarende for Shuffle og ekspandert til langt flere installasjoner over hele verden. Kodemaker ble engasjert for å hjelpe til med å effektivisere og strømlinjeforme utrulling av ny software som kan skalere i takt med ønskede vekstambisjoner.

Oppgavene til Magnus omfattet:

  • Oppsett av byggepipelines i GitLab
  • Utvikling av ansible playbooks for oppsett/installasjon av spillsoftware
  • Utvikling av en tjeneste for asynkron installasjon (skrevet i Clojure med en PostgreSQL DB)
FFL AS
Kotlin, Swift, SwiftUI, Google cloud run og Firebase

Fantasy Football sjangeren er et stort og voksende marked. FFL som en ny og ambisiøs aktør, ønsker å ta en ledende posisjon. Det skal utvikles et engasjerende, morsomt og svært brukervennlig spill. Da muligheten for å være med på utviklingen av dette produktet dukket opp, var det to av Kodemakers mest fotballgale utviklere som øynet drømmeoppdraget.

Kodemaker er ansvarlig for utvikling av app, backend og integrasjon mot 3.parts leverandører av data. Vi er også ansvarlig for å etablere rutiner for CI/CD, devops og utvikling av nødvendige verktøy for administrasjon. Selvfølgelig forventes det av vi bidrar med domenekunnskap og kreative innspill/løsninger som bidrar til et best mulig produkt.

Rolle: Fullstack-utvikler, DevOps, Tech Lead

Se flere prosjekter

Referanser

Simon Skrede
Director of Development, Lovdata

«Magnus has worked for Lovdata since March 2023 as a developer and project QA for a complex rewrite of our main software offering to the legal professional market in Norway. He has worked full-stack with our Elm frontend and Kotlin backend. Since literally the first hour he sat down at his desk, he has consistently delivered value to the project with professional craftsmanship and enthusiasm for both domain and technology. Through teaching sessions both one-on-one and with the whole team, he has also shared his knowledge with his co-workers. He is a good team player and though humble in nature, he will ask the right questions and will not hesitate to state his mind on the important issues.»

Yuwen He
Product Manager, Mercell

«I had the pleasure of working with Magnus during his time as a consultant and tech lead on our team at Mercell. From the outset, Magnus demonstrated exceptional leadership and technical expertise, making our collaboration not only seamless but highly effective.

As a Product Manager, I found Magnus to be an excellent co-pilot. Alongside me and our UX designer, Magnus formed an integral part of the product trio. Together, we collaborated effortlessly to ensure our products were desirable, feasible, and user-friendly. The synergy within our trio was exceptional, enabling us to deliver solutions that truly added value for private corporations, helping them succeed in public procurement.

I joined the team late, but Magnus ensured I was brought up to speed swiftly with a thorough and well-structured overview of the project. His clarity and resourcefulness were invaluable in getting me integrated and productive quickly.

Beyond his own technical contributions, Magnus took an active role in mentoring two junior developers on our team. His hands-on coaching in best practices and constructive one-on-one feedback helped them grow significantly in their roles.

Magnus’s influence extended well beyond the team. He actively collaborated with external partners and was a key contributor to strategic and architectural decision-making across the company. His insights were consistently thoughtful, practical, and forward-looking, earning him the respect and trust of everyone he worked with.

Magnus is a resourceful and highly respected tech expert, and I would welcome the opportunity to work with him again in the future. I wholeheartedly recommend him to any organization seeking a skilled, collaborative, and inspiring leader in technology.»

Daniel Haukaas
Produkteier, FFL AS

«Det var både gøy og lærerikt å jobbe med Magnus på fantasy football-prosjektet FFL i 2022. Magnus er flink til å se helheten og tenke nøye igjennom valgene man tar før man begynner å implementere, noe jeg satt stor pris på når vi jobbet sammen. Vil absolutt anbefale Magnus videre.»

Se flere referanser