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.

Det kliar i fingrarna

Ja, ibland gör det faktiskt det. Inte precis bokstavligt, men i alla fall bildligt talat. Till exempel när jag tagit in en massa ny[gammal] information och känner behov av att formulera egna reflektioner kring denna. Då flyttar jag över min privata dator till datorbordet, kopplar in externa bildskärmar och går till WordPress.

Fast i detta nu handlar det inte så mycket om tankar som dykt upp medan jag sugit åt mig tips och idéer kring mjukvaruarkitektur, utan om något annat som jag inte riktigt kan sätta fingret på. Och det är ju då skrivandet är mitt bästa verktyg, ity ordsmidet oftast skapar den struktur och ordning jag eftersträvar.

Jag misstänker att det här skrivandet har något att göra med semester och att jag börjar få lite ångest över den totala bristen på aktivitet, fast jag redan är inne på tredje veckan. Tänk att komma tillbaka till jobbet efter dryga fyra veckor och inse att en har gjort samma saker som alla andra veckor på året. Hugaligen!

En av föreläsningarna jag kikade på igår handlade om att bygga sin egen teknikradar, liknande den som ThoughtWorks släpper cirka två gånger per år. Och när jag mediterade lite över det insåg jag att jag egentligen redan har en sådan. Bara inte strukturerad på samma sätt som deras. Eller, i ärlighetens namn, inte så värst strukturerad alls. Det är en (eller flera, beroende på hur man räknar) Trello-tavla, med idéer och planer kring sådant jag vill lära mig mer om. Och då handlar det om mjukvaruutveckling – det är nog säkrast att påpeka detta för mig självklara; folk skulle ju faktiskt kunna tro att jag hade andra intressen.

(Nej, jag är aldrig ironisk eller sarkastisk. Alls. Jag lovar. Absolut inte. Aldrig! ;-)

Hur som helst handlar det här med teknikradarn om att kartlägga och skissa sin egen väg i den mjukvarutekniska djungeln och därmed både skapa en plan för framtiden, och visualisera vägen i backspegeln. Jag tror att det är ett jättebra sätt att se hur långt en har kommit och tydliggöra vart en vill fortsätta vidare.

Jag känner (vilket verkar vara något som händer med ojämna mellanrum) behov av att skapa mål och mening och ha en plan för att inte behöva tänka och det är väl där som idén om att återvända till den akademiska världen gör sig påmind. Att vara inskriven på, och följa, en universitetskurs innebär ju att hela tiden veta åt vilken nytta fritiden ska ägnas. Som sagt: inte behöva tänka utan bara göra.

Igår loggade jag, för första gången på säkert ett år, in på antagning.se för att titta efter distanskurser som är öppna för sen anmälan. Två av dem på kvartsfart lockade lite (Datorarkitektur I och Programmering i C), men jag kommer inte att skicka in någon anmälan. Det känns dumt att låsa upp sig, även om jag tror att åtminstone C-kursen skulle vara ganska lätt avklarad. Men för att programmera i C behöver jag ingen kurs – dels skrev jag själv en del C-program på 90-talet och dels har jag en sambo som länge jobbat med just att programmera i C. Det som skulle tala för en kurs är nog främst att det kan ge fokus och motivation – och sen dessutom ytterligare några små, trevliga högskolepoäng i samlingen.

Vad gäller datorarkitekturen verkar kursen rolig och är garanterat nyttig, men jag tror inte att jag har den motivation jag skulle behöva för att ta mig igenom den. Jag har dåligt samvete över att jag inte färdigställde cloud-kursen förra året, så med jämna mellanrum funderar jag på om det vore värt att plocka upp den igen eller om jag kan hitta ett sätt att lägga den bakom mig så att den slutar störa. Därför vill jag inte skriva in mig på fler kurser som kan öka min mentala börda.

Sedan ska man nog inte glömma att jag börjar på nytt uppdrag i september, vilket kommer att ställa en del nya krav på mig och mina mentala förmågor. Innan dess kommer jag nog också att ha rätt fullt upp med att avsluta det gamla uppdraget på bästa sätt – dels leverera värde och dels i någon mån lämna över. Vad det nu kan finnas som behöver lämnas över innan jag lämnar projektet. Jag har ju ingen unik kunskap om systemen vi jobbar med, är ingen nyckelperson inom något specifikt område. Jag är mer allmänt kunnig och erfaren i projektet, och det som just jag vet och kan är inget som är konkret och uppräkningsbart.

Det som känns tråkigt med att sluta är just det att mycket av det jag samlat på mig under dessa år går till spillo, d.v.s. inte kommer projektet till godo – jag hade verkligen haft en massa värde att bidra med om jag hade stannat kvar. Kunskap och erfarenhet, såväl som sedvanlig utvecklarkompetens. Men det är inget nytt, jag har ju bidragit med allt det där under mina fyra och ett halvt år och förr eller senare blir det nödvändigt att gå vidare. Inte minst för min egen skull, för min egen utveckling. Jag vill lära mig nya saker och jobba med mina egna kollegor!

Visst, det både går och känns tryggt och bra i uppdraget och vägen framåt är tydlig, och det hade varit väldigt lätt att stanna och fortsätta in över mållinjen (som jag i och för sig tror flyttar på sig, lite grann, hela tiden), men jag vill inte vara den som är sist kvar eller (som är alternativet) bli kvar för tid och evighet.

Men nog om uppdraget – jag hade ju tänkt att skriva om min fortbildning!

Jag är intresserad av många olika saker när det gäller mjukvaruutveckling, men har insett att jag måste hålla igen och fokusera för att det annars lätt blir vare sig hackat eller malet, d.v.s. inlärningen blir fragmenterad och ingenting blir färdigt. Jag har därför valt att prioritera områdena mikrotjänster, arkitektur och Kotlin.

Min fortbildning har så här långt huvudsakligen handlat om att titta på inspelade resp. interaktiva föreläsningar. Jag har uppskattat och haft bra utbyte av flera online-kurser med Sam Newman på ämnet mikrotjänster, respektive inspelade videokurser med Neal Ford och Mark Richards om arkitektur. Vad gäller Kotlin (programspråk) har det inte gått lika bra, men jag har i alla fall kikat på ett par kurser/föreläsningar och kodat lite på min vanliga applikation. Semesternöjen!

Jag undrar vad det ska bli härnäst?

Jag känner mig ganska nöjd med det här första steget kring mikrotjänster och mjukvaruarkitektur och tycker att jag fått den hyfsade överblick och förståelse för ämnena jag önskade när jag började. Hm, dock har jag ytterligare ca 10-20 timmars föreläsningar på min önskelista, så det kanske inte är slut riktigt ännu. Jag tror på upprepning, både för att jag har teflonminne och för att det är nyttigt att ta del av olika personers syn på ett och samma område. Mångfald berikar.

Med tanke på vad som komma skall skulle det möjligen vara bra att bekanta sig med React, vilket i och för sig stått med på listan även tidigare men nu placerat sig en bit högre upp – eftersom det tycks användas rätt flitigt på nästa uppdrag.

Efterhandskommentar:
Och det här inlägget blev, som så många andra tidigare, inte heller färdigskrivet när det begav sig, så jag publicerar det nu, senare, på dess ursprungliga datum. (Det är roligt att läsa inlägget med perspektivet från två månader framåt i tiden.)

Några av er vet redan detta, och någon av er kanske också läste det i mitt förra blogginlägg, men för er andra: nu för tiden jobbar jag inte bara som utvecklare utan har också tagit rollen som scrum master i det utvecklingsteam jag tillhör. För enkelhetens skull kallar jag det för ”mitt” team, om än jag varken äger eller ansvarar för det mer än någon annan i teamet. En för alla, alla för en, ni vet. Men det är klart: jag är samtidigt också stolt över att det är just mitt team.

Mine! (om ni minns Finding Nemo?)

Så vad menas med scrum master? Ja, det är en av rollerna i ett Scrum-team, och lite om detta finns att läs i Den Officiella Scrum-guiden – här på svenska. Scrum är ett arbetssätt som ska underlätta leverans av sånt som ger värde.

Scrum (n): A framework within which people can address complex adaptive problems, while productively and creatively delivering products of the highest possible value.

Min roll som scrum master handlar i dagsläget mest om att stötta teamet och arbetssättet, som visserligen är inspirerat av Scrum, men kallas ”scrum-ish”. Exempelvis ser jag till att planering och återblickar genomförs (eftersom det både är ett krav från projektet och i arbetssättet, och något som hjälper teamet på olika sätt) och jobbar mer allmänt med att underlätta och förbättra teamets arbete, t.ex. genom att undanröja hinder och kratta banan för ett effektivt och fokuserat arbete. Men mina främsta uppgift är möjliggörande – teamet gör jobbet, jag assisterar. Jag gillar den här formuleringen jag hittade hos Citerus:

Det är viktigt att komma ihåg att bakom begreppet “scrum master” gömmer sig den tidlösa idén om den stöttade (sic!) ledaren. Någon som finns på plats för att ge andra makt, snarare än för att utöva den själv.

Även om det är mäktigt frestande att gå in på och diskutera inlägget som helhet, ska jag försöka hålla mig till ämnet i mitt kaninhål; men läs blogginlägget, om du är intresserad av agilt arbetssätt och scrum masterns roll – inlägget inspirerade och bekräftade insikten om att en inte borde bära dubbla hattar så som alla vi scrum masters i projektet gör. Det är inte optimalt att agera i två dimensioner samtidigt, eller om man så vill: med fokus på två tämligen ortogonala områden. Vi tvingas byta sammanhang ofta, och måste därmed också hitta strategier för att göra det så smärtfritt som möjligt, t.ex. genom att inte behöva göra det så ofta. Just växlingarna i mentalt fokus kräver en del av människan i rollerna.

Här påminns jag om den gamla godingen, som känns precis lika aktuell idag som den gjorde då: Joel Spolskys "Human Task Switches Considered Harmful. Jag äger så klart den legendariska Boken, men hittar den inte just nu – det kan vara en av böckerna jag lånade ut till en mer junior kollega för en tid sedan.

Sidospår, men läs gärna Joel on Software – själv fortsätter jag där jag var.

Vad jag tänkte säga om scrummästeriet är att jag i någon mån strävar efter att smälta in i bakgrunden. Om vi bortser från att jag personligen inte gillar att stå i centrum, är det mer frågan om att det är teamet som är maktfaktorn såväl som det centrala i vårt arbetssätt. Det är t.ex., eller borde i alla fall vara, teamet som pratar med teamet på de dagliga möten. Jag som scrum master finns till för att hjälpa teamet jobba optimalt, med både nytta och nöje som resultat. Flummigt? Kanske. Men i slutänden handlar det förstås om att vi ska genomföra projektets uppgift, och samtidigt bygga en arvsmassa som vi själva och andra (teamet har både konsulter och anställda) kan jobba vidare med när projektet inte längre finns. Och stötta verksamheten genom att hålla systemet igång, användbart.

Heh. Medan jag skrev detta blev jag påmind om att jag hade en kvarstående uppgift sedan kursen i slutet av januari – jag skulle ju skriva provet för att bli certifierad scrummästare, eller mer internationellt: Certified ScrumMaster®.

Så det gjorde jag och här ser ni, som bevis, delar av resultatet (=certifikatet):

Certifikat: Certified ScrumMaster

Jag kan alltså numera titulera mig Certified ScrumMaster®, eller CSM.

Innan jag skrev själva provet läste jag noga igenom Den Officiella Scrum-guiden och kikade parallellt i onlinedokumentet på originalspråket, The Scrum Guide™ (eftersom jag inte litar på översättningen, som rent språkligt kunde vara bättre). Jag lade då märke till att några stycken saknas i den svenska versionen och spekulerade i varför. Rent förbiseende? Troligen, men vore det inte roligare om den som översatt hade ignorerat de passager vederbörande inte höll med om?

Nog om detta… Här är några citat från guiden:

Scrum Master

Scrum Mastern ansvarar för att säkerställa att Scrum förstås och efterlevs. Scrum Mastern gör detta genom att se till att scrumteamet håller sig till scrumteori, tillämpning och regler.

Scrum Mastern är en tjänande ledare för scrumteamet. Scrum Mastern hjälper dem utanför scrumteamet att förstå vilka av deras interaktioner med scrumteamet som är till nytta och vilka som inte är det. Scrum Mastern hjälper alla att förändra dessa interaktioner för att maximera det värde som skapas av scrumteamet.

Intressant här är att jag tydligen ska fortsätta bry mig om saker utanför teamet. Sådant som försvårar eller kan underlätta vårt arbete. Trevligt att det är så pass tydligt uttalat. Dock ska man inte glömma att vi inte jobbar enligt Scrum, utan ”scrum-ish”. Eller "scrummish" som låter lite roligare och säkert kan tolkas fel. Eller varför inte ”Scrum-isch”, med tanke på missnöjet med bristande flexibilitet.

Vad Scrum Mastern gör för utvecklingsteamet

Scrum Mastern hjälper utvecklingsteamet på flera sätt, t ex genom att:

  • Coacha utvecklingsteamet i självorganisering och tvärfunktionalitet;

  • Hjälpa utvecklingsteamet i att skapa produkter med högt värde;

  • Undanröja hinder för utvecklingsteamets framsteg;

  • Vägleda vid scrumaktiviteter om så ombeds eller behövs; samt

  • Coacha utvecklingsteamet i organisationer där Scrum ännu inte har införts eller förståtts fullt ut.

Här känns det mer som att jag har en tämligen lång väg att gå för att leva upp till beskrivningen, men tröstar mig med att vi ju inte jobbar Scrum och att jag p.g.a. dubbla roller i teamet faktiskt inte har utrymme att ta mig an samtliga punkter. Lustigt nog kan nog detta vara min väg mot coachningen vi brukade prata om; jag och forntida chef trodde alltid att jag skulle hamna i någon coachande roll.

Med allt detta sagt är jag ändå ganska nöjd med min roll som scrum master på deltid, och jag tänker fortsätta pimpa Moomin-tavlan så att omgivningen även framledes kan stanna till och inspektera alla små lustigheter jag hittar på för att göra den roligare att jobba med. Och att läsa. Nästa sak jag ska fixa är någon form av avgränsare för de olika ytorna – jag tänkte prova med presentsnören. Kuliga magneter ligger och väntar i ett aviserat paket, som jag hämtar ikväll.

Det här känns som en bra dag, måste jag säga. Jag har haft kompledigt p.g.a. alldeles för många arbetstimmar tidigare i veckan, och tittade på en intressant video, vilket var det som fick mig till datorn då jag ville blogga om videon och inspirationen den gav mig, men jag halkade i vanlig ordning in på ett sidospår och kom att skriva om det här scrummästeriet i stället. Tänk så det kan bli!

Djupa andetag

Jag har saknat att formulera mig i ord, känner jag. Denna vecka, på jobbet, har jag vid några tillfällen behövt kommunicera viktigheter i skrift och det är något jag tycker att jag är rätt bra på. Att tänka på hur information ska förmedlas för att bli maximalt effektiv, med minimala möjligheter till missförstånd. Sådant tycker jag är roligt, och jag uppskattar den känsla av makt det ger mig. Språklig makt.

Det där gör jag visst även i levande livet, har jag insett. När någon uttrycker sig på ett sätt som lämnar fältet öppet för olika tolkningar är jag oftast snabb att be om ett förtydligande. Jag är faktiskt inte helt klar över om det beror på att jag är dålig på att extrapolera eller snarare väldigt bra på att identifiera luddigheter. Det var särskilt ett tillfälle under veckan där jag inte själv reflekterade över att jag gjorde det, där andra noterade och log i mjugg. Vi skrattade åt det efteråt.

Fascinerande, det där att egenskaper så ofta kan bedömas som både bra och dåliga, beroende på hur en väljer att se, tolka och använda sig av dem…

En uppgift jag haft på mitt bord på jobbet har jag tyvärr bara hunnit ägna mig åt mindre än en dag under två veckor, så jag har nu gett upp och donerat den till en kollega med förutsättningar att jobba mer fokuserat än vad jag kan. Ser ni, utöver att jag sedan två veckor sitter på nytt kontor, ingår i ett nytt team och fortsätter jobba med den för mig fortfarande nya applikationen, har jag också accepterat rollen som scrum master i det nya teamet. Utöver att jag inte är helt klar över vad jag, teamet och projektet förväntar sig av mig i rollen, innebär det också att fler än vanligt kommer till mig för att ställa frågor. Arbetsro? Inget jag kan räkna med, tyvärr. Därav rubriken, för övrigt – jag behöver andas. Djupt.

Förra veckan var allmänt kaotisk eftersom projektet flyttade in på huvudkontoret där resten av verksamheten sitter, och det tog sin lilla tid för alla att packa upp och komma igång med det riktiga arbetet. För mig handlade det också om att justera arbetsmiljön så att jag slapp ha öppet bakom nacken mot inkommande trafik till vårt kontorslandskap. Min plats är nämligen med ryggen mot världen, precis i hörnet som folk måste runda för att komma in. Tack vare att jag kunde dra till mig kollegans överhylla och fick en stor krukväxt längst ut, känns platsen mindre utsatt och lite ombonad. Grönsaker hjälper. Den kan nog funka, till slut.

De första nätterna efter flytten var jag så stressad att jag vaknade alldeles för tidigt och inte kunde somna om, med mer eller mindre konstant ont i huvudet. Något som förvånar är att vilopulsen ändå höll sig på en (för mig) låg nivå.

Den här veckan har all min tid (som inte tillbringats på möten och vid fikabord) ägnats åt ett problem i produktionsmiljön. Det handlade om information som var bristfällig och därför inte nått sin destination utan i stället fastnat på felkö i vårt system. Anledningen till att situationen uppstod, antar jag, var att koden var skriven för en värld där, och en tid då, integrationerna mellan de olika systemen såg annorlunda ut än idag. Programkoden är sedermera ändrad och kommer från och med i fredags att skapa korrekt information, men vi måste ju ta hand om det som fastnat sedan tidigare. Problem: informationen är inte komplett.

Den första hypotesen gick ut på att programmatiskt komplettera med saknad information och lägga tillbaka det kompletterade meddelandet på utgående kö, alternativ direkt anropa transportsystemets mottagande tjänst. Tekniska hinder satte dock krokben för oss, men vi hittade en väg att överföra informationen via mer manuell hantering. Detta undersökande tog ett par dagar fulla av samtal till höger och vänster, och löste fortfarande inte problemet med att den information som fastnat behövde kompletteras innan den kunde lämnas till mottagaren.

För att kunna lämna över informationen till någon annan måste vi dock först själva få tag i den. Initialt hade vi en närmast perfekt metod som skulle ge oss precis det data som inte gått att skicka, men det visade sig framåt torsdag att metoden då inte längre var tekniskt tillämpbar – här finns att tänka på om varför, men just nu finns inte tid för den analysen. Vi måste få tag på informationen.

Så… andra sätt att få reda på vad som inte kunnat skickas över? Ytterligare några hypoteser vi provade visade sig också vara återvändsgränder. Ett tag trodde jag rentav att vi skulle tvingas ge upp – vilket vore riktigt jävla dåligt. Pådrivande projektledare och jag svor en stund tillsammans via Skype, innan jag drog ett par djupa andetag och funderade vidare på eventuella möjligheter.

Det mesta av informationen finns lagrad i vår databas, så det är lugnt, men den felande länken finns endast i ett elektroniskt arkiv någon annanstans. Inte helt lätt att få tag i på kort varsel, men tack vare att jag samtalade med en person (i stället för att bara göra en begäran) fick jag veta att det även korttidslagras i ett närliggande system. Och därifrån kan den exporteras och ges till mig. Hurra!

Eftersom vi ändå vet det mesta om informationen kunde jag ta ut en lista att ge mottagande system, som i sin tur kunde berätta vilka poster som saknas hos dem. Där fick jag alltså en specifik mängd att arbeta med och baserat på denna skillnadslista har jag hämtat data ur vår databas och kompletterat med datat från korttidslagringen. Det tog sina timmar av bash-scriptande att få ihop det och jag tackar gudarna för att jag har scriptande i min verktygslåda. Sedan kunde jag säkert ha skrivit bättre och snyggare kod, men fulkod funkar faktiskt också.

Nu var det fredag eftermiddag och jag behövde lusläsa programkod för att förstå vilket data som används för att ge de två återstående uppgifterna. Med lite tur finns datat i något av de system jag själv har tillgång till, men annars får jag be om assistans från närliggande systems personal. Självinsikten sade mig dock att jag vid den här tidpunkten var för trött och att det var bättre att fortsätta på måndag, när hjärnan är pigg och utvilad, så det gjorde jag. Åkte hem, alltså.

Och sålunda vet jag vad jag ska göra när jag kommer till kontoret på måndag. Det är alltid skönt, tycker jag, att inte behöva fundera utan kunna börja direkt.

Apropå fikabord, som jag nämnde tidigare. Eftersom det har varit så stressigt den här veckan har jag verkligen behövt ta pauser och andas, varför jag tagit mig tid att ragga upp fikakompisar och sitta och socialisera lite också. Utanför kontorslandskapet. Jag har inte varit ensam om att behöva det, märker jag.

Andas. Det är bra, på alla möjliga sätt. Hjärnan funkar bättre med mer syre. Jobbet funkar bättre, både när hjärnan funkar och när jag pratar med andra lite friare än bara om en konkret uppgift att lösa. Förutom att det frigör kreativitet bygger fikandet också relationer och skapar omväxling som bidrar med kraft.

Ja, det är jobbigt när det hettar till så här, och jag kommer på mig själv med att dra extra djupa, lugnande andetag lite nu och då, men jag lär mig också väldigt mycket. Om systemet jag jobbar med och om verksamheten i stort, om övriga inblandade system och andra människor. Och kanske lite om mig själv också.

Som (IBM CEO) Ginni (Rometty) säger: ”Growth and comfort do not co-exist”.

Det har en tid känts som om konceptet följt mig överallt jag gått, och nu undrar jag lite om det inte var hit jag var på väg. Ny arbetsgivare, nytt system, ny roll. Det är absolut inte hysteriskt obekvämt, men definitivt mer krävande än innan. Kanske precis vad jag behöver, jag hade nog kört fast lite i min egen vardag.

Alltså, det har stört mig lite att jag hela tiden har något som är utestående, och samtidigt känner jag någonstans också ett löfte i just det otrygga. Så länge det finns ofärdiga saker kan jag inte slappna av helt, men jag vet också att det ligger saker i röret så att jag inte riskerar att hamna i total stiltje och bli helt uttråkad.

Sedan 2015 har jag ju haft universitetskurser i mitt rör, eftersom det blev tråkigt på jobbet, men situationen har ju ändrats. Den här terminen pluggar jag inget alls, men läser i stället på om sådant jag behöver i tjänsten. Det känns lite som en pendelrörelse, så jag förmodar att pendeln svänger vidare framöver också.

Andas. Nu ska vi bara komma till att göra det av fysisk ansträngning också.

Odramatisk lämning

Det var verkligen inte så dramatiskt att avsluta sin tjänstgöring på Det Stora Multinationella Företaget. Ett bättre ord vore kanske rentav antiklimaktiskt. Jag är glad över att jag inte hade gjort det så stort i mitt sinne för då hade jag nog blivit besviken. Hallå, efter mer än 15 års trogen tjänst, är det här allt ståhej?

I onsdags bjöd chefen på lunch som avslutsmöte eftersom han inte kunde vara på plats i Stockholm på min sista arbetsdag och då klippte vi tillsammans det betalkort jag haft och använt för företagets räkning. Egentligen spelar det nog ingen roll för företaget eftersom jag ändå var personligt ansvarig för att betala räkningarna, men det var kul, rent symboliskt. Och så delegerade han uppgiften att samla in teknisk utrustning till min bästa kvarvarande kompis på firman, JK. Mycket bra val, måste jag säga – det finns ju ingen mer perfekt för uppdraget!

I torsdags, d.v.s. igår, var det så dags att besöka kontoret, för både första och sista gången (som anställd). Jag har ju inte haft något direkt ärende dit sedan firman flyttade under första kvartalet. Det närmaste jag varit är kursen i Victoria Tower i början av mars, där jag spanade ned på kontoret från 32:a våningen. Parentes: detta var strax efter att försöket med den självkörande bussen drog igång längs Kistagången (och jag ser att det sedan slutet av juni är avslutat).

Planen var, utöver att lämna tillbaka saker, att fika tillsammans med JK och en annan kvinnlig kollega som dessvärre fick förhinder, men vi blev i alla fall tre fikande tack vare kollegan jag spelar Wordfeud med. Det blev alltså ett mycket litet ”fuck off-fika”, men väldigt trevligt med bra folk från samma outsourcing. Grunnade lite på vilka fler som finns kvar och kommer bara på mannen som var min fadder när jag första gången (aktivt och på eget bevåg) bytte jobb, 1998, då jag började som utvecklare på heltid, och även någon sorts [intern] IT-konsult.

Termen ”fuck off-fika” är förresten, för den som studsade, en del av jargongen från förra uppdraget och låter mer aggressiv än kärleksfull, som den egentligen är. Se användandet som en homage till det härligt heterogena gänget på mitt föregående uppdrag, i den röd-röda zonen. Den röda koppen jag fick ärva av en herre som lämnade uppdraget (och senare även företaget) tog jag faktiskt med till kontoret bara för någon vecka sedan, för att ha som min primära kaffemugg. Fredrik och Fredrik, Adam, Niklas, Tobias, Dan, Peter, Henrik, Marcus, Amna, Felipe, Kristina, Bente, Erik… fler? Absolut inte glömda! Jag tror att iaf fyra av tretton icke-externa till och med är kvar på företaget, ännu efter en handfull år.

JK lämnade fikabordet först och vi andra satt kvar ännu en stund och pratade om jobb och lönenivåer och annat mer trivialt. När han måste gå gick jag också, men fick vända halvvägs ut från parkeringen när jag kom på att jag glömt lämna mitt passerkort i receptionen. Stannade upp lite på vägen bort och vände mig mot byggnaden för att ta ett foto, och det kändes tomt och konstigt. Underligt att ingen från kontot gav någon indikation på att de var medvetna om att jag slutar. Visste de ens om det innan jag mailade mina slutavstämda timmar och bifogade kontaktuppgifter om de vill fråga något efter att jag slutat? Jag lär inte få veta.

Jag är nu, på riktigt, mellan jobb. Arbetslös, eller snarare arbetsfri, veckan ut. :)

Ändrade jobbförhållanden

I fredags tog jag med mig jobbdatorn hem för att gå igenom och radera allt jag inte behöver under de få dagar jag ännu är anställd på Det Stora Multinationella Företaget. Nästa vecka ska den och allt annat återlämnas, då jag efter 15 år av lång och trogen tjänst går till en mindre och betydligt mer lokal arbetsgivare. Och eftersom förändring bäst konsumeras med måtta fortsätter jag tills vidare hos samma kund, med övrigt oförändrat: projekt, kollegor och arbetsuppgifter.

En del av det där som inte ändras i och med jobbytet har dock nyligen tidigare ändrats. Projektet och arbetsuppgifterna är desamma, men jag och två andra kollegor har valt att ta oss an en av projektets nya expansioner – ett närliggande system som ska integreras med/mot det vi ursprungligen arbetade med.

Det är roligt med nytt samtidigt som det är utmanande att sätta sig in i ett nytt och förhållandevis okänt system. I det här fallet också med flera olika tekniker och arkitekturer i en och samma applikation – det blir lätt så när man har haft ett system i drift länge och frekvent byter utvecklare. Det finns utrymme för rejäl uppfräschning och jag tror att vi kan bidra med erfarenheter och friska tankar. Spännande ska det bli att se vilka stordåd och små förbättringar vi kan utföra!

I övrigt finns inte så mycket roligt att nedteckna. Den plågsamma och extremt varma sommaren är i alla fall över nu och jag njuter av höstsvalkan som ger mig spänst i steget. Sure, konditionen är sämre än någonsin, men den blir ju heller inte bättre av att man hela tiden rör sig i snigelfart för att slippa svettas ihjäl.

Jag har alltid varit en höstmänniska – blir gladare och piggare när det blir klart och kallt ute. Löven blir så vackra när de ändrar färg, fast jag lär nog missa det mesta av omvandlingen i år också. Jag borde egentligen leva mitt ute i naturen.

Och här tar jag en paus i tanken och tänker jag på alla ursäkter jag har för att inte göra det jag tycker att jag borde göra för att jag någonstans ändå vill…

Just nu är det enkelt: jag orkar inte engagera mig i mer. Ny arbetsgivare räcker.

Jag sade idag till sambon att jag önskar mig en whiteboard på en vägg, där vi kan sätta upp lappar med saker att göra. Och givetvis ordna tavlan som något slags scrum board, med kolumner för ”Att göra”, ”Pågår”, ”Klart”. Och ”Väntar”. Kanske till och med en för sådant som ännu bara befinner sig på idéstadiet.

Tanken dök upp främst för att jag blev klar med städningen av jobbdatorn och förvånades av känslan av tomhet som plötsligt kom över mig. Vad gör jag nu, liksom? Där vore det bra att ha en PLN, en backlog att plocka ur. Kanske. Hur som helst: detta föranledde tanken på ett smörgåsbord av ”att göra”-saker.

De senaste åren har jag ju haft kurser att ägna mig åt varje ledig stund – jag har visserligen inte alltid gjort något med dem, men de har alltid hängt över mig som något som kunde och borde göras. I somras hade jag tänkt färdigställa den jag började på i januari, men lyckades aldrig komma igång och nu har jag nog gett upp tanken helt. Möjligen försöker jag mig på en omregistrering framöver, men i nuläget får det räcka med vardagens vedermödor. Arbete och aktiv avvaktan.

Språk och kommunikation

Jag har alltid haft lätt för språk. Om det var därför, eller för att, jag ständigt läste böcker i yngre dagar vet jag inte – det kan till och med ha varit båda delarna, d.v.s. att jag hade fallenhet för språk och dessutom utvecklade förmågan. Hur som helst står det klart att jag har en förkärlek för språk och kommunikation. Många gånger blir det mer hatkärlek; det existerar mycket dålig kommunikation. Och då menar jag verkligen både att det finns en stor mängd kommunikation som är dålig och att det finns kommunikation som lyckas exceptionellt dåligt.

Vad gäller kommunikation inser jag att det inte enbart gäller verbal sådan, men eftersom jag är kass på att teckna och fotografering tar en massa tid och tanke blir det främst ordmässigt jag ägnar mig åt kommunikation så där i vardagslag. Jag är som sagt dålig på att teckna, men det var kul att se hur jag, på kursen i förra veckan, med mycket enkla skisser lyckades förmedla budskapet bättre än övriga gruppmedlemmar med sina alltför detaljerade teckningar. Koncist, baby!

Ja, och så har vi den inte helt oväsentliga korporala kommunikationen, förstås. Den som inte alltid är så fullt medveten och utförs med hjälp av kroppsspråk. Jag har verkligen inget bra pokerfejs. Till stor del är detta dock avsiktligt, för att jag strävar efter att vara så tydlig som möjligt i kommunikationen och därför accentuerar talande såväl som lyssnande med miner och gester – för att slippa missförstånd, men också för att det sparar både min och andras tid och energi. Att tolka otydliga framställningar kostar energi som kunde användas bättre!

Och det är en av de tankar som dyker upp i huvudet när jag läser ett kapitel i en av böckerna som utgör kurslitteratur för den just nu aktuella kursen, Introduktion till Cloud Computing, fast med tydlig kommunikation i åtanke borde den snarare heta ”Introduction to Cloud Computing”, eftersom den ges helt på engelska.

Boken är strukturerad så att det blir lätt att ta till sig dess information eftersom den börjar från grunden och talar om när begreppen kommer att utvecklas mer längre fram, så att jag lugnt kan fortsätta läsa i den ordning det är skrivet i stället för att göra slalomsvängar på nätet för att hitta innehåll att fylla begreppen med.

Det som drar ned upplevelsen är mängden ord och omständliga formuleringar. Jag tänker att författarna skulle ha behövt hjälp av ett proffs på bokskrivande, som gett dem i uppgift att koncentrera språket och skärpa formuleringarna. Nu blir jag distraherad av överflödet, och alla flummiga begrepp som låter ungefär likadant. Det är hårt arbete att läsa och extrahera essensen av det [be]skrivna.

Det är allt tur att jag kan det här med språk!
Eller så är just det främst något som ligger mig i fatet…

Där någonstans närmar vi oss funderingen som födde denna text. Borde jag inte kunna utnyttja min förbaskade språkkänslighet till något konstruktivt (eller rentav lukrativt) i stället för att gå omkring och bara bli störd av språkliga konstigheter?

Ett exempel på konstruktivt användande jag ägnar mig åt är t ex på jobbet, där jag redan idag investerar en hel del tid och tanke i kommunikativa aspekter. Det är inte omöjligt att jag är ensam om att veta precis hur mycket det rör sig om. Särskilt viktigt är det i programkoden där resultatet kommer att läsas väldigt många fler gånger än det skrivs, och av flera personer med olika erfarenheter. Jag tänker att ju fler utvecklare vi är som arbetar i och med samma kodbas, desto viktigare är det att koden tydligt kommunicerar vad den har för uppgift. Ingen av oss i cirka dussinet kan förväntas ha järnkoll på alla krav och hela historiken, så jag ser det som min uppgift i egenskap av god utvecklare att skriva koden så att den förklarar och varligt leder mig och andra på rätt väg. Ibland tänker jag att det är sådant som tydligt skiljer nybörjare från erfarna, men dessvärre tror jag inte att erfarenheten behöver betyda särskilt mycket. Jag har träffat på för många garvade programmerare som skriver överkomplicerad kod.

Ett annat exempel, utanför mitt arbete, är sambons forskning och skrivande av artiklar. Där bistår jag periodvis med hjälp genom att läsa det skrivna, ställa frågor om det som verkar oklart och föreslå förbättringar i språkligt hänseende. Personligen tycker jag att det fungerar bra, och där kommer då också tanken om hur det skulle vara att göra något liknande i ett yrkesmässigt sammanhang. Eller på annat sätt, på riktigt, använda intresset för språk och kommunikation.

Idag har jag inget svar, men skickar väl ut detta i universum så får vi se senare.

Etikettmoln