Tommy Svenssons CV utökad

Jag har jobbat med mycket, en lång tid, så min CV blir rätt lång. Jag försöker hålla pappers versionen kort och refererar till detta för full information för dom som vill läsa det.

Konsultuppdrag

Arbetsförmedlingen 2018 - 2018

Tillhör ett team som ansvarar för förvaltning och nyutveckling av ett antal interna system, bland annat Diariet för diarieföring och även liknande system som arbetsförmedlare jobbar i dagligen för pågående aktiviteter. Detta samlar all information om en specifik arbetssökande och aktiviteterna för att hitta ett jobb för denne. Strikt behörighetshierarki och skydd för personer med skyddade identiteter.

Det är standard JEE-EJB/MDB applikationer med AngularJS+4 frontends (finns båda) och Oracle databas. Körs på JBoss/Wildfly och ActiveMQ kö/meddelande hanterare. Git används för versionshantering.

Taggar: Java8, JEE, Oracle, JIRA, Confluence, AngularJS, Angular4

Polismyndigheten 2017-2017

Projektet på polisen handlade om att avveckla stordatorn genom att skriva en ny applikation för hantering av ordningsböter. Tommy kom in senare i projektet för att ersätta en person som slutade. Han implementerade migrering från gamla systemet till det nya (handlade om att kopiera och konvertera data mellan databaser via JEE entiteter). Tommy gjorde även om hela brevhanteringen pga originalet som tagits fram var inte tillräckligt bra. Brev genereras som PDF dokument med OpenPDF. Endast grund API:et för att skapa PDF objekt användes för att ha full kontroll över sidan och desutom göra det enkelt att bya PDF ramverket om man vill. Utöver det fixade Tommy ett antal JIRA ”issues” och var med om en lyckad release och migrering.

Taggar: Java8, Streams, Scrum, JIRA, JEE, MySQL, PDF

Polismyndigheten 2016 - 2016

Jobbade med avveckling av stordator system som ersatts av Java tjänster. Jobbade mest med registerutdrag mot transportstyrelsen men även omkoppling i gamla tjänster att anropa nya tjänster. Fixade buggar hittade i pilottest av nya tjänster. Tillhörde en grupp med 4 konsulter och 8 anställda som ansvarade för olika register typ system. Då det inte går att byta allt med en big bang så fick man anpassa till att ta några tjänster åt gången vilket medförde att gamla tjänster blev tvungna att uppdateras att hämta visst data från nya innan dom i sig kan ersättas med nya tjänster.

Taggar: Scrum JIRA JEE JMS MySQL SOAP REST IE

Svenska Handelsbanken AB 2015 – 2016

Jobbade med en intern kontorsapplikation för att registrera ny information som är krav från FI. Kontorsapplikationerna är webb applikationer med HMTL/JavaScript i klienten, Java (servlet/JSP) högst upp på servern, och Cobol som backend. Jag har utvecklat GUI dialoger och anropat Cobol tjänster för att hämta och skriva data. Projektet kör scrum.

Taggar: Clearcase JEE JS IE Scrum

Ericsson AB - 2013 - 2015

Kom in i ett pågående projekt. Projektet tog fram en relativt avancerad CI lösning för maximal testautomatisering baserat på kända ”open source” produkter som knyts ihop med en meddelandebuss (RabbitMQ). Började med att paketera det för enkel installation och sedan med att sätta upp en test där man kör produkten på sig själv och automatiskt installerar och testar sig själv. Koden är i huvudsak gjord i Java och byggs med maven.

Fortsatte med ett annat projekt att göra CI lösningen paketerad och beställningsbar för leverans som en intern moln applikation. Installations- och administrationsfunktioner utvecklades helt i Ruby (något jag aldrig kodat i förut, men har man utvecklat mjukvara under lång tid så är “nya” språk inget problem). Var senior utvecklare och granskade även slutliga koden.

Fortsatte i fas 2 av projektet och utvecklade ”native SSL” stöd i CI systemet som i första version körde stunnel. Detta handlade mest om SSL uppkoppling till RabbitMQ och SSL i Nettosphere webserver. Även klient certifikat används för att validera klienter. Sitter med i arkitekt gruppen som representant för ”deployment” sidan och tar lite jobb från deras backlog som är relevant för ”deployment”, som SSL stödet. Bidrar även lite till ”call home” funktionalitet som används för övervakning och statistik.

Fortsatte även i fas 3 där vi adderade stöd för ElasticSearch och började packetera installationer som Docker “images” där jag bygger Docker images både för ett MongoDB kluster och ElasticSearch kluster.

Taggar: Git CI Java Ruby Docker Linux RabbitMQ SSL MongoDB

Bisnode AB - 2013 - 2013

Kom in för att ersätta en person som slutade i ett projekt för att ta fram en web-applikation åt Läkare Utan Gränser som hanterar gåvor och givare och ekonomiska uppgifter. Applikationen stödjer även processer för att uppmuntra givare att ge mera. Ett rent JEE projekt med JSF/Prime Faces som GUI och EJB3/JPA (Hibernate) för databas access. Projektet kör scrum. Alla jobbar över hela applikationen, GUI och server. Tommy har bland annat exporterat KU65 data till skatteverket och SIE4 fil för bokföring. En rolig slutkund som Tommy har stor respekt för och själv ger pengar till.

Taggar: JEE JSF JPA Hibernate Scrum

Svenska handelsbanken AB - 2013 - 2013

Ett Java projekt som producerar ekonomiska rapporter från grund data i en databas. Datat måste processas innan det kan presenteras i form av Excel dokument (med hjälp av POI).

Taggar: Java POI

Svenska handelsbanken AB - 2012 - 2013

Jobbade med JSON Java server resurser av REST typ för SPI baserad webapplikation. Data hämtas från Cobol system med en Cobol baserad data modell som översätts till en engelskbaserad model i JSON format upp till klienten som får sitt data ”serverat på ett silverfat!” (d.v.s tjänster plockar ut enbart och exakt det som ska visas). Projektet kör scrum.

Taggar: JEE Glassfish JSON Jackson Scrum REST

SJ AB - 2005 - 2012

Förvaltning och nyutveckling av applikationer på SJ’s Webbplattform. Detta täckte allt från backend till webb GUI. Körde scrum med 2 veckors sprintar.

Jag har arbetat i ett flertal projekt inom SJ:s webbplattform (listat i ungefärlig tidsordning, färskast överst) där jag har haft flera roller. Jag fördelade min tid mellan utveckling, arkitektur och CM-arbete.

Uppdaterade automatwebbtjänsterna att använda nya SOA tjänster mot bokningsystemet istället för ett gammalt Java API.

Var webteam ansvarig för ett större projekt att splitta alla SJs webbar i 2 fristående delar som inte längre påverkar varandra. Tommy satt med alla centrala kunskaper som krävdes för att göra detta och fick stödja både EDB (drift) och Logica (förvaltning) för att få ihop detta.

Utförde en test av Varnish (webb cache) på sj.se ihop med en annan leverantör som jobbade med Varnish. Implementerade pendlarkort (10 biljlett, månadskort) som rabattyper i automat webbtjänsterna.

Implementerade hela dagens tidtabell i webbtjänsterna för automaterna. Detta inenbär att man hämtar tidtabellen för hela dagen endast en gång per dag och sparar i cache. Detta minskar belastningen på underliggande bokningsystem. Diverse buggrättningar för automat webbtjänsterna.

Adderade Danska som språk för webbarna och webbtjänsterna. Detta kräver lite mera än bara CM publiceringar. Förbättring av tester för automat webbtjänster.

Ansvarig för ”Prio i översikten” som gick ut på att resenärer ska få möjlighet att ange sina priokortnummer på översiktssidan, innan man betalar, för att kunna tjäna poäng på resan ifall man missat att göra det på första sidan. Hade en resurs till i mitt team.

Jobbade med en större intern refaktorisering och städning för att underlätta kommande uppgifter.

Paketering av väldigt komplex utvecklingsmiljö för att snabbare kunna ta in och få igång nya resurser vid behov.

Jobbade med gemensamma tjänster och biljettautomat webbtjänsterna för “pendlarprodukt” projektet.

Gjorde anpassning till ny struktur för att lägga upp nya upplevelser på intranätet.

Gjorde allmän buggrättning i www.sj.se, intranätet, etxtranätet, mobil.sj.se.

Implementerade ”fraud screening” i www.sj.se för kreditkort via Paynovas webbtjänster (av REST typ).

Implementerade biljettutskrifter för Commeobokare i www.sj.se via en utskriftsapplet som matades med XML från en webbtjänst.

Implementerade kampanjkodhantering i www.sj.se.

Var andra person in till förvaltningen av www.sj.se.

mobil.sj.se

Tog fram det mesta av arkitekturen med Polopoly publicerbart innehåll, publiceringsstyrd placering av funktionalitet, och generisk kod som återanvänds av alla funktioner.

Implementerade ”Sök beställning” och ”Avboka”.

Implementerade betalningar via Paynovas webbtjänster.

Gav support till andra projektmedlemmar.

Biljettautomater

Tog fram arkitekturen för att exponera www.sj.se’s underliggande tjänster som SOAP webbtjänster. Arbetade nästan uteslutet med de arkitekturella delarna av koden och gav support till andra utvecklare i projektet.

Skötte CM och ”mergning” för projektet.

Var den enda seniora utvecklaren i projektet och hade därmed ansvaret för att koden blev så bra som möjligt.

Byggde ett testramverk baserad på JUnit för att underlätta att skriva SOAP klient tester för alla tjänster. Detta laddade testdata från JSON filer för lättare återanvändning av test data.

Implementerade KRP (Kund Relations Programmet) funktionalitet för biljettautomaternas webbtjänstelager.

WebSphere → JBoss projektet

Var med och tog fram ny JBoss-baserad plattform för SJ’s webbplattform som vi kallade sj-platform. All platformsspecifik konfiguration lyftes ut till denna platform.

Den kod som tagits emot från annan leverantör hade alldeles för många lager vilket gjorde att alla ändringar tog mycket tid. Mitt jobb var att minska antalet lager och även göra om alla EJB:er till Spring JDBC DAO:er. Detta jobb gjorde jag samtidigt som ny funktionalitet utvecklades parallellt. I slutet fanns det bara ett webb/GUI-lager, ett tjänstelager, och ett externlager för kommunikation mot externa system.

”offshore”

Vi jobbade med en grupp konsulter från Indien under en tid. Dom var även uppe i Stockholm en period.

Taggar: JEE JBoss SOAP XML Accurev GWT JSP Polopoly Linux

IT-Soldat - 2005 - 2005

Utvecklade en funktion för att ta emot information i XML format från soldat-PC:n, plocka ut informationen och mata den via tjänsteanrop till den centrala informationshanteraren med en java-tjänst som pluggade in i IT-Soldats tjänstearkitektur. Projektet tog fram en exempel prototyp inte en färdig att använda produkt!

Taggar: Java XML

Försvarsmakten - 2004 - 2005

Deltog i ett projekt att utveckla ett webb-baserat ekonomisystem gjort i JEE helt på IBMs plattform med WebSphere och DB2 på AIX.

Förutom arkitekturen och stöd till andra utvecklare så jobbade jag även med funktionalitet att importera dagligt data från andra system till systemet och bygga ett gränssnitt för att lägga upp och konfigurera sådana jobb. Jag byggde även en DAO lösning som hämtade och skrev data via lagrade procedurer i DB2, och gjorde ett exempel flöde från högst upp hela vägen ner till databas och dokumenterade det för andra utvecklare att jobba efter. Han löste även hanteringen med användarcertifikat i applikationen (efter att IBMs "främste expert" hade misslyckats lösa det i WebSphere).

Taggar: JEE WAS SQL ”Stored Procedures” AIX

SAS AB - 2003 - 2004

Kom in mot slutet för att stödja ett projekt med kodgranskning, tekniskt stöd till projektledaren, och lösa ett problem med Mercury Loadrunner (prestandatester på systemet). Jobbet var att fixa de genererade Loadrunner skripten så att de blev tillräckligt dynamiska för att kunna köras flera gånger. Var även med och körde lasttesterna hos kunden i Köpenhamn.

Taggar: JEE LoadRunner

ATG AB - 2001 - 2002

Kodansvarig för tjänstesidan av internet spel (C++) . Var med och implementerade nya spelformer såsom V3 och V65. Designade och implementerade även en loggservice (skriven i Java) för att samla loggar från alla servrar.

Taggar: C++

Anoto AB - 2000–2001

Tommys uppgift i detta projekt var att underhålla och förbättra en penn-emulator. Penn-emulatorn var skriven i java och lät användaren med hjälp av ett Swing GUI använda musen för att rita på ett simulerat papper. Emulatorn kommunicerade sedan med servern på precis samma sätt som en riktig Anoto penna.

Taggar: Java Swing

Freedoo AB - 1999 - 2000

Ansvarade i detta projekt för EJB och applikationslagret ihop med en annan person. Var även administratör av de 2 Linux utvecklingsservrar som användes samt projektets Linuxexpert.

Jag höll även ett föredrag om detta projekt och dess design på en Mimer konferens i London.

Freedoo gjorde marknadsundersökningar på webben och vände sig till studenter som fick ersättning för att deltaga.

Taggar: JEE(1.0!) EJB Mimer Linux

Mercedes-Benz Svenska AB - 1998 - 1999

Arbetet inkluderade server, klient, och GUI (skrev ett antal AWT & Swing komponenter). Föreslog och implementerade en arkitekturändring som kraftigt ökade prestanda genom att göra en ändring i Sapphire/Web (applikationsservern - källkod medföljde!).

Detta var ett projekt där man utvecklade ett webb-baserat (Applets!) ordersystem skrivet i 99.9% Java. Avsikten var att ersätta ett stordatorsystem. Här lärde Jag mig att aldrig någonsin använda Applets som bas komponent i en webapplikation igen.

Taggar: Java AWT Swing

Anställningar

(För detaljer om alla konsultanställningar, se projekt ovan.)

Natusoft AB - 2006 -

Konsult inom systemutveckling i eget enmansföretag.

Guide Konsult Stockholm AB - 2005–2006

Konsult inom systemutveckling.

Modul1 AB - 2002 - 2005

Konsult inom systemutveckling.

Modul1 förvärvade Askus IT-konsultverksamhet.

Askus AB - 2000 - 2002

Konsult inom systemutveckling.

Concis och Askus KW sammanslogs.

Concis AB - 1998 - 2000

Konsult inom systemutveckling.

Concis var en utbrytare från Enator. Stor del av Enator bolaget jag jobbade på gick dit och jag hängde på.

Enator Systemutveckling AB - 1998 - 1998

Konsult inom systemutveckling.

Linewise Telecom AB - 1997 - 1998

TCP/IP talsvars-servrar både under NT och under SunOS 5. Under NT använde man nästan uteslutande Microsoft SQL server. För de servrar som gick under SunOS 5 skrev Tommy egna enkla filbaserade träddatabaser. Webbprojekt: De sidor som Tommy utvecklade och sedan lämnade över till kund var uteslutande gjorda på NT med IIs/ASP och Microsoft SQL Server 6.5. De som driftsattes på bolagets egna servrar gick under SunOS 5 på Sparc20 servrar och var skrivna i C,Bournce shell, awk, sed, perl, etc.

Ericsson AB (EXT & UAB) - 1990 - 1997

Drift & Support av Delta, ett distribuerat dokumentlagringsystem för projektdokumentation. Jag gjorde även viss utveckling i Deltaapplikationen som var skriven i REXX.

Drift av MHS, ett distribuerat, “Ericsson brett” felrapportering system. Skrev ett övervakningssystem för både MHS och Deltaservrar.

Både Delta och MHS gick på VM/CMS stordatorsystem.

Arbetade även som internkonsult mot andra projekt för att ta fram små verktyg som projekten behövde. Var medlem i plattformsgruppen som fastställde designregler, underhöll plattformar, gjorde skrivarrekommendationer samt andra funktioner för APStools.

Ansvarig för ett antal plattformverktyg I APStools. Ansvaret inkluderade design, kodning, dokumentation, och användarsupport. (Inkluderade ansvaret för att verktygen fungerade och att användarna var nöjda.)

Hade root-behörighet och administrerade själv sin Sparc 5 maskin med Solaris 2.5.

Höll ett föredrag om DeltaTool på Engelska framför cirka 100 personer som representerande alla APSTools-användare inom Ericssonvärlden.

Utbildning

Kurser