Jag har arbetat med mjukvaruutveckling sedan 1998, omväxlande som konsult och fast anställd. De senaste femton åren har jag i första hand haft roller som lead-developer, arkitekt och scrum master.

Jag har huvudsakligen arbetat i mindre till medelstora företag, vilket har medfört att jag har fått arbeta med hela värdeströmmen från produktstrategi och kundkrav till distribution, driftsättning och support. Mest har jag dock arbetat med själva utvecklingen i form av arkitektur, design och programmering.

Som utvecklare har jag i huvudsak arbetat med objektorienterad systemutveckling i Java. Jag intresserar mig mycket för kodkvalitet i form av enkel design och modulär arkitektur. Det är viktigt att koden är lätt att underhålla och att ny funktionalitet kan läggas till i små steg med så små konsekvenser som möjligt för systemet i övrigt.

Sedan jag träffade på Extreme Programming (XP) 1999 har jag arbetat med agil mjukvarutveckling. Jag intresserar mig för det mesta inom området. Jag har en särskild förkärlek för testdriven utveckling och uppskattar mycket att parprogrammera.  Jag har god erfarenhet av att införa och arbeta med agil metodik som scrum och XP på teamnivå. Att hjälpa andra att lära sig och utvecklas är en stark drivkraft för mig.

Jag har under de senaste åren mer och mer agerat som arkitekt, coach och mentor i agil utveckling i ett sammanhang som är större en det enskilda utvecklingsteamet. För det större perspektivet ser jag idéerna från lean software development som ett utmärkt komplement.

Som arkitekt intresserar jag mig för systemets hela livscykel och hur arkitekturen samspelar med organisation och processer. En hållbar arkitektur stöder inte bara dagens krav kring prestanda, skalbarhet och liknande. Den gör det också möjligt att gradvis förändra systemet över tid för att kunna klara av nya utmaningar.

Jag försöker alltid att engagera utvecklingsteam i arkitekturarbete och design. Med mätbara arkitekturegenskaper för systemet kan man ställa tydliga krav utan att detaljstyra lösningarna. Målet är en evolutionär arkitektur där inkrementella arkitekturförändringar valideras utifrån hur de påverkar systemet.