Rekursiv ABOrganisationsnummer
  556624-6806
Adress
  Älgkroksvägen 7
  SE-134 63 Ingarö
  0708-62 88 88
  info@rekursiv.se

KONSULTPROFIL
Staffan NötebergNamn:Staffan Nöteberg
Expertområden:Java, JavaEE, EJB, Servlets, Middleware, C++
Akademisk titel:M.Sc Computer Science
I branschen sedan:1992
Telefon:(+46) 0708-62 88 88
E-post:staffan.noteberg@rekursiv.se
CV:http://www.staffannoteberg.com
Blogg:http://blog.staffannoteberg.com
Bok:http://www.pomodoro-book.com

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 BioJava, 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)
Pragmatic BookshelfPomodoro Technique, Subversion
Min bok Pomodoro Technique Illustrated publicerades av Andy och Dave på Pragmatic Programmers LLC
Min roll: Författare (2009)
St.Jude MedicalJava, JUnit, Scrum, TDD, Eclipse, EMF, Linux, C++
Läkaren programmerar om pacemakern och monitorerar hjärtats historik från sin Java/Linuxbaserade terminal via telemtri.
Min roll: Utvecklare (2005-2008)
SVTJava, Jive, Servlets, Resin, WebWork, Ant
SVT behövde en medlemsfunktion och diskussionsforum för tiotusentals samtidiga användare.
Min roll: Utvecklare (2005)
UefaJava, XML, XSL-T, JSP, Jstl, CSS, JavaScript, Resin, Ant
Under EM 2004 skickade UEFA ut XML-strömmar med minutrapporter från matcherna. De transformerades sedan till HTML.
Min roll: Utvecklare (2004)
SVTJava, XSL-T, JSP, Jstl, DOM, CSS, Polopoly, Ant
Transformera sidor från text-tv till DOM-objekt, webbsidor och mobilsidor.
Min roll: Arkitekt (2004)
Täby kommunJava, Java EE, Oracle, Tomcat, EJB, Eclipse, JSF, Ant, CVS
Från och med 2004 väljer barnen i Täby kommun skola via kommunens 24-timmarssajt.
Min roll: Utvecklare (2004)
Nacka kommunJava, Java EE, Oracle, Tomcat, InterBase, BankID, iText
Nacka är den ledande kommunen ibland Sveriges 24-timmarssajter. En rad funktioner för medborgarna gjorde att systemet gav Nacka regeringens pris som Årets IT-kommun 2003.
Min roll: Utvecklare (2002-2004)
EricssonJava, Java EE, EJB, JSP, Servlets, XML, Orion, Tomcat, SourceSafe
Ericssons produktinformation och dokument finns sedan länge lagrade i stordatormiljö. Denna gigantiska informationsmängd kan nu nås och uppdateras från html-sidor (jsp/servlets).
Min roll: Arkitekt (2000-2002)
Mi4eJava, Java EE, Servlets, JSP, MMS, Smil, JDBC, MS SQL Server
Mi4e gör lösningar för mobilt Internet. Redan i början av 2002 fanns en tjänst för MMS.
Min roll: Mentor (2002)
LinSoftExtreme 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)
CrispXSL-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)
RikspolisstyrelsenJava, 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)
EricssonJava, Swing, JUnit, Unix/Solaris, OS/390, Rational Rose, JBuilder
Ericssons produktinformation och dokument finns sedan länge lagrade i stordatormiljö. En Java-applet stöder interaktivt arbetsflöde för verksamheten.
Min roll: Arkitekt (2000-2001)
AdIntelligenceJava, 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)
PejlPejl
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)
AMSJava, 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)
FritidsresorJava, 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.
Min roll: Mentor (2000)
EricssonC++, 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)
AIKJava, 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)
RSVPerl, 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)
RSVJava, 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)
RSVC++, COM, Bea Tuxedo, Visual Studio, Visual Basic, MFC, Unix/HP-UX
COM-komponent löser alla tekniska transaktionsproblem för VB.
Min roll: Projektledare, mentor och utvecklare (1996-1997)
Global OneUnix/HP-UX, Sockets, Cisco Routers
Global Ones SDH-nät med noder i Stockholm, Göteborg och Malmödriftsattes.
Min roll: Projektledare (1996)
FFVC++, Sockets, Unix/Solaris
Avancerad processhantering. Unix-processer som samverkar med testprogram.
Min roll: Arkitekt (1995)
EricssonC++, Unix/Solaris
Ett polymorft klassbibliotek för instrumentoberoende testprogram.
Min roll: Arkitekt (1994)
EricssonC++, Unix/Solaris
Specialskrivna drivrutiner styr avancerade generatorer och signalanalysatorer för PDH och SDH.
Min roll: Utvecklare (1993)
Technology PartnersC++
Algoritmer för bild- och faxmanipulering.
Min roll: Utvecklare (1992)

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