Senior mjukvaruutvecklare · Umeå

Från radarsignaler till appen i fickan.

Jag heter Magnus och har byggt mjukvara i tjugo år, med mobilappar som röd tråd. På vägen har jag skrivit signalbehandling för radarvarnare i Gripen, fått iPhones att låsa upp dörrar, varit tech lead för TV4 Play och ICA-appen och flyttat en hel produkt till React Native.

I dag bygger jag appar för iOS och Android i React Native och TypeScript. Jag trivs bäst där arkitektur, underhållbarhet och verklig nytta för användaren spelar roll – och där jag får växla mellan att koda och att leda.

Radarn Tjugo år, ring för ring

Ringarna är årsringar: innerst det jag började med 2006, ytterst det jag lagt till de senaste åren. Radarn följer texten medan du läser. Peka på en prick för att se var jag har använt tekniken.

Kompetens

Där jag gör mest nytta.

Mobilappar, hela vägen

iOS sedan 2011 och React Native sedan 2022. Jag har byggt appar från grunden, tagit över stora kodbaser och skeppat till både App Store och Google Play.

  • Swift
  • Objective-C
  • React Native
  • Kotlin/Java

Det som skiljer en demo från en produkt

Inloggning, offline, push-notiser, WebView som pratar med native och releaser som går att lita på. Sådant ingen märker – så länge det fungerar.

  • Autentisering
  • Offline
  • Push
  • CI/CD

Modernisering utan nödlandning

Objective-C till Swift på TV4, GWT till React Native på Tempus och stora ramverksuppgraderingar däremellan. Jag byter gärna motor under flygning – helst utan att passagerarna märker något.

  • Migrering
  • Uppgraderingar
  • Refaktorering

Prestanda och felsökning

Hackiga listor, krascher i produktion och buggen som bara syns på en enda telefonmodell. Jag mäter, letar upp grundorsaken och lagar den på riktigt.

  • Profilering
  • Felsökning i produktion
  • Releasearbete

Teknisk ledning

Tech lead för TV4 Play och ICA-appen på iOS. Jag leder gärna – med händerna kvar i koden och tätt ihop med produkt, design och test.

  • Arkitektur
  • Kodgranskning
  • Samarbete

Hela kedjan

REST-API:er i Python, tjänster i Go och C#, webb i React och signalbehandling i C++. Jag vet vad som händer på andra sidan anropet.

  • Python
  • Go
  • C#
  • React
  • C++

Erfarenhet

Resan hittills.

Nyast först.

  1. 2022–nu

    Tempus Information Systems

    Senior mjukvaruutvecklare, mobil

    Utvecklar och förvaltar Tempus appar för iOS och Android. Jag har drivit flytten från GWT till React Native, stora uppgraderingar av React Native och jakten på prestandaflaskhalsar. Till vardags: arkitektur, native-integrationer, inloggning, offline, push-notiser, WebView som pratar med native, releaser och felsökning i produktion.

    • React Native
    • TypeScript
    • Redux Toolkit
    • Swift
    • Kotlin/Java
    • Firebase
    • CI/CD
    • Claude
    • Codex
  2. 2021–2022

    Blocket

    Mjukvaruutvecklare, iOS · på distans

    Byggde vidare på Blocket-appen för iOS, framför allt transaktionsflödena där köpare och säljare gör upp affären – bland annat Blocketpaketet.

    • Swift
    • Objective-C
  3. 2019–2021

    Swedbank

    Mjukvaruutvecklare, iOS · på distans via Pure IT

    Utvecklade och förvaltade flera av Swedbanks iOS-appar, i både Swift och Objective-C, med etablerade flöden för CI och leverans. Bankappar är en bra skola i att bygga saker som folk litar på med sina pengar.

    • Swift
    • Objective-C
    • Jenkins
  4. 2018–2019

    Optimized Portfolio Management

    Mjukvaruutvecklare · på distans via Pure IT

    Byggde första versionen av deras webbtjänst för riskbedömning: ett verktyg som visualiserar risk mot avkastning när man köper fonder eller aktier.

    • React
    • TypeScript
    • Go
  5. 2018–2019

    Sartorius Stedim Data Analytics

    Mjukvaruutvecklare · via Pure IT

    Fullstack på interna verktyg som förenklar vardagen för medarbetarna – både backend och webbklient.

    • React
    • TypeScript
    • C#
    • ASP.NET Core
  6. 2017–2018

    ICA Gruppen

    Tech lead, ICA-appen för iOS · konsult

    Tech lead för den omgjorda ICA-appen på iOS, som följer kunden genom hela butiksbesöket: inspiration, inköpslistor, recept, butikskartor och mobila betalningar.

    • Swift
    • Mobila betalningar
  7. 2014–2017

    TV4

    Tech lead, TV4 Play för iOS · konsult

    Tillsammans med teamet lyfte vi appens betyg i App Store från 1,5 till 4,0 – samtidigt som vi flyttade kodbasen från Objective-C till Swift. Jag jobbade med allt från livesändningar och video on demand till DRM, analys, automatiserade tester och kontinuerlig integration.

    • Swift
    • Objective-C
    • Travis CI
  8. 2013–2014

    ASSA ABLOY

    Mjukvaruutvecklare, iOS · via Citerus

    Hjälpte till att lansera en pilot där iPhonen fungerar som passerkort – och gjorde sedan produkt av den. Dörren låses upp via Bluetooth.

    • Objective-C
    • Bluetooth
  9. 2009–2013

    Projectplace

    Mjukvaruutvecklare, webb- och mobilteamen

    Byggde Projectplaces första iOS-app från grunden, och REST-API:erna den behövde. Dessförinnan fullstack på själva webbtjänsten i Python och JavaScript, ett eget verktyg som visualiserade kodkvalitet – och en nyckelroll i bytet till Mercurial, inklusive att lära kollegorna det nya verktyget.

    • Objective-C
    • Python
    • JavaScript
    • REST
    • Mercurial
  10. 2007–2009

    Saab Avitronics

    Mjukvaruutvecklare, radarvarnare

    Matematiktung signalbehandling i C++ för radarvarnare i bland annat Tornado och JAS 39 Gripen. Automatiserade tester i en målmiljö som inte var en PC, och nära samarbete med kundens representanter.

    • C++
    • Python
    • PowerPC
  11. 2006

    S:t Eriks Ögonsjukhus

    Examensarbete

    En prototyp som tar data från ögonrörelsemätare och med matematiska algoritmer kompenserar för några av felkällorna.

    • Algoritmer
    • Mätdata

Utbildning

Civilingenjör i informationsteknologi, Uppsala universitet, 2003–2006

Matematik, fysik och datavetenskap, Umeå universitet, 2000–2003

Språk

Svenska (modersmål), engelska (flytande i arbetet) och tyska (grundläggande).

Arbetssätt

Appar som håller.

Bra mjukvara kommer sällan ur genialitet. Oftare ur noggrannhet, nyfikenhet och en ovilja att nöja sig med ”det funkar på min telefon”.

  • Grundorsaken före plåstret.

    En bugg som försvinner är inte samma sak som en bugg som är löst. Jag vill förstå varför något går sönder innan jag lagar det.

  • Mät i stället för att gissa.

    Prestanda, layout, minne: jag tar hellre fram siffrorna än litar på magkänslan. Det går nästan alltid fortare i slutändan.

  • Små steg som går att granska.

    En ändring i taget, så att den går att förstå, testa och backa. Ingen blir glad av en pull request på 4 000 rader.

  • Appen ska fungera för alla.

    Stor text, skärmläsare, dålig täckning. Tillgänglighet och robusthet är krav från början – inte något man lägger på i slutet.

  • AI i verktygslådan, ansvaret hos mig.

    Claude och Codex gör mig snabbare på att implementera, felsöka och underhålla. Arkitekturen, granskningen och kvaliteten i produktion är fortfarande mitt ansvar.

Kontakt

Ska vi bygga något?

Har du en app som behöver lyfta, en kodbas som behöver moderniseras eller en bugg som ingen lyckas hitta? Hör av dig, så tar vi ett samtal.

E-post
magnus@magnit.se
LinkedIn
linkedin.com/in/maolsson
Bas
Umeå – och på distans