DANIEL SKOGQUIST ÅBORG
0765 - 71 91 65 – [email protected]
github.com/d2aborg – linkedin.com/in/d2aborg
Mål
Erfaren mjukvaruutvecklare söker tjänst som Tech Lead eller Senior
Systemutvecklare inom Scala. Önskar företag med kundfokus, starka
värderingar, och känsla för estetik.
Introduktion
Programmerare och datorentusiast i 27 år. Professionell mjukvaruingenjör i 15 år, och Team Leader 2
år. Kollaborativ med fokus på självorganiserande Agila team. Uppmärksam på detaljer och känsla för
kvalitet och estetik. Passion för bra programvara och sunda tekniska principer. Färgrik bakgrund i
olika språk och plattformar. Svensk medborgare med flytande svenska och engelska. Bott och arbetat
i Sverige, Storbritannien, USA och Kanada.





Ledarskap: Lagledande, Initiativtagande, Mentorskap, Scrum, Kanban, Agile, Open Source
Backend: Scala, Java, J2EE, JBoss, Servlet, OO, FP, API, Scripting, Unix, Design, Arkitektur,
Distribuerade system, Hög tillgänglighet, Molntjänster, Plattformsoberoende utveckling
Frontend: HTML, CSS, JavaScript, Tomcat, J2EE, GWT, XSLT, JSP, Webbutveckling
CI: Testing, Jenkins, Team City, Feature Branches, Git, SVN, Maven, Ant
Databaser: SQL, MySQL, Oracle, PostgreSQL, NoSQL, Cassandra, XQuery, XPath
Bakgrund
Systemutvecklare – SpeedLedger (Göteborg, 2016)
Utvecklade SpeedLedgers system för online-bokföring för små företag.
Senior Systemutvecklare – Benify (Göteborg, 2015 - 2016)
Utvecklade Benifys system för förmånsbehandling i små till stora företag.
Team Leader – Ocado (Storbritannien, 2012 - 2015)
Ledde Routing Systems-teamet med 8 ingenjörer och senare Geospatial Systems-teamet med 5.
Software Engineer – Google (London, 2010 - 2012)
Designade och utvecklade RESTfullt API för Google AdSense.
Principal Software Engineer – EMC (Storbritannien, Kanada, USA, 2004 - 2010)
Designade och utvecklade en central server i Java EE för katastrofåterhämtning.
Chief Designer – Netengines (London, 2001 - 2004)
Designade och utvecklade en applikation i Java EE för kompetensbaserad personalförmedling.
Konsult – Sigma nBit (Göteborg, 2000)
Utvecklade ramverk och delar av en intranätapplikation i ASP för en kund i Göteborg.
Personliga Projekt
Sequence
2015 - 2016
Ett funktionellt Java-bibliotek för hantering av sekventiell data, en mer lättviktig och bättre
integrerad version av Stream-klasserna i Java 8. Liknar funktionaliteten i Scalas collection-klasser.
github.com/d2ab/sequence
Urban Hacker
2016
En nyhetssajt för tech-, vetenskap- och kodningsnyheter. Utvecklad i Scala/Akka/Play/Slick.
urbanhacker.news
Utbildning
Civilingenjör i Fysik – Linköpings Tekniska Högskola
Linköping, Aug 1995 - Jun 1997 (2 år)
Studerade till Civilingenjör i Fysik i 2 år vid Linköpings Tekniska Högskola.
Naturvetenskapliga Linjen – De la Gardie-Gymnasiet
Lidköping, Aug 1992 - Jun 1995 (3 år)
Utexaminerad från naturvetenskapliga linjen vid De la Gardie-Gymnasiet i Lidköping.
Erfarenhet
Systemutvecklare – SpeedLedger
Göteborg, Jan 2016 – Jul 2016 (6 månader)
Anställdes som Systemutvecklare hos SpeedLedger och utvecklade deras molnbaserade
bokföringssystem för små företag. SpeedLedger är ett modernt företag som använder de senaste
verktygen och teknologierna, och kör en väldigt agil kanban-baserad workflow med Product Owners
som bestämmer arbetsuppgifterna och ett team-baserat flow där teamet jobbar som helhet på sina
arbetsuppgifter och ofta parprogrammerar tillsammans för att lösa uppgifter. En väldigt kollaborativ
och agil miljö, med bland annat ett nytt program för att jobba med Lean UX och införa mätningar på
resultaten så att man skall kunna bevisa nyttan i det man har producerat direkt på kunderna.
Färdigheter
Agile, Kanban, Java, Scala, Tomcat, JUnit 4, Oracle SQL, Git, IntelliJ, VirtualBox, Docker, Atlassian,
Maven, GWT
Länkar: speedledger.se
Senior Systemutvecklare – Benify
Göteborg, Aug 2015 – Jan 2016 (1/2 år)
Tog anställning som Senior Systemutvecklare hos Benify för att utveckla deras system för
förmånsbehandling hos små och stora företag. Benify var just i fasen att börja expandera
internationellt och sökte nya utvecklare för att höja utvecklingstakten.








Organiserade och ledde Benifys kvartalsliga hackaton ”ShipIt Days” under vilken utvecklare
tillbringar upp till 24 timmar med att utveckla någon ”galen” ide som kan ge en extra boost
till produkten. Fick utmärkelsen som bästa ShipIt någonsin på grund av mitt engagemang och
ledarskap.
Ledde ett initiativ att minska antalet varningar i kodbasen. Minskade IntelliJ-varningar från
~30.000 till ~3.000. Halverade mängden PMD-varningar till ~250. Uppdaterade IntelliJprofilen för teamet med en mängd nya kontroller för att säkerställa snygg och bra kod.
Introducerade månatliga ”Code Cleaning Day” då teamet har full tillåtelse att genomföra
kodförbättringar man normalt inte skulle ha tid med såsom refactorings, städa upp gammal
kod, skriva nya bibliotek, etc.
Ledde initiativet att uppdatera copyright-texterna i alla source-filer från det gamla
företagsnamned Flexpay till Benify, och startade även arbetet att flytta paketen från
com.flexpay till com.benify.
Introducerade IntelliJ @Contract-annotationer och mentorerade teamet på hur man
använder @Nonnull @Nullable-annotationer.
Genomförde en mängd förbättringar till kodbasen som medförde betydligt förbättrad renhet
i koden.
Arbetade till en början på buggfix-teamet då jag fixade en mängd buggar.
Fixade en bugg i utprintningen av websidor genom att debugga tredjepartsbiblioteket
phantomjs som används för PDF-generering.
Färdigheter
Agile, Scrum, Mentorskap, Java 8, Tomcat, JUnit 4, MySQL, ORM, Git, IntelliJ, Linux, VirtualBox,
TeamCity, Kontinuerlig Integration, Maven
Länkar: benify.com
Team Leader – Ocado
Hatfield, Storbritannien, Okt 2012 - Maj 2015 (2 1/2 år)
Tog anställning som lagledare för Ocados ”Routing Systems”-team, som bygger och underhåller ett
distribuerat optimeringssystem med hög tillgänglighet som fördelar och optimerar Ocados en
timmas-leveranstider. Routing Systems bearbetar 800 000 sidvisningar per dag, och optimerar 25 000
leveranser över 1 500 lastbilar.
Coachade och förvaltade teamet med åtta mjukvaruingenjörer genom 1: 1 samtal, teknisk ledning,
Scrum och ständiga förbättringar. Koordinerade en avlägsen lagmedlem genom videokonferenser
och virtuell Scrum Board. Anlitade fem nya ingenjörer till Ocado och tog över två nya medarbetare
genom interna förflyttningar.
Ledde lagORMet genom stora affärsförändringar:
•
•
•
Expansion till ett annat distributionscenter i Storbritannien.
Lansering av djurtillbehörsaffären fetch.co.uk på nätet.
Integration av Ocados nya affärspartner Morrisons.
Uppnådde certifiering som Certified Scrum Master och tog rollen som Scrum Master vid sidan av
lagledning. Ordnade 3-veckors scrum-sprints med väldefinierade planerings- och review-faser, och
förbättrade ständigt scrumprocessen genom retrospectives och Scrum och Agile praxis.
Förbättrade lagets utvecklingsprocess:
•
•
•
•
•
Migrerade från Subversion till Mercurial och sedan Git för versionskontroll.
Främjade Jenkins för kontinuerlig integration och automatiserade tester.
Införde ny teknik: Guice, Guava, JSON, REST.
Införde "lab-dagar" för fri innovation mellan sprints.
Förespråkade User Stories, agila principer och Scrum praxis.
Bröt ut systerlaget Geospatial Systems och tog hand om utvecklingen av nya molnfärdiga tjänster i
samklang med att Ocado expanderar till sin nya internationella shoppingplattform.
Färdigheter
Lagledning, Scrum Master, Agile, Scrum, Rekrytering, Mentorskap, Java 7, Tomcat, JUnit 4, REST,
Oracle, Cassandra, Jooq, Quartz, Guice, Guava, Mercurial, Subversion, Linux, Distribuerade System,
Hög Tillgänglighet, Molntjänster, Kontinuerlig Integration
Länkar: ocado.com, groceries.morrisons.com, fetch.co.uk
Software Engineer – Google
London, Storbritannien, Mar 2010 - Jul 2012 (2 år och 4 månader)
Accepterade rollen som ingenjör i Googles AdSense-produkt, med ansvar för att skapa en ny
uppsättning AdSense API: er. Skapade och utformade de nya API:erna baserat på Googles nya
RESTfulla API-stack. Tränade de nya i laget och programmerade de nya API:erna tillsammans med
dem. Lanserade framgångsrikt API:erna som officiella Google-produkter som nu betjänar över 2
miljoner slutanvändare.
•
•
Pionjerade tjänstbaserad åtkomst till databasen, för att minska användningen av direkt SQL.
Byggde ett test-ramverk för end-to-end integrationstestning.
•
•
Pionjerade JUnit 4 i AdSense, vilket ledde till en rekommendation av JUnit 4 istället för JUnit
3 inom AdSense-gruppen.
AdSense API fick högsta testcertifieringen inom Google och uppnådde 97 % testtäckning, den
högsta i AdSense-gruppen.
Färdigheter
Agile, Rekrytering, Mentorskap, Googles Teknologistack, Java, JUnit 4, REST, MySQL, Guice, Guava,
Protocol Buffers, Linux, Skalbarhet, Hög Tillgänglighet, Distribuerade System
Länkar: developers.google.com/adsense
Principal Software Engineer – EMC
Abingdon, UK, Jun 2004 - Mar 2010 (5 år och 9 månader)
Gick med som chefsdesigner på Indigo Stone, ett startup som utvecklade programvara för
katastrofåterhämtning. Befordrad till Principal Software Engineer när Indigo Stone förvärvades av
EMC. Bodde och jobbade för EMC i Kanada och USA i 3 ½ år, flyttade så småningom tillbaka till
Storbritannien.
Skapade, designade och implementerade "Homebase", en Java EE webbapplikation som fungerade
som det centrala navet för återhämtningssystemet. Utplacerade Homebase till produktionen i
datacenter för flera kunder inklusive IBM och Sungard.
"Homebase" täckte flera användningsområden:
•
•
•
•
Samlade in konfiguration från agenter på täckta servrar.
Matchade programpaket att installera på återvunna servrar.
Redovisade server-inventering av anslutna serverparker.
Övervakade server-förändringar med konfigurerbara regler.
I rollen som Principal Software Engineer:
•
•
•
•
•
Utbildade laget i Java EE och serverside-Javateknik.
Tränade upp laget på design och programmeringspraxis.
Förespråkade testning och introducerade JUnit 4.
Implementerade ett ramverk för end-to-end-integrationstestning.
Skapade ett RESTfullt API för inter-agent kommunikation.
Färdigheter
Java, Java EE, JBoss, Hibernate, Spring, Cocoon, XML, XSLT, XQuery, XML Databaser, XML Pipelines,
HTML, CSS, Javascript, JQuery, REST, PostgreSQL, Solaris, AIX, Linux, Windows
Länkar: uk.emc.com
Chief Designer – Netengines
London, UK, Feb 2001 - Jun 2004 (3 år och 5 månader)
Flyttade till Storbritannien efter att ha rest i Europa i ett halvår och tog anställning på Londonbaserade Netengines.
Designade och implementerade Staffzone, en bemanningsapplikation i Java EE som matchade
kompetenskrav med tillgänglig personal i realtid. Byggde ett widgetbibliotek i Javascript och HTML
med realtidsuppdateringar från servern. Tränade upp laget som fortsatte att bygga produkten.
Lanserade Staffzone till produktion som användes som bemanningstjänst av kunder såsom Network
Rail.
Färdigheter
Java, JBoss, Hibernate, JSP, HTML, CSS, Javascript, MySQL, Windows
Länkar: Netengines wins award from Aberdeen Group
Konsult – Sigma nBit
Göteborg, Sweden – Jan 2000 - May 2000 (5 månader)
Tog anställning som konsult på Sigma nBit och byggde ramverket och vitala delar av en
intranätapplikation utvecklad i ASP för en kund i Göteborg.
Färdigheter
Visual Basic, ASP, SQL Server, Windows
Länkar: sigma.se/en
Programmerare – Gladius IT
Linköping, Sweden, Jan 1998 - Dec 2000 (2 år)
Byggde Gladius huvudprodukt, en e-handelswebbplattform. Implementerades i C på VMS, med ett
specialbyggt webbrenderingsspråk baserat på LISP.
Färdigheter
C, SQL, VMS
Support Tekniker – Linköping University
Linköping, Sweden, Jul 1997 - Dec 1997 (6 månader)
Hjälpte eleverna att ansluta till universitetets nätverk och felsöka problem med datorer och
uppkoppling.
Teknologi
Windows, Nätverk
Sällskap
Ctrl-C – Linköpings Tekniska Högskola
Linköping, 1997 - 2000 (3 år)
Medlem och ledamot i Universitetsdatorklubben "Ctrl-C", en alternativ datorklubb som mixtrade
med VMS OS på VAX hårdvara.
Projekt
2015 – 2016
Utvecklade ett Java-bibliotek för hantering av sekventiell data, liknande Stream-klasserna i Java 8:
github.com/d2ab/sequence
2009
Experimenterade med att bädda in en fysikmotor i ett iPhone-spel där man genom att luta och flytta
telefonen fick taktil och realistisk interaktion med spelobjekt.
2007 - 2008
Deltog i programmeringstävlingen ”Rails Rumble” två gånger, där tävlande gör en Ruby on Rails
applikation på 48 timmar. Gjorde en slumpmässig receptgenerator i Rails Rumble 2007 och en inbrowser canvas-baserad processuell animationsskapare i Rails Rumble 2008: railsrumble.com
Gjorde serverprovisionsverktyget "serverjuice" för Ruby on Rails-servrar på virtuella maskiner som
officiellt rekommenderades i Rails Rumble 2008 som ett bootstrapverktyg för tävlande:
github.com/d2ab/serverjuice (omforkad från ”handcrafted” men ursprungligen skriven av mig)
Mixtrade med Ruby on Rails-applikationer på molnplattformen Heroku, inklusive en receptsajt "The
Empty Plate": heroku.com
Slutade i topp 10 i Topcoder:s maraton-programmeringsmatch "ChessPuzzle", efter flera veckors
tävlande för att utveckla den bästa spellösaren för ett schackliknande spel: bit.ly/topcoderchesspuzzle
1995 - 1997
Programmerade en open source-musikspelare kallad "mokion" i C ++ och GTK ++ på Linux, och
släppte den på dåvarande freshmeat.net: bit.ly/mokion-releases
1990 - 1995
Programmerade en mandelbrot- och julia-fraktalgenerator i Pascal i skolans datorsal.
Programmerade en grafisk musikspelare i objektorienterade programmeringsspråket E på Amiga:
wikipedia.org/wiki/Amiga_E
Kodade proceduella grafiska "demos" i 6510-Assembler på C64: csdb.dk/scener/?id=3189
Grundade C64-demogruppen "JAM" med vänner: csdb.dk/group/?id=357
Hjälpte att organisera hackathon-"partys" för den lokala C64-scenen för att koda demos och utbyta
kunskap: csdb.dk/event/?id=905
1988 - 1989
Utvecklade ett sidscrollande shoot-em-up-spel i BASIC på ZX Spectrum 48k.