Henrik Roos

CV för Henrik Roos

Senior utvecklare med fokus på test och leverans

11 års dokumenterad erfarenhet

38 år, (född 1978)

070-819 86 00, henrik@afternoon.se

Om Henrik

Jag är en agil fullstack systemutvecklare i .NET med goda kunskaper i JavaScript, Java EE och i PHP. Min inriktning är DevOps och kvalitésäkring där lerveranserna sker enigt en Continuous Delivery process. Mitt focus är att skapa en ansvarsfull kultur i utvecklingsteamen med tätare leveranser och bättre kvalitetssäkring. Jag anser att all regressiontest skall vara automatiserad och ca 98 % av de testerna skall vara skrivna som enhetstest som körs varje gång någon checkar in koden. Undvik mockning, skriv koden mer testbar t.ex med funktionella principer istället.

Som person är jag en engagerad, glad, lyhörd och ansvarsfull. Har en hög analytisk förmåga och är mycket intresserad av nya tekniker och metoder. I övrigt är jag en närvarande förälder till mina 4 barn som jag har tillsammans med min fru Lina, barnen är i åldrarna 2, 4, 8 och 9 år.

Jag har studerat vid Mälardalens högskola, KTH och vid Stockholms universitet, sammantaget i fyra år. Mitt huvudämne är matematik som kompletterats med datalogi, biologi, kemi och fysik. Som student var jag aktiv i studentkårens arbete som arrangör av arbetsmarknadsmässan Högvarv och ledamot tillika ordförande i kårfullmäktige.

Tidigare har jag tävlat i ballongflygning i SM, EM och VM som navigatör.

Henrik is a qualified test manager with good coordination skills and understanding of different perspectives. He has easy to understand the activities amd good negotiation skills. He is diplomatic and has ability to get many people to interact. Overall he has bility to maintain focus - sustainable but diplomatic.
— Daniel Andersson, Commercial Director at CompuGroup Medical Sweden AB
Henrik vill man ha med i sitt team! Han bidrar med bred teknisk kompetens, är genuint intresserad och är inte rädd för att ta tag i de svårare frågorna. Henrik angriper problemen strukturerat, är noggrann, söker en konstruktiv väg och jobbar alltid för en bra lösning och en god stämning! Jag ger mina varmaste rekommendationer!
— Anders Ferrari, Ansvarig Tjänstedomänen Nationell tidbokning

Uppdrag

#14 DevOps


Biolit ABAFA Försäkring

Afa försäkring har nyligen infört ett agilt arbetssätt och mitt uppdrag är att förädla den automatiseringen som finns idag, med fokus på att utveckla samt bibehålla ett agilt arbetssätt i syfte att införa en Continuous Delivery process. Vi lyckades att sätta upp en testmiljö för det äldre Progress OpenEdge systemen och Sonic ESB som en Linux IaaP tjänst och .Net applikationerna som automatisk skalbar PaaS tjänst, allt i Azure ARM.

Testautomatiseringen som var på plats var omfattande med många långa tester (200+ st) på UI nivå, utvecklat med eget Selenium ramverk. Vi hade två problem med automatiseringen. Det var vanligare att testkörningen körde rött än att körningen gick grönt, mycket pga av Race condition. Samt testkörningen tog lång tid att köra, 60 sek per test. Jag gjorde en ansatts att lyfta huvudtesterna till ett nytt projekt som byggde på TestStack Seleno samt göra testerna kortare med hjälp av kontrollerat testdata. Exekveringstiden minskades betydligt ner till 8 sek per test men Race condition problemet kvarstod dock.

Projektledare för ett projekt med syfte att förbättra testdatahantering och testmiljö genom fiktiv testdata och virtuella testmiljöer i molnet. Målet med projektet är att skapa de tekniska förutsättningarna för en god implementering av Continuous Delivery och hänsyn till den nya personuppgiftslagen EU:s dataskyddsreform.

Tekniker/Metoder

DevOps, Azure ARM, .NET, Selenium, EU:s dataskyddsreform, Progress OpenEdge, Entity Framework 6

Pappaledig för Zoe

#13 Testautomatiseringsutvecklare


Biolit ABCom Hem AB

Konsultuppdrag inom testautomation. Arbetsbeskrivningen var att förädla den befintliga testautomatiseringen och testramverk för främst det team jag arbetade med - TiVo satsningen. Jag hjälpte även andra agila-team med deras automatisering. Målet var: one day delivery för alla leveranser från samtliga team.

Vårt team var ett av de team som ledde utvecklingen av Continuous Delivery på Com Hem. När jag började på Com Hem så ingick alla leveranser till produktion i en standard-release med planerat driftstopp vanligtvis på natten var tredje vecka.

I slutet av uppdraget utgick 90 % av alla leveranser till produktion från vårt team på dagtid utan driftstopp. Jag var djup engagerad i vad som behövdes göras för att det skulle vara möjligt att göra produktionsförändringar utan driftstörning. Det var oftast jag själv som utförde själva kontrollen och produktionssättningen av förändringen efter ok från verksamheten.

Tekniker/Metoder

Continuous Delivery, Teststrategi, Testautomatisering, Blue-Green Deployment, SoapUI Pro, Puppet, Java Spring, Kanban och Lean.

Pappaledig för Zid

#12 Teknisk Testledare


MawellStockholms läns landsting

Samma projekt som jag lämnade för ett par års sedan men nu i nytt omtag. [se uppdrag #8]

Samma kund med samma mål att ersätta en befintlig mycket dyr lagringslösning med open-source lösning. Jag kunde återvända de krav som ursprungligen han tog fram innan, vilket blev en stabil accepts krav-platta. För att hjälpa utvecklingsteamet så dammade jag av en gammal testmotor som använts i projekts början, skriven helt i egen Java.

Jag såg till att den gick att köra i testmiljön och gav tydliga testresultat i Jenkins Continuous Integration motor. Den motorn blev en helautomatisk systemtestmiljö som testade alla positiva och några alternativ flöden i den nya och gamla lagringslösningen. Projektet avslutades denna gång med framgång och den helautomatisk systemtestmiljö som togs fram i projektet ligger idag som ett bra stöd för förvaltningen.

Tekniker/Metoder

Teststrategi, Testautomatisering, Continuous Integration, Jenkins, Java, jUnit

#11 Arkitekt


MawellSveriges Kommuner och Landsting

Efter införandet av den nya patientsäkerhetslagen som trädde i kraft har det ställts högre krav på att öka säkerheten i vården. En av de metoder som ökar säkerheten är strukturerad journalgranskning som är framtagen av SKL. Strukturerad journalgranskning är en etablerad metod för att identifiera skador som oftast inte uppmärksammats på annat sätt. Metoden går ut på att strukturerat granska journaler från redan avslutade slutenvårdstillfällen.

Henrik tog fram ett verktyg för att kunna arbetat systematiskt med strukturerad journalgranskning kring skada. Hans roll i projektet var många då det bara var kunden, säljaren och Henrik som var i teamet. Han tog fram projektbeskrivning, tidsestimat, kravspecifikation, design av den tekniska lösningen, han skrev helt själv första skarpa versionen.

Datat använde SKL i sitt arbete med strukturerad journalgranskning kring skada som utföll i en rapport som uppmärksammades i SVT:s ABC nyheter

Tekniker/Metoder

C#, ASP.NET 4.0, Web API, Asynkron kommunikation, Knockout JavaScript, SoapUI, Visual Studio 2012, SQL Server 2012, Team Foundation Server Cloud, Microsofts Application Lifecycle Management (ALM) process, Model View ViewModel pattern, TDD

#10 Testanalytiker


MawellRegion Sjælland

Traditionell manuell högnivå testning för en komplex röntgenprodukts-integration i de befintliga journalsystemen på sjukhusen som tillhör Danska Region Sjælland. Det var många olika produktleverantörer som hade ansvar och de övergripande kraven var högt skrivna anpassade på avtalsnivå. Hela projektteamet fick tillsammans initialt lappa ihop gapet mellan kraven, leverantörerna, kunden och produkten med empiriskt verifierbara data och krav som de kunde utgå ifrån i testerna.

Under den tiden som jag var med i projektet tog de fram teststrategi, utförde datainsamling med hjälp av workshops, intervjuade nyckelpersoner och skrev de första manuella testspecifikationer.

Tekniker/Metoder

Workshops, manuell högnivå testning, datainsamling

#9 Testanalytiker


TPG Objektfabriken (nuvarande Objektfabriken)SEB IT

Jag satt i det stora One IT Roadmap projektet som SEB fick avbryta. Mycket intressant projekt på många sätt. Bra projektstyrning, alla visste vad de skulle göra, extremt fina krav, nedbrutna till specifikationer som utveckling och test kunde följa slaviskt. Om det var otydligt i specifikationen så fanns det en öronmärkt designperson på plats att fråga.

Jag satt i testcore-temaet för SOA tjänsterna. Gruppen bestående av 5-8 personer testade av ca 60 tjänster i varje sprint (2 veckor).

Tekniker/Metoder

SoupUI, Jenkins, QC, Java

#8 Kravanalytiker


Modul 1 (nuvarande Softronic)Stockholms läns landsting

I Stockholm sparas det i genomsnitt 25 000 st. labbsvar per dag mot en central lagringstjänst på SLL. Dagens lagringstjänst använder Oracles produkt HTB. Projektets beskrivning är att byta ut HTB lösningen till en egenutvecklad lösning med öppen källkods komponenter utan att nyttjarna behöver ändra något i sin anslutning mot tjänsten. Syftet var att spara pengar på licenskostnader.

Min roll var att ta fram tydligt underlag till utvecklingen och att leda testarbetet. I början av projektet utförde jag empirisk studie med intervjuer och eftersökande av dokument som mynnade ut till en gedigen kravspecifikation med användningsfall.

Tekniker/Metoder

Empirisk kravinsamling, ReQtest, Systemarkitekturdokument (SAD)

#7 Testare


Modul 1 (nuvarande Softronic)Stockholms läns landsting

Tjänsten Nationell Patientöversikt (NPÖ) gör det möjligt för behörig vård- och omsorgspersonal att med patientens samtycke ta del av journalinformation som registrerats hos andra vårdgivare. Samordning av vårdinsatser underlättas och en helhetsbild av patienten ger ett bättre beslutsunderlag för diagnos, behandling och uppföljning.

Uppdraget var att flytta en del av journalinformation ifrån Stockholm till tjänsten NPÖ via en integrationspunkt (JBoss ESB). Min roll var att testa hela flödet och att vara ett stöd i utveckling och i informatiksarbetet för att tydliggöra kraven mot den givna 13606/RIV standard. Jag byggde upp en automatiserad testprocess med hjälp av jUnit, XPath, Maven och Google spreadsheet.

Tekniker/Metoder

Testautomatisering, jUnit, XPath, Maven, Google spreadsheet

Pappaledig för Zimon

#6 Systemutvecklare


Modul 1 (nuvarande Softronic)PTK

En webbaserad rådgivningstjänst för individuell rådgivning inom försäkring och pensionssparande riktad mot alla personer i Sverige som omfattas av ITP. Rådgivningstjänsten ger de försäkrade en samlad bild av deras sjuk-, efterlevande- och pensionsförsäkringar enligt lag, avtal och individuella försäkringarna.

Min roll var att utveckla den optimeringskomponent som tar fram hur användarnas premier ska placeras bäst i olika bolag och fonder. Förutom avancerad implementation ställdes det stora krav på enhetstest och framtagande av testdata för belastnings- och regressionstest.

Tekniker/Metoder

.NET, LINQ XML, Microsoft Visual Studio 2008, Microsoft SQL Server 2005, EpiServer/CMS 5 och Microsoft Team Foundation Server.

#5 Systemutvecklare


Modul 1 (nuvarande Softronic)Bredbandsbolaget

Ett projekt som syftade till att förkorta Bredbandsbolagets ledtid för att få ut ny information på den externa webben samt att förenkla för redaktörer att påverka layout och innehåll på sidor. Min roll var att strukturera information, testa och utveckla komponenter i IBM Lotus Workplace Web Content Management.

Tekniker/Metoder

Java, IBM Lotus Workplace Web Content Management, IBM Websphere Portal

Pappaledig för Zelda

#4 Systemutvecklare


Modul 1 (nuvarande Softronic)Handelsbanken

Nyutveckling och förvaltning av webbtjänst för publikt tillhandahållande av en placeringsguide för handelsbankens privatkunder. Utvecklingen skedde i .NET och bestod av alla delar i kedjan från databas till gränssnitt.

Tekniker/Metoder

Microsoft Visual Studio 2005, Microsoft SQL Server 2005 och Microsoft Team Foundation Server (TFS)

#3 Systemutvecklare


Modul 1 (nuvarande Softronic)Karolinska Universitetssjukhuset

Ett datastöd för administrativ hantering av provtagning för att upptäcka tarmcancer på ett tidigt stadium. Alla äldre personer som bor i Stockholm blir erbjudna att bli testade gratis. Detta system hanterar just denna process, från utskick till utfall av provtagningen.

Systemet var ett webbaserat system med många funktioner där plattformen var .NET. Mina arbetsuppgifter var att utveckla och testa de gränssnitt och urvalsfunktioner som hanterar utskick till personer som erbjuds att bli testade samt eventuella återbesök.

Tekniker/Metoder

Microsoft Visual Studio 2005, Visual Studio Team System Test Edition 2005, Microsoft SQL Server 2005 och Microsoft Team Foundation Server (TFS)

#2 Kravanalytiker


Modul 1 (nuvarande Softronic)NASDAQ OMX | Nordic

Förstudien omfattade framtagande av krav och tidsestimering för en webbtjänst som bestod av ett arbetsflöde i InfoGlue (Content Management System).

Tekniker/Metoder

Kravinsamling, InfoGlue CMS

#1 Egen konsult


Fimare (Enskild firma)Lidh Reklam

Ett helhetsåtagande av ett nytt affärssystem för Lidh Reklam med arv från det befintliga systemet skrivet i COBOL. Det var mitt första riktigt stora uppdrag. Jag skrev ett avtal med en tunn kravspecifikation med icke empiriskt verifierbara krav. I slutändan resulterade det i att projektet inte kom till avslut vilket jag drog stor lärdom av och också är den största anledningen till varför jag har specialiserat mig inom krav och test för hållbara lösningar som håller sig i framkant.

Tekniker/Metoder

Java, J2EE, PostgreSQL

Övriga projekt

WordPress Plugin utveckling


Privat, (öppen källkod GPL-3.0) — WordPress
2013-02 — nu

Med en enkelt syntax t ex [imdb:title] ersätts taggarna med data från IMDb Mobile Applications (ett publik RESTful API som exponera IMDb:s databas). Koden är väl dokumenterad, testad och innehåller inga checkstyle errors. Code coverage ligger på 100%.

Tekniker/Metoder

WordPress API, PHP 5, PHPUnit, Jenkins, Checkstyle, PHP Depend

Volontär i Afrika


IT Support — ZIFF
2 månader, 2006-06 — 2006-07

Jag hjälpte till med praktiskt IT jobb på östafrikas största filmfestival i Tanzania. Bland annat byggde de ett ackrediteringssystem för alla gäster. Tog hand om ljud och ljus vid ett antal events.

Utbildning

Biomatematiklinjen


Stockholms universitet, Stockholm
2003 — 2005

  • Linjär algebra 2, fortsättningskurs (MA2070)
  • Algebra och kombinatorik, fortsättningskurs (MA2230)
  • Datalogi, grundkurs I (NA1030)
  • Datalogi, grundkurs II (NA2030)
  • Databasteknik, fortsättningskurs (NA2090)

Teknisk Fysik


Mälardalens högskola, Västerås och Eskilstuna
1998 — 2003

  • Grundläggande algebra (MM1130)
  • Matematisk analys I (MM1250)
  • Matematisk analys II (MM1260)
  • Numeriska metoder (MT1090)
  • Mekanik (KK5160)
  • Programmeringsteknik för ingenjörer (CD5300)
  • Algebra, avancerad nivå (MM1010)
  • Diskret matematik (MM1510)
  • Systemutveckling (EI0170)
  • Mineral- och vattenkemi (GK2040)
  • Allmän Kemi (GK1030)
  • Organisk kemi I (GK2010)
  • Biologi på molekylär nivå (GB2070)
  • Mikrobiologi (GB1000)
  • Cellbiologi (GB1010)
  • Genetik (GB1020)
  • Datastrukturer och algoritmer (CD5070)
  • Modern fysik gk II (MF1150)
  • Linjär algebra (MM1690)
  • Webbproduktion (KI1530)