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://cv.staffannoteberg.se
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.

Agile-, TDD-, Scrum- och XP-coach

Jag håller kurser i både Agile, Scrum, Lean och Extreme Programming och jag har blivit inbjuden att hålla tal om Agile på stora konferenser som Agile 2008, Ø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-2013

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.

SPPScrum, Agile, Lean, Kanban, Kaizen
I SPP:s metodlyft coachar och utbildar jag hela IT-avdelningen samt delar av verksamheten.
Min roll: Scrum-coach (2012)
AccelrysJava, JavaScript, AppleScript, Mac OS X, Linux, Windows
iLabber är en elektronisk labbbok för forskare. Experiment gjorda i kemiritverktyg som Marvin och ChemDraw sparas i molnet.
Min roll: Utvecklare (2011-2012)
SJJava, JBoss, Maven, Java EE
SJ hanterar många önskemål vid biljettbokningar. En automatiserad algoritm beräknar vilken plats resenären får.
Min roll: Granskare (2011)
VendemoreJQuery, Ajax, JavaScript, PHP, MySQL
Vendemore har avancerade realtidsverktyg för att webbannonsörer ska kunna nå rätt målgrupp.
Min roll: Mentor (2011)
Net InsightKaizen, Lean, Kanban, Agile, Scrum
Tillsammans med en kollega har jag lett införandet av Net Insights mycket ambitiösa program för att fånga upp, bereda och implementera alla typer av förbättringar.
Min roll: Lean-coach (2010-2011)
SF BioJava EE, EJB, Kanban, Swing, Scrum
SF:s biografer har Windows-baserade kassaapparater och Java-lösning för webben för att registrera alla köp av biljetter, godis mm. i AS400-servern
Min roll: Utvecklare (2009-2010)
Pragmatic BookshelfPomodoro Technique
Min bok Pomodoro Technique Illustrated publicerades av Andy och Dave på Pragmatic Programmers LLC. Den har sedan översatts till Japanska, Kinesiska, Tyska och många andra språk.
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)