Man lever så länge man lär

Skiftbyte i uppdragsfabriken

Tomt. Och konstigt. Jag har nog helt enkelt inte förstått ännu.

Idag har jag gjort min sista arbetsdag i det projekt jag mer eller mindre levt och andats i sedan april 2015. De första åren var jag med och vidareutvecklade en befintlig JEE-applikation. Låt oss kalla den det nya nya. Hösten 2018 bytte jag både arbetsgivare och JEE-applikation, men stannade kvar i samma projekt.

Under de här nästan fyra och ett halvt åren har det hänt en hel del och målet för projektet börjar nu vara inom räckhåll, för att inte säga nästan greppbart nära. De flesta av användar­funktionerna har flyttat från det gamla till ett nyare system.

Och ”nyare” kan vi väl passa på att prata lite om…

Det gamla systemet är stordatorbaserat och skrivet i Cobol någon gång på 70-talet eller så. Det gamla nya systemet, som jag jobbat med det senaste året, har en versionshistorik som börjar ungefär 2002, om jag inte minns alldeles fel.

Det nya nya systemet, som jag jobbade med innan dess, är yngre, men jag vet inte exakt när det togs fram. Det jag vet är att webb­gränssnittet var utvecklat i JSF (JavaServer Faces) och blev omskrivet i Angular (version 2, som låg i beta när om­skriv­nings­arbetet började). I det gamla nya systemet hanteras faktiskt webb­gräns­snittet fortfarande med hjälp av Struts. Fatta vilken nostalgitripp! Jag vet att jag har jobbat med ett system som använde Struts, men det var så länge sedan att jag glömt vilket och när, men det var i alla fall efter millennieskiftet.

Fast det är inte särskilt mycket GUI jag/vi jobbat med det här senaste året. Den första uppgiften jag utförde var en kartläggning av en viktig indata-kanal (från det gamla systemet) och den andra att ersätta en detaljerad webbsida med en länk som tar användaren till det nya nya systemet. Så jo, det blev lite front-end och jag städade bort rätt mycket kod och lärde mig hur det hela hängde ihop.

Då trodde vi (måhända en smula naivt) att vi skulle kunna städa vidare i koden ett bra tag till, men så blev det inte. I stället har vi behövt lägga nästan all tid på att utveckla ersättnings­lösningar för det gamla systemet. Och det är väl ingen dålig sak med tanke på att det gamla systemet ska tas ur drift så snart det går. Projektet har försenats i omgångar och blåslampan glöder från ledningens håll.

Jag funderar över mina erfarenheter från de här åren och kan konstatera att de är av blandad karaktär. Det finns rent tekniska [nya] bekantskaper: Git, IntelliJ IDEA, Mockito, Java 8, JPA, WebLogic, Liquibase, Angular, PlantUML – för att nämna några av de mest uppenbara. Och sedan finns det förstås en stor mängd projekt-, team- och metodik­relaterade lärdomar som är svårare att sätta ord på.

Jag har aldrig tidigare jobbat i ett så stort projekt, omfattande cirka 50 personer varav 15-20 utvecklare som försöker samsas i två system/applikationer – det bjuder på en del intressanta utmaningar. Det hade nog varit enklare om vi fått eller kunnat dela upp det så att varje team hanterade ett visst område i stället för att, som det nu var, minst två team arbetade i respektive applikationskodbas.

Personrikedomen såväl som de många integrations­punkterna mot omgivande system gjorde det svårt att jobba särskilt agilt, vilket man gjorde – på papperet. Jag tror att vi var som mest lättrörliga i början, med ett utvecklingsteam om 5-6 personer. Ju fler personer och ju fler utvecklingsteam, desto mer inlåsta blev vi.

Sedan ska vi väl inte heller glömma att vi med tiden integrerade mot allt fler av verksamhetens olika system. I början var det bara ett system att ta hänsyn till (=koda, testa, synkronisera och koordinera med/mot), men mot slutet pratade applikationerna med ytterligare någon dryg handfull interna system och tjänster.

Efterhandskommentar:
Jag hade en myriad av tankar när jag började skriva det här inlägget, precis då jag avslutat uppdraget (för ganska exakt tre veckor sedan), men eftersom det blev liggande har jag tappat tråden och glömt det mesta. Så nu får det bli både rumphugget och feldaterat – med publiceringsdatum som matchar innehållet. Nedan lägger jag till några saker jag minns och vill bevara för framtiden.

Jag gjorde min sista arbetsdag onsdagen den 28/8 och fattade beslutet att delta i sprintdemon på torsdag morgon, för jag ville ändå vara med på demo av det sista jag jobbat med i projektet. Något jag ändå var lite stolt och nöjd med, och själv kodat en stor del av. Jag hoppas verkligen att den fina lösningen (som vi inom teamet kollektivt tagit fram) kommer till användning för ytterligare saker.

Projektledaren passade också på att nämna att jag nu lämnade projektet, tackade kort för lång och trogen tjänst. Det var tur att jag inte behövde säga något, för hur det än är blir det emotionellt när man varit med så länge. Flera av kollegorna förvånade genom att hänga kvar efter demon för att säga adjö. Jag hade nästan hunnit ned till gatuplanet när projektledaren ropade i trapphuset, för att hon ville säga adjö personligen och skicka med några saker för framtiden, och det var när jag pratade med henne som känslorna till slut tog överhanden. Väl ute på gatan samlade jag mig och tog den långa kollektiva färdvägen hem.

Så: 2015-04 till 2019-08. 52 månader. Drygt 7500 timmar. Wow.

Lämna en kommentar

Denna webbplats använder Akismet för att minska skräppost. Lär dig om hur din kommentarsdata bearbetas.

Etikettmoln