Profilbild

Daniel Sundman

Crisp AB

Positiv och driven utvecklare

Jag är en entusiastisk och engagerad person som brinner för att hjälpa företag utveckla mjukvara. Efter år som utvecklare, manager och arkitekt, mestadels av klassiska webb-applikationer baserade på Java EE, vill jag nu hjälpa företag utveckla moderna applikationer med moderna verktyg.

Jag fungerar bäst som “motor” i ett team där vi tillsammans kommer överens om hur vi lämpligast levererar bestående värde för verksamheten. Begrepp som TDD, XP, Scrum, Java EE, JavaScript, Maven och CI ligger nära till hands när problem ska lösas på ett sätt som hanterar det omedelbara såväl som det bestående.

Eftersom jag ser både vardags- och yrkeslivet som ett evigt lärande ger jag mig med glädje in i den nya tidens applikationer där termer som Node.js, Unobtrusive JavaScript, Progressive Enhancement, HTML5 och REST är centrala.

Erfarenheter

Utvecklare, arkitekt, mentor och coach

SVTi, 2011 – nuvarande

Medlem i ett team ansvarig för fundamentala delar av SVTs byte av CMS (Polopoly till Escenic).

  • Utvecklare. Introducerade Spring MVC för att ersätta hemmabyggd lösning för Escenics Widget-ramverk. Central roll i både tv-tablån och förstasidan.
  • Arkitekt. Del av det team som har arkitekturansvar.
  • Mentor. De erfarenheter jag samlat på mig under min tid hos Aftonbladet i relation till Escenic, leder till en hel del mentoring.
  • Metodik: Scrum
  • Teknik: Escenic, Spring, Spring MVC
  • Operativsystem: Mac OS X
  • Verktyg: Mercurial, IntelliJ, Maven, Jenkins

Utvecklare, arkitekt, mentor, Scrum Master och coach

Aftonbladet, 2006 – 2011

Gåva från Aftonbladet vid Crisps 10-årsjubileum.

Anlitades av Aftonbladet i december 2006 för att assistera vid övergången från ett egenutvecklat publicerings-system till ett nytt CMS - Escenic Content Engine. Kontraktet har förlängts ett flertal gånger. Inför tredje kvartalet 2011 valda jag själv att inte förlänga kontraktet för att koncentrera mig på självstudier under några veckor.

Nedan följer ett axplock av projekt som jag varit delaktig i under tiden på Aftonbladet.

Scrum Master, Mobil utveckling, 2010 - 2011

Scrum Master för utvecklingsteamet ansvarigt för Aftonbladets mobilsajt och mobil apputveckling.

  • Utvecklare. En hel del utveckling, framför allt för att förbättra arkitekturen.
  • Arkitekt. Som den mest seniora medlemmen i teamet har jag ett ansvar för beslut av arktitektnatur.
  • Mentor. De erfarenheter jag samlat på jag under min tid hos kunden, framför allt i relation till Escenic, leder till en hel del mentoring.
  • Metodik: Scrum
  • Teknik: Spring, Struts2, Hibernate
  • Operativsystem: Mac OS X, Ubuntu Linux
  • Verktyg: Subversion, IntelliJ, Maven, Nexus
Sportbladet for iPad, 2010

Medlem i ett team som utvecklade Aftonbladets första iPad-app — Sportbladet for iPad.

  • Utvecklare. Inblandad i allting utom den slutliga klient-applikationen. Implementerade stora delar av den webb-baserade administrationsapplikationen som implementerades med Groovy, Grails och JavaScript (HTML5 Canvas).
  • Arkitekt. Inblandad i många arkitekturbeslut tidigt i projektet.
  • Mentor. Tillhandahöll tekniskt stöd inom områden som: JavaScript, YUI, HTML5, Maven, Escenic, Struts2 och Java
  • Metodik: Scrum
  • Teknik: JavaScript, YUI 3, HTML5, Groovy, Grails, Java, Hibernate, Spring, Struts2, Escenic, MySQL
  • Operativsystem: Mac OS X, Debian Linux, Ubuntu Linux
  • Verktyg: Firebug, Subversion, IntelliJ, Maven
Superlive, 2010

Aftonbladet.se lanserade Superlive under finalen av den svenska melodifestivalen 2010. Superlive innebär att innehåll uppdateras automatiskt utan att läsaren behöver ladda om sidan. Superlive är en mashup av flera tjänster (Cover It Live, Shoot It Live...) men den redaktionella delen bygger tekniskt på Elitserien Live som med hjälp av asynkron kommunikation hämtar data med konfigurerbar regelbundenhet.

  • Utvecklare. Implementerade stora delar av lösningen.
  • Arkitekt. Erfarenheterna från Elitserien Live var centrala då Superlive i grundläggande tekniska avseenden bygger på Elitserien Live.
  • Metodik: Scrum
  • Teknik: JavaScript, YUI 2, Java, REST, Escenic
  • Operativsystem: Mac OS X, Debian Linux
  • Verktyg: Firebug, Subversion, IntelliJ, Maven
Allt om Stockholm, 2008 – 2009

Tekniskt ansvarig för Allt om Stockholms övergång till Escenic. Ledde ett team som gjorde om Allt om Stockholm från grunden. Allt om Stockholm hade under flera år en bedrövlig uptime-statistik. En total omskrivning med Escenic som CMS har vänt på detta och numera har Allt om Stockholm nära 100% uptime.

  • Utvecklare. Då teamet var litet innebar projektet stora mängder utveckling.
  • Arkitekt. Ansvarig för den övergripande designen.
  • Mentor. Det relativt unga teamet behövde stöd med allt från Java, JavaScript, Escenic och Spring till Subversion, Maven och Eclipse.
  • Scrum Coach. Teamet var ovana vid Scrum och behövde en hel del stöd.
  • Metodik: Scrum
  • Teknik: Escenic, Java, JSP, Spring, JavaScript, YUI 2
  • Operativsystem: Mac OS X, Debian Linux
  • Verktyg: Subversion, Eclipse (MyEclipse), Maven
Elitserien Live, 2007 – 2008

Totalansvar för hela lösningen som utvecklades i Java (Spring MVC) och JavaScript. Hade också rollen som produktägare på grund av bristande hockey-kompetens i utvecklingsteamet och på sportredaktionen.

  • Utvecklare. Jag var i princip ensam utvecklare.
  • Arkitekt. Ansvarig för den övergripande designen.
  • Teknik: JavaScript, YUI 2, Java, Spring MVC, XSL, XPath, XML
  • Operativsystem: Mac OS X, Debian Linux
  • Verktyg: Firebug, Subversion, Eclipse (MyEclipse), Maven
CMS-migration, 2006 – 2007

Aftonbladet bytte under den här tiden publiceringssystem från ett baserat Vignette Story Server till Escenic Content Engine. Projektet var kraftigt försenat och behövde hjälp med framför allt data-migration från det gamla till det nya systemet.

  • Utvecklare. Primär utvecklare för importen.
  • Mentor. Flera i teamet var ovana Java- och JSP-utvecklare och behövde en hel del stöd.
  • Metodik: Scrum
  • Teknik: Escenic, Java, XML, JSP, MySql
  • Operativsystem: Mac OS X, Debian Linux
  • Verktyg: Subversion, Eclipse (MyEclipse)

Utvecklare, arkitekt, utvecklingschef, mentor

Niku Corporation/Computer Associates (CA), Redwood City, California, 1999 – 2006

Anställdes på Niku i augusti 1999 och hade ett antal positioner genom åren. I stort sett alla positioner har gällt den webb-applikation, Clarity, som till slut blev Nikus flaggskepp, eller dess föregångare Niku 6. Clarity är en webb-applikation som är baserad på Java EE (Servlets, JSP, XML, XSL, JDBC,…).

I slutet av 2005 köptes Niku upp av Computer Associates (CA).

Fellow, 2006

Hade under 2006 en fri roll att förbättra valda delar av Clarity. Det ledde bland annat till en helt ny implementation av Claritys portlet-infrastruktur som blev Ajax-baserad. Ajax innebar en markant förbättring av denna funktionalitet eftersom en portlet nu kunde uppdateras utan att hela sidan laddas om. En sida kan ha ett stort antal portlets av godtycklig komplexitet så värdet av att inte behöva ladda om hela sidan är stort.

  • Utvecklare. Ensam utvecklare för lösningen.
  • Arkitekt. Ensam arkitekt för lösningen
  • Teknik: Java, Ajax, JavaScript, XML, XSLT
  • Operativsystem: Windows XP
  • Verktyg: Emacs, Subversion, Venkman
Director, Development, 2005

Under första delen av 2005 var jag chef för Nikus infrastrukturgrupp – CTG (Common Technology Group). CTG var ansvarig för stora delar av Claritys arkitektur. Som CTG-chef hade jag ansvar för CTGs projekt i Clarity och dessutom som medlem av Claritys styrgrupp ett helhetsansvar för produkten. Positionen innebar också en hel del kundkontakter.

Även som chef hade jag fortfarande implementationsansvar för stora delar av Claritys infrastruktur.

Architect, 2003 – 2004

Under de här åren var jag systemarkitekt med ansvar för stora delar av CA Clarity™ Studio. I mer detalj innebar det bland annat följande:

  • Portlet-infrastruktur. 
Jag var chefsdesigner för Claritys portlet-infrastruktur vilken låter både utvecklare och Clarity-kunder bygga sina egna portlets. Clarity Studio Portlets är Excel-liknande tabeller eller grafer. ”Uppfann” NSQL som är en syntax överlagrad SQL som gör det möjligt att beskriva meta-data om en SQL-fråga. Jag var också ansvarig för stora delar av implementationen.
  • ODF (Object Description Framework). 
Hjärnan bakom ODF, som bland annat är ett inskjutet lager mellan de logiska abstraktionerna i Clarity (Projekt, Resurs, Process,...) och dess implementationer. Av historiska skäl använde dessa implementationer helt olika teknologier. ODF gjorde det möjligt att på ett generellt, objektorienterat sätt arbeta med dessa abstraktioner.
Med ODF fick kunder också möjlighet att konfigurera en stor del av Claritys användargränssnitt. Notera att ODF senare kallades PowerMods i Claritys marknadsföringsmaterial. Jag är osäker på vad det kallas idag.
  • Teknik: Java, SQL, SVG, XML, XSLT
  • Operativsystem: Windows XP
  • Verktyg: Emacs, Subversion
Technical Lead, 1999 – 2002

Under de första åren hjälpte jag en relativt omogen utvecklingsorganisation med diverse problem.

  • Det snabbt växande Niku hade spenderat en hel del tid på en kodgenerator som var behäftad med så stora brister att det enda som rimligtvis kunde hända var att den togs ur bruk. Jag ledde utvärderingen av kodgeneratorn.
  • Del av den grupp som utvecklade och designade den arkitektur som kom att ligga till grund för Claritys föregångare, Niku 6. Denna arkitektur kan ses som en föregångare till dagens uppsjö av J2EE-ramverk som till exempel Spring eller Struts.
  • Designade och implementerade version 1.0 och 2.0 av det persistensramverk som fortfarande används i Clarity.
  • Introducerade JUnit och nattliga byggen av all kod.
  • Teknik: Java, SQL, JDBC, XML, XSLT

Utvecklare

OOCL USA Inc. 1998 – 1999, San Jose, California

Del av ett högklassigt team som designade och implementerade en optimeringsapplikation för container-trafik.

  • Teknik: Java, RMI, JUnit, iContract, GemStone/J

Konsult

Enea Data AB, 1997 – 1998

Konsult

Logica Svenska AB, 1994 – 1997

Examensarbete

Ericsson Radio Systems, 1994

Utvecklare

Future Data AB, 1990 – 1992

Tekniker

Kurser (urval)

Andra github-länkar

Språk

Anställningar

Utbildning

Övrigt