Att göra saker som är intuitiva, enkla och snygga. Och att skapa någonting med verkligt värde. För Johan Alm handlar livet som systemutvecklare om att bygga tjänster han själv är stolt över och att alltid tänka på vad som är bäst för människorna som ska använda dem.

Innovativ programmering på Linköpings universitet. En utbildning där han bland annat studerade autonoma program, alltså agentteknologi, och vad de kan tillföra i spelprogrammering och robotik. Det var vad som lockade hem honom från Irland och de två åren som supporttekniker för Microsoft.

Johan Alm gör inga stora utsvävningar varken i kroppsspråket eller med volym när han pratar. Han ger ett ödmjukt och öppet intryck. Till och med när vi kliver utomhus mitt i vintern för att ta några foton är han lugn och sansad.

När jag frågar om den största skillnaden mellan att vara anställd i Sverige och Irland får jag ett kort svar. ”Folk pratar engelska.” Han säger det inte för att slå mig på fingrarna eller visa sig duktig. Snarare är det ett bevis på hur han tycker att alla människor hänger samman och fungerar på ett liknande sätt – och att det aldrig är mycket som skiljer oss från dem.

Det estetiska, visuella och användbara

När han pratar ligger allt fokus på människor och de mjuka värdena. Och att hela tiden trimma systemen till att bli så snabba, lätta och smidiga att använda som möjligt.

”Självklart lockas jag av det logiska och rationella tänkandet med programmering. Men jag gillar även det estetiska, visuella och användbara. Att förstå hur användarna tänker i olika situationer och vad de vill ha ut av det jag skapar. Och att jag måste se världen med deras ögon. Annars är risken stor att jag vänjer mig vid hur jag själv gör saker, och låter allt utgå därifrån.”

Genom hela intervjun återkommer han till ett ord. Optimering. Att skära bort det onödiga så att resten kan leva desto mer. Öka hastigheten. Bygga koden utifrån en minimal kärna. Att låta användarna testa tjänsten, för att sedan bygga vidare och testa igen.

”När du tänder en lampa vill du att det ska bli ljust i samma sekund. Detsamma gäller ett program eller en webbsida. Det finns inget mer frustrerande än ikoner som bara står och snurrar. När du har gjort ditt val behöver systemet reagera direkt. Som utvecklare är det lätt att skapa bloatade applikationer eftersom du lägger till saker som kanske inte behövs. Men sådant förstör ofta bara upplevelsen för användarna. Därför gäller det att hela tiden göra optimeringar och att använda verktyg som gör det enkelt att skapa applikationer med bra prestanda.”

Han är så engagerad i optimeringsfrågorna att han är med i en grupp som utvecklar open source-ramverket Svelte. En mjukvara som används för att kompilera kod i förhand, för att minska laddningstider för appar och webbsidor.

Bra och effektivt, inte bara snabbt

När han beskriver ett projekt han arbetar med dröjer det bara några sekunder innan ordet optimering nämns igen.

”När jag pluggade tänkte jag inte att jag skulle jobba med ståloptimeringar och trimma hela fabriker”, säger han. Samtidigt verkar han tycka att det inte är någon större skillnad på att utveckla mjukvara för SSAB och att ta fram spel. ”Det gemensamma är fokuset på användarna och att hela tiden göra bra saker med bra resultat.”

Den första gången han fick höra talas om LearningWell var genom en jobbannons i den lokala tidningen. Sedan såg han en jobbannons på Stack overflow.

”Redan innan intervjun fick jag känslan av att det är ett seriöst företag. Att de hade bra koll på det teknikmässiga, testning och sådana saker. Och nu efter ett år är jag fortfarande nöjd. Vi håller inte på att jaga efter att göra saker så snabbt och slarvigt, utan så bra och effektivt som möjligt.”

Visst består hans fritid delvis av saker som mer är en hobby, utan mål, där han kollar på teveserier, spelar datorspel och läser böcker. ”Men sedan håller jag på med en hel del testprojekt där jag experimenterar med nya ramverk och teknik för att få en praktisk känsla för dem.”

Och kanske är det lika bra. För det går alltid att optimera saker ytterligare.

”När du tar fram ett gränssnitt handlar det alltid om användarna. Att se hur vi kan bygga någonting som ger minsta antal klick. Är det här inputfältet viktigt? Hur kan vi göra animationerna så naturliga som möjligt? Finns det något vi kan ändra för att göra tjänsten ännu trevligare att använda?”

Läs mer om frontend-verktyget Svelte här: https://svelte.technology/