|
Jag har jobbat med mjukvaruutveckling sedan 1992, som systemarkitekt, programmerare och mentor. För att uppnå korta utvecklingstider och stabila produkter så fokuserar jag på mjukvarukvalitet. I mina uppgifter i projekten ingår att dela med mig av kunskap, samt att förbättra utvecklingsprocessen. Därför lägger jag fortlöpande ner mycket tid på att fördjupa mig i objektorientering (design, analys, test, Java etc) och processer (RUP, XP, TDD, Scrum etc). Jag har expertkunskap i språken Java och C++. Jag har varit systemarkitekt i stora Java Enterprise-projekt och har stor kunskap om EJB, Servlets och JSP. Särskilt fokus lägger jag på IBM WebSphere, BEA WebLogic, JBoss och Oracle. Min Master of Science in Computer Science omfattar ca 200 poäng på KTH/SU (1987-1992) och jag är Sun Certified Programmer for Java och Sun Certified Developer for Java.
System Architect
De senaste åren har jag varit systemarkitekt i flera projekt. Som arkitekt tar jag fram övergripande tekniska lösningar för systemet. Jag väljer plattformar för både utvecklings-, test- och produktionsmiljön. Det är jag som ansvarar för Software Architecture Description (SAD). Arkitekturen ska inte bara vara dokumenterad utan även förmedlad på ett lättbegripligt sätt till alla i projektet. En bred kunskap om den nyaste tekniken och de bästa verktygen är central. Det gäller allt ifrån kompilatorer, applikationsservrar och kommunikationsprotokoll till operativsystem, databaser och verktyg för Configuration Management (CM). För att vara en bra arkitekt, med kunskap om spetsteknik, så krävs det att man även programmerar.
Java
Jag började med Java redan 1996. På den tiden handlade det om Applets och AWT som gav webbsidor ett mer interaktivt beteende. Under de år som har gått sedan dess har jag jobbat i åtskilliga Java-projekt, rest på en mängd javakonferenser, läst flera dussin Java-böcker, lärt ut Java i olika former men framför allt skrivit en otrolig mängd Java-kod. Jag har fördjupat mig i Java EE, Swing, Javas XML-stöd och Javas trådhantering. Förutom att jag har gjort Ant-byggstöd för riktigt stora projekt med komplex funktionalitet, så har jag skrivit Ant-utvidgningar. Jag har designat teststrategier för JUnit i flera projekt.
Java EE, EJB, Servlets, JSP, Seam och JSF
I slutet av 1999 kom jag i kontakt med Enterprise JavaBeans (EJB). Redan ett halvår senare fick jag möjlighet att vara systemarkitekt i ett stort Java EE-projekt med Servlets, EJB och JSP. Utvecklingen för Java EE har gått fort sedan dess och det är just den här tekniken som jag har valt att koncentrera mig på under de senaste åren. Jag läser många av de JSR-specifikationer som behandlar Java EE-delar. Det har givit mig goda kunskapar i JDBC, JMS och JNDI. En annan viktig del är kopplingen från Java till stordatorer och andra ärvda system (legacy systems). Jag fokuserar framför allt på IBM WebSphere, BEA WebLogic, JBoss och Oracle, men har även arbetat med Orion, JRun och Tomcat.
Object Technology Mentor
Jag började jobba 1992 med C++. Jag hade då redan programmerat i C++, Smalltalk och Simula under studietiden på KTH. Under många år på 90-talet så jobbade jag nästan bara med C++. De senaste åren har det varit mest Java och nu har jag även kommit i kontakt med C#. Språken är dock inte lika viktiga som den objektorienterade designen. Objektorientering är den bärande delen i mina datalogikunskaper. Jag följer forskningen, driver bokcirklar och lär ut objektorientering. I flera projekt har jag haft rollen som OO-mentor för att få mindre erfarna systemutvecklare att lyfta en nivå. Jag ser Design Patterns och bokcirklar som bra pedagogiska verktyg. UML är en industristandard som jag lär ut för att dokumenterad design ska bli tydlig.
RUP-, Agile-, TDD-, Scrum- och XP-coach
Jag håller kurser i både RUP, Scrum, Lean och Extreme Programming och jag har blivit inbjuden att hålla tal om Agile på stora konferenser som Agile20XX, Devoxx, Øredev och JFokus. Dessutom så har jag ansvarat för att utveckla processen i stora projekt. Olika processer passar för olika typer av projekt. Processen har stor inverkan på resultatet. En av mina uppgifter är att se till att alla deltagare i projektet förstår processen, att man bara gör aktiviteter och producerar artefakter som tillför något, samt att man hanterar projektets risker.
Teknik- och verktygserfarenhet
Nedan följer en lista med teknik och verktyg som jag har professionell erfarenhet av och ofta djup kunskap om:
Projekterfarenhet 1992-2009
Nedan följer en omvänt kronologisk lista med de utvecklingsprojekt som jag har deltagit i. Överst till vänster står namnet på kundföretaget, till höger om detta finns en lista med några av de teknologier och verktyg som jag använde. Sedan kommer en kort beskrivning av tillämpningen. Sist är min roll och tidpunkten för projektet angivet.
| SF Bio | Java, AS400, Kanban, Eclipse, Swing, CVS |
| Ute på SF:s norska bigrafer använder personalen Windows-baserade kassaapparater för att registrera alla köp av biljetter, godis mm. i AS400-servern |
| Min roll:
Utvecklare |
(2009)
|
|
| LinSoft | Extreme Programming, Refactoring, JUnit, Java |
| Jag utvecklade och höll jag kurs om metodiken i Extreme Programming på LinSoft i Linköping. Övningar och demonstrationer blandades med mer teoretisk kunskap om XP:s koppling till bland annat RUP och CMM. |
| Min roll:
Kurslärare och kursutvecklare |
(2002)
|
|
| Crisp | XSL-FO, XSL-T, XML, FOP, Java, Ant |
| En Crisp-konsults CV ska kunna genereras från en standardiserad XML-fil till snygga PDF- och HTML-dokument. |
| Min roll:
Arkitekt och utvecklare |
(2002)
|
|
| Rikspolisstyrelsen | Java, Ant, Java EE, JNDI |
| RPS definierar sin utvecklingsmiljö för hela utvecklingsavdelningen. I den ingår ett generellt Ant-system för automatisk byggning, deploy mm av Java EE-komponenter. |
| Min roll:
Utvecklare |
(2001)
|
|
| AdIntelligence | Java, JDBC, Swing, Voyager, RMI, Rational Rose, Sybase, JUnit |
| AdIntelligence utvecklar en börs för handel av annonsplatser på Internet. Köpare och säljare laddar ner en javaapplikation som kommunicerar via RMI med Applikationsservern. Objekt/relationmappning ingår. |
| Min roll:
Utvecklare |
(2000)
|
|
| Pejl | Pejl |
| Pejl är en välanvänd styrprocess som innehåller det mesta som man kan förvänta sig för att styra ett större företag eller en myndighet. En särart är tonvikten på checklistor. Företaget Pejl ger kurser för de som använder processen Pejl. |
| Min roll:
Kurslärare |
(2000)
|
|
| AMS | Java, Java EE, EJB, JDBC |
| AMS handlägger ansökningar om ekonomiskt stöd från EU till företag. Ärendena kan vara aktuella under en lång utredningstid. All information ska kunna spåras och associeras med ett ärende. Handläggarna är spridda över Sverige men delar på informationssystemet. |
| Min roll:
Arkitekt |
(2000)
|
|
| Fritidsresor | Java, Lotus Notes |
| Fritidsresor replikerar ut hotellbokningar till alla försäljningskontor runt om i världen. Ute på kontoren kan sedan säljarna se i en java-applet var och vilken typ av lediga sängar som finns att boka för olika datum. |
|
|
| Ericsson | C++, Unix/Solaris |
| Ericssons mest lönsamma avdelning är den som utvecklar ekosläckare. Den färdiga processorn ska sitta i växlar runt om i världen. Detta för att abonnenterna ska slippa höra sin egen röst i örat med en sekunds fördröjning. |
| Min roll:
Utvecklare |
(1998-1999)
|
|
| AIK | Java, C++, CGI, JavaScript, Perl, Unix/Solaris |
| AIK hade redan 1995 en fungerande e-handelslösning med intäkter över miljonen. Det dagliga nyhetsbrevet, utskickat från kansliet, har 14.000 prenumeranter. AIK säljer flest biljetter över Internet. |
| Min roll:
Arkitekt |
(1995-1999)
|
|
| RSV | Perl, Oracle, ClearCase, Unix/HP-UX |
| Rikskatteverket lagrar alla inkomna blanketter elektroniskt. Ofantliga datamängder transporteras till de långsiktiga lagringsmedierna. |
| Min roll:
Projektledare och mentor |
(1998)
|
|
| RSV | Java, C++, Bea Tuxedo, Sockets, Unix/HP-UX |
| Handläggare på Rikskatteverket kan när som helst visa valfri inlämnad deklaration på skärmen och sedan lagra den med anteckningar. Detta kräver mycket hög kapacitet i datatransporten och dessutom hög säkerhet. |
| Min roll:
Utvecklare |
(1997)
|
|
| FFV | C++, Sockets, Unix/Solaris |
| Avancerad processhantering. Unix-processer som samverkar med testprogram. |
| Min roll:
Arkitekt |
(1995)
|
|
| Ericsson | C++, Unix/Solaris |
| Ett polymorft klassbibliotek för instrumentoberoende testprogram. |
| Min roll:
Arkitekt |
(1994)
|
|
| Ericsson | C++, Unix/Solaris |
| Specialskrivna drivrutiner styr avancerade generatorer och signalanalysatorer för PDH och SDH. |
| Min roll:
Utvecklare |
(1993)
|
|
Kursutbud
Nedan följer en lista med aktuella kurser som jag har utvecklat själv och håller emellanåt. Kurserna ges dels vid de tillfällen som anges, men kan även ges internt på ditt företag - anpassat efter era behov. Klicka på kursrubriken för att se en mer detaljerad kursbeskrivning. Kontakta mig för anmälan eller diskussion om priser, datum etc.
Agil metod på individnivå - Pomodoro Technique (på Informator Stockholm)
Längd:
1 dag Datum:
2008-11-13 Kostnad:
6.900
The Pomodoro Technique (på Øredev 2008)
Längd:
50 minter Datum:
2008-11-19, kl.14:15 Kostnad:
se länk ovan
Agil metod på individnivå - Pomodoro Technique (på Informator Göteborg)
Längd:
1 dag Datum:
2009-01-19 Kostnad:
6.900
Pomodoro Technique: Kan du fokusera - verkligen fokusera - i 25 minuter? (på JFokus 2009)
Längd:
3½ timmar Datum:
2008-01-27, kl.13:30 Kostnad:
1.495
Pomodoro Technique
Längd:
Heldag, halvdag eller 90 minuter Datum:
Efter överenskommelse Kostnad:
Efter överenskommelse
OH-presentationer på webben
En del mindre presentationer har jag lagt ut här på webben. De handlar om allt från mjukvaruprocesser till Java. Alla presentationerna finns på sidan: OH-presentationer på webben
|