Man lever så länge man lär

Arkiv för kategorin ‘arbete’

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.)

Min roll som Certified ScrumMaster®

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.

Mer omsorgsfull än snabb

Efter viss vånda och en hel del prokrastinering plus en vecka eller två med virus och efterföljande sviter därav har jag i helgen gjort ett par online-tester, eftersom det finns folk som vill veta mer om vad jag är för slags djur. Jag själv också.

Det första testet jag gjorde handlade om personlighet och det visar sig att jag som vanligt blir frustrerad över otydliga frågor (herregud, om man anger något relativt måste man väl ändå tala om relativt VAD man menar!) och att jag på de flesta områden får ett resultat som ligger nära någon av ytterkanterna.

Intressant dock att resultatet hamnade exakt mitt i på ett av områdena, Abstrakt orientering, som anses beskriva personers intresse för utveckling och nya idéer.

Detta resultat beskriver personer som ofta lägger fram genomtänkta förslag till förändring, baserat på praktisk användning. De uppfattas som personer med ett bra grepp om nya idéer och hur teori omsätts i praktik. Trivs med balans mellan specifika riktlinjer och utrymme för förändring och förnyelse.

I min värld är det väldigt bra och jag tycker också att det stämmer in på mig.

I övrigt är jag ansvarsfull med känsla för kvalitet och detaljer, jobbar långsiktigt. Jag är ingen impulsiv cowboy, eller för den delen någon större visionär, och har inget stort behov av att bestämma och få min vilja igenom – samarbetar hellre än vinner. Har oftast inget problem med att ta ett steg tillbaka om andra har ett större behov av att få rätt. Mer resultatinriktad än egohävdande, kan man säga. Det finns dock enstaka människor som kan trigga ett helt annat beteende…

Annars känns det allmänt som om resultatet kanske framställer mig som mindre dynamisk och initiativtagande än vad jag är. Det är ju kul med rörelse och roligt att testa nya saker och se vad som händer… Men som alltid är det relativt och varierar med sammanhanget – och även dagsformen. Det beror på, helt enkelt. Summa summarum tror jag att jag funkar bra i de flesta rimliga sammanhang.

Det andra testet handlade om generell problemlösning.

Resultatet (d.v.s. antalet korrekta svar) hamnade över genomsnittet, men jag är inte snabb – höll mig kring rätt genomsnittlig hastighet. Jag tar tid på mig för att hitta rätt svar och presterar heller inte allra bäst under tidspress. Missade ett par frågor på slutet p g a felklick och brist på tid. Jobbigast var figurerna, där man skulle upptäcka ett mönster och välja vilken bild som passade i den sista rutan. Somliga tedde sig helt slumpmässiga, jag hittade inget mönster alls och kände mig korkad. Rangordning av förmågorna blev verbalt, numeriskt och spatialt. Det överlägset bästa resultatet fick jag på det verbala vilket inte förvånar någon (gällde även på t ex högskoleprovet), men resultatet var över genomsnittet på övriga med. Så vad gäller problemlösning är jag nog rätt okej, på det hela taget.

Tänk, här går jag omkring och duger. Bra det!

Mattegrund lagd, ny termin påbörjad

Precis som efter förra tentan har jag varit väldigt trött sedan den i måndags. Ämnet denna gång var algebra och jag övernattade även nu på bra och lämpligt beläget hotell, dock utan sällskap. Det var riktigt skönt att sitta och äta ensam på mysig pub med mindre än en handfull gäster (inkl. mig själv), med ett glas riktigt gott lokalbryggt därtill: jag rekommenderades Cinder, en IPA från Tempel Brygghus, och blev inte besviken. Kanske läge att beställa hit några flaskor?

Laddar med Toast Skagen (på tallriken) och lokal Cinder (i glaset) inför morgondagens tenta. Same procedure as last time, men solokvist denna gång.

Själva tentan då.

Jag satt förhållandevis blickstilla i dryga fyra timmar (även om jag denna gång faktiskt kom ihåg att räta på mig och vrida på huvudet ibland för att förebygga det där otäcka bruset som uppstår i huvudet när jag efter intensivt fokus ställer mig upp så att blodet åter kan flöda fritt och som alltid får mig att tro att jag ska svimma) innan jag kände mig klar, sammanställde och lämnade in resultatet.

Känslan vid inlämmningen var betydligt behagligare än den stilla nästan-panik jag initialt upplevde, då ingen av uppgifterna verkade enkel och jag hade glömt allt om hur en sanningstabell ser ut, hur man löser en diofantisk ekvation eller identifierar nollställen för ett givet polynom-uttryck. För att inte tala om det här med induktionsbevis… dessa var inte lätta ens medan jag mindes metoden.

Lustigt, det där, hur något som först ter sig i princip omöjligt kan bli förståeligt, begripligt och överkomligt – utan att några som helst konkreta åtgärder vidtas. Jag antar att det beror på att stressen lägger sig så att hjärnan kan fungera. Och jösses, vilken skön känsla det är när man inte genast gett upp utan dragit många djupa andetag, behållit fattningen och så till slut blir rikligen belönad.

Jag gjorde en liten mental inventering av uppgifterna efteråt och konstaterade att jag med mycket stor sannolikhet skulle få godkänt, men att jag antagligen inte skulle nå det högsta betyget. Och det dröjde inte mer än 3 dagar innan jag fick det bekräftat och kunde därmed konstatera att jag uppnått denna termins mål om behörighet till de datavetenskapliga kurser jag siktade in mig på någon gång i våras, när jag insåg att jag behövde en plan för mina studier. Det vill säga: kurser som ingår i universitetets datavetenskapliga kandidatprogram.

Check! Riktigt nöjd med det här är jag.

Av de fem kurser som ingår i det här mattepaketet är alltså de två viktigaste avklarade, och för tillfället har jag inga planer på att läsa de resterande, men majoriteten borde gå att tenta av närhelst jag haft tid och motivation att tillägna mig kunskaperna så inget är hugget i sten. Någon av kurserna verkar kräva deltagande i grupparbeten så där skulle det väl behövas ett särskilt upplägg.

Just nu känns det som en bra idé att hoppa av den Cloud-kurs jag sökt och tackat ja till. Det är kanske bättre att ta en andningspaus (och få möjlighet att göra andra saker) fram tills i slutet av mars, då nästa ”viktiga” kurs drar igång? Vilket skulle ge mig möjlighet att göra sådant som legat på väntelistan länge, sådant jag verkligen vill göra, t ex läsa tredje utgåvan av Effective Java.

Och bara för det var jag ju tvungen att kika närmare på kursen och när jag läste litteraturlistan blev jag extremt sugen på att åtminstone läsa böckerna – 1 primär kursbok, och så 8 till som referenslitteratur. Samtliga, ser jag, finns att läsa via Safari Online som jag har tillgång till via flera olika kanaler, bl a arbetsgivaren och ACM (som jag gick med i för en tid sedan, vilket jag nog glömt skriva här).

När jag nu blev så fortsatt sugen på att läsa Cloud-kursen (på 25%) och även noterade att det går bra att läsa vidare under sommaren ifall jag inte hunnit klart när nästa kurs drar igång, fanns inget behov att avstå. Så jag är nu registrerad på kursen, som officiellt började igår. Kursmaterialet fanns tillgängligt i helgen, men jag valde i stället att köra tidigare påtänkta självstudier inom Big Data.

Kurserna jag körde igenom var Big Data 101 och Hadoop 101, som båda ingår i paketet ”Big Data Fundamentals”. Det var lagom roligt och också nyttigt – det är ju aldrig fel att skaffa lite koll på vad sådana där buzzwords egentligen handlar om. Är du som jag vetgirig? Kolla in Cognitive Class! Där finns en bunt kurser relaterade till ”cognitive computing”, och samtliga verkar vara fritt tillgängliga.

Nästa självstudiekurs jag kör blir nog Spark Fundamentals I, för när jag är klar med den blir jag belönad med ytterligare två medaljer (eller badges, som de kallar det). Det skadar säkert inte heller. Därefter sneglar jag på Scala 101… Konstaterar än en gång att det finns mer jag vill göra än vad jag hinner med.

Vilket leder tankarna till jobbet… där så lite hinns med trots långa dagar.

I förmiddags gick jag raskt från en till åtta punkter på min ”att göra först”-lista. Jag tror att jag kunde pricka av ungefär hälften av dem (kodning, felsökning, buggrättning) under dagen och påbörjade en kodgranskning innan hemgång. Däremellan ägnade jag mig åt merge i små kontrollerade steg från release- till utvecklingsgrenen. Git hanterar sånt bra. Och i vanlig ordning blev jag frustrerad över kollega som inte mergat sina ändringar, vilket resulterade i att jag blev låst och inte kunde färdigställa mitt jobb. Jag måste vänta in kollegans merge och det stör, för då kan jag inte släppa och gå vidare utan måste hålla det i minnet.

Två möten om en timme vardera var jag också med på, varav ett jag som själv organiserat. I ”mitt” möte tittade dollar-gänget, d.v.s. den halva av Scrum-teamet som jag tillhör, närmare på de aktiviteter vi tagit in i den igår påbörjade sprinten. Syftet är att skaffa en gemensam förståelse för vad som ska göras samt, genom att även bjuda in lämplig(a) kravare, skaffa fram svar på eventuella frågor vi har. Gruppen består av utvecklare och testare. Normalt är vi fem personer men idag, pga sjukdom resp. utbildning, var vi bara tre. Det gör ändå rätt mycket nytta.

Nej, nu måste jag få iväg det här inlägget innan det börjar mögla… och sova!

Att kunna är icke att få eller göra

Om det verkar för bra för att vara sant så är det förmodligen det också.

Det må vara att vi numera använder WLS 12 och JDK 8 i projektets miljöer, men det är ändå inte fritt fram att använda det nya som nu erbjuds. Vi ska ännu en tid skriva koden enligt Java 6 – förstå hur gammalt det är! Förhoppningsvis släpper man dock handbromsen någon gång framåt, eller strax efter, jul.

Jobbmässigt gäller annars påfallande ofta principen om ett steg fram och två tillbaka. Så snart det mot alla odds anas en strimma ljus vid horisonten, och man hunnit börja hoppas igen, får man ånyo en slemmig torsk rätt i nyllet.

Jag funderar en del över vad jag ska ta mig för framöver och känner på några trådar, men inget är bestämt och jag vet inte ens själv vad det är jag vill. Men det går säkert att ta reda på – som alltid är det viktigaste att ta ett nästa steg.

Och under tiden är det bara att bita ihop och köra på och göra det bästa av det som är. I morgon ska jag jobba hemifrån i förhoppning om att kunna fokusera ordentligt och få min aktuella uppgift effektivt utförd – jag behöver göra mig av med den och det finns inget bättre sätt att uppnå det än att göra jobbet. Vissa saker är jobbigare än andra, men om man inte börjar blir man heller inte klar.

Problemet med just den här uppgiften är dels att den är ganska omfattande och kräver en hel del koncentration, vilket är varför det känns så jobbigt att börja. Och så det faktum att det är i samma härad som jag varit i förut (och blev trött av då också) så det är lite känslan av ”been there, done that”. Fast egentligen har jag bara varit någonstans i närheten, så det här gör det jobbigt också för att jag behöver sätta mig in i ännu en tämligen okänd och komplex funktionalitet. Idag lusläste jag specifikationer och identifierade diskrepanser dem emellan, vilket resulterade i en lista om nästan 25 punkter skickad till upphovsmännen. I morgon påbörjar jag implementation och hoppas på respons innan den är klar.

Jobbigt blir det, som sagt, men jag vet ju att när jag väl är igång handlar det nästan bara om att vara systematisk och tålmodig. Och noggrann. Jobbar jag testdrivet slipper jag dessutom hålla alla detaljer i huvudet utan kan förlita mig på mina tester – allt jag då behöver tänka på samtidigt är den mindre mängd funktionalitet som bor i just den del eller det lager jag för tillfället jobbar med. Precis så som jag läst om i artiklar om hur en liten hjärna kan hantera stora modeller. Utifrån en viss abstraktionsnivå zooma in och zooma ut efter behov. Visualisering och rationalisering. Fokus på det centrala, ignorera det som stör.

Jag kan tänka länge på hur jag ska göra, för det innebär att jag slipper börja.

Socialstyrelsen rekommenderar: Java SE 6 → 8

Äntligen!

Från och med nästa vecka kommer jag att i tjänsten att kunna utveckla i/med/för en nyare version av Java, tack vare uppgradering av applikationsservern till en version med stöd för Java SE 8 (och Java EE 7). Det vill säga, vi kommer att göra en tidsresa från 2006 till 2014 om man tittar enbart på Java SE-versionen. Sedan i september finns ju även Java SE 9 att tillgå, men WLS-stödet saknas.

Så vad innebär det här för oss? Ja, WebLogic Server går från 11gR1 (10.3) till 12cR2 (12.2), vilket i sin tur medför att Java SE 6 → 8 och Java EE 5 → 7.

I min värld innebär själva WLS-uppgraderingen ingen större påverkan för mig – eller rättare sagt: jag vet inte vad den innebär. Uppgraderingen av Java SE, däremot, gör det lättare för oss att skriva bra kod. Programmera funktionellt!

Förändringarna i själva programmeringsspråket för både Java SE 7 och 8 listas på What’s New in JDK 8, men de jag främst ser fram emot är följande:

Java SE 7

  • Binary Literals
  • Strings in switch Statements
  • The try-with-resources Statement
  • Catching Multiple Exception Types
  • Underscores in Numeric Literals
  • Type Inference for Generic Instance Creation

Java SE 8

  • Lambda Expressions
  • Method references
  • Default methods
  • Collections: Stream API

Vad Java EE från 5 till 7 innebär är jag lite osäker på, men Wikipedia anger: ”Java EE 7 added Java API for WebSocket, Java API for JSON Processing”.

Jag ser verkligen fram emot att börja använda det nya som nu blir tillgängligt. Delvis för att jag tror att innebär att vi kan skriva säkrare och mer lättläst kod, och delvis för att det är roligt med nya möjligheter. Det kan nog bli lite som att lära sig programmera på nytt, om man vill. Jag ska definitivt försöka tänka mer funktionellt. Jag tror att det är väldigt nyttigt för oss gamla, lätt skabbiga rävar.

Givetvis har jag [sedan länge] förberett mig genom att läsa Functional Programming in Java och tittat på videos som Refactoring to Java 8 by Trisha Gee (Devoxx 2016) och en bunt andra från Devoxx, JavaOne och liknande.

Let there be Monday!

Post-kurs-blues

Tomhet, ditt namn är post-kurs-blues.

Eller… jag vet inte vad jag känner egentligen, mer än en helt fantastisk trötthet. Det tar väl ett tag att förstå vad som hänt, tänker jag mig. Just nu känner jag mig mestadels förvirrad. Och, som sagt, trött. Veckan har varit intellektuellt tung.

Rent konkret vad som hänt är att jag idag skrivit tentamen för den första av de mattekurser jag sökte och tackade ja till: Baskurs i matematik, 5.0 hp.

Det hela gick av stapeln i Uppsala och eftersom jag var tvungen att infinna mig vid tentamenslokalen senast kl. 08:00 och jag inte vågar lita på att pendeltågen går som de ska (eller för den delen att jag själv ska orka dra mig ut och resa så långt före gryningen), fann jag det säkrast att göra resandet kvällen innan och därför kom det sig så att jag och sambon tillbringade natten på hotell i Uppsala.

Jag kom iväg från jobbet lite sent och därav blev avfärd mot Uppsala såväl som middag också senare än planerat, men jag kom ändå i säng i ganska hyfsad tid. Lampan släcktes strax före kl. 23. Sömnen blev ganska bra, trots främmande säng och brist på öppet fönster, men jag vaknade onödigt tidigt och noterade att jag inte var helt avslappnad – tankarna snurrade kring den kommande tentan. Nåja, alarmet var ändå satt på tidig tid för att jag skulle hinna hänga på låset i frukostmatsalen och sedan promenera en dryg kilometer och det är alltid skönt med marginaler så jag steg upp och inledde min [inte precis] Golgata-vandring.

Frukosten lämnade visst övrigt att önska (de varma kötträtterna var t ex alls icke varma), men jag hade ändå inte någon större aptit så det funkade. Dels var jag trött och dels var jag spänd inför tentan – ungefär som när jag ska resa. Jag blir tyst, inbunden och obenägen att ta in någon information från omgivningen. Eller vara social. Jag är fokuserad på att klara av den kommande pärsen och inte tappa kontrollen över situationen. Knappast något särskilt roligt sällskap.

Nåväl, jag packade ihop och traskade iväg. Det var kallt. Min upplevelse är att det alltid är kallare i Uppsala än i Stockholm, trots att Uppsala inte ligger särskilt mycket längre norrut. Det kan säkert bero på att mina morgnar är tidigare där.

Det dröjde dock inte länge innan jag gått mig varm och väl framme vid lokalen hann jag inte mer än lägga ut en bild på Instagram innan jag insåg att det var hög tid att stänga av och låsa in mobiltelefonen i ett förvaringsskåp (det måste man göra, tydligen) och så köa för att efter id-kontroll komma in i salen där vi skulle skriva provet. Jag fick syn, och hälsade, på snubben som är den enda av mina medstudenter jag över huvudtaget pratat med, och vi pratade bort några minuter innan alla andra kommit in i lokalen och själva tentaskrivandet tog vid.

Jag löste uppgifter så det stod härliga till. Totalt fokuserad, och förmodligen helt stillasittande och spänd. Det brusade högt i öronen när blodet började flöda igen då jag reste mig upp för att hämta fler pappersark. Jag blev nästan rädd att jag skulle svimma eller något i den stilen. En nackmassage skulle sitta rätt bra nu.

De första 8 uppgifterna var enpoängare, där man bara behövde redovisa svaret. Inga problem med någon av dem, kändes det som – fast när jag framåt slutet dubbelkollade mina svar var det mer än ett jag ändrade på… frågan är väl om det blev mer eller mindre rätt av det. Oh well. De 10 uppgifterna därefter var blandade och exponerade utmärkt väl hålen i mina matematiska kunskaper. Jag tycker verkligen inte om uppgifter som jag inte klarar av att lösa, har jag insett.

Nästa kurs – då ska jag banne mig se till att studera ordentligt! Här gjorde jag ganska mycket mindre än jag borde har gjort för att vara nöjd. Räknade ihop timmarna jag lagt ned och kom fram till cirka hälften av den nominella tiden.

När jag tagit mig igenom alla uppgifter var känslan att ”det här kommer inte att gå alls”, men när jag gick tillbaka till uppgifterna jag hoppat över visade det sig att jag visst visste hur några skulle lösas. Allt som allt kan jag inte avgöra hur det gick, men jag skulle i alla fall bli mycket förvånad om jag inte fick godkänt.

Färdigtentad för den här gången. Jag skulle bli förvånad om jag inte fick godkänt.

Efteråt traskade jag in till stan för att luncha med sambon och därefter åka hem till Stockholm igen. Tips till publiken: prova Bastard Burgers när ni får chansen, de är riktigt, riktigt bra! Finns för närvarande i Luleå, Umeå, Gävle och Uppsala.

Dagens lunchburgare: Los Angeles. Nästan overkligt god! #Bastard

På pendeltåget slumrade jag till och efter det har jag inte gjort många knop alls, men det är nog rätt okej att vara trött och bejaka det. Läskigt är det dock med den där förvirringen som uppstår när en kurs tagit slut. För vad ska jag göra med mitt liv nu, liksom? I praktiken är det nog inget problem eftersom nästa kurs, Algebra I, 5.0 hp drar igång redan nästa vecka – ingen rast, ingen ro! :D

Och på jobbet har jag passerat en viktig milstolpe – äntligen har jag fått jobba med Angular[2]-delarna på riktigt! Jag och en kvinnlig kollega har tillsammans utvecklat en helt ny funktion, med hjälp av instruktioner och assistans från mer erfarna kollegor. Det har varit så fantastiskt roligt att få komma till skott och lära sig helt nya saker. Och eftersom vi i teamet har tagit nya tag den här sprinten, och till och med har ambitioner i form av sprintmål, blev det också lite positiv stress i det hela. Personligen hade jag svårt att slita mig från kodandet och gå hem i tid, fast jag både tänkt och behövde plugga matte. Som tur är kan jag nu, med facit i hand, säga att jag inte hade gjort bättre ifrån mig på tentan om jag läst mer under veckan – jag hade inte tänkt läsa de saker jag o-lyckades lösa. Förmodligen kommer jag dock att göra det nu, för det stör mig att inte kunna.

Så: mattekursen klar och Angular-utveckling påbörjad. Check och check!

Så, vad annat kan tänkas ha hänt sedan april?

Under sommaren lärde jag mig att det är roligt att gå på föreläsning: jag var på mina tre första någonsin, då för mattekursen, under den sista semesterveckan. Jag upptäckte att jag gillar att gå på föreläsningar. Inte bara för själva grejen (att göra något man tidigare bara sett på tv/film!) utan för att jag tar in informationen bra så. Att läsa helt på egen hand som jag gjort efter den första kursveckan är mycket svårare, och kräver en helt annan disciplin. Det är lätt att prokrastinera.

Vi hade katterna här i hela tre veckor, medan deras ordinarie tjänstefolk var ute och reste. Det var som vanligt mysigt med pälsbärande sällskap. Det livar upp samtidigt som det också stundtals blir krävande. Somliga vill ha uppmärksamhet och mental stimulans medan andra oftast nöjer sig med tämligen kravlös närhet.

Wille, sötnosen och kelgrisen. #kattvakt Och när Lyra ligger hos mig, i min soffa, går det till och med att ta porträttfoton på henne! :) #kattvakt

Kattvaktandet blev möjligt tack vare att vi planerat in vår semester i augusti för att vi hade tänkt åka till USA och kolla in solförmörkelsen, vilket dock inte blev av utan vi tog en vecka på en grekisk ö, Thassos, i stället. Inte alls samma sak, men det blev en skön och kravlös vecka med samma gäng. Sådana behövs. När vi kom hem ville jag bara ge mig ut och resa igen direkt – det blir ofta så.

Solförmörkelse och semester - fast på olika håll. #eclipse #cocktail #ac #semestär Så här ser mina närmaste timmar ut, dvs det blir läsning vid poolen. Knappt 70 sidor in i boken vill jag bara läsa vidare - bra jobbat, @kristinahaard! :) Det känns rätt skönt att själv befinna sig långt från svenska troll och diverse otäckt småskräp! #Kl

Solförmörkelse via Internet och läsning av skönlitteratur vid pool. Avkoppling! Jaja, det hände mer än så, men jag har ingen lust att skriva mer nu. Full stop.

Annorlunda liv mellan kurserna

Jag är inne i en på sätt och vis ny period av mitt liv. Det liv som började andra halvåret 2014, då jag var uttråkad på jobbet och därför sökte universitetskurser, och som i princip rullat på sedan dess är nu (om än högst tillfälligt) över. Det känns tomt och konstigt att efter drygt två år plötsligt befinna sig mellan kurser i stället för mitt i – och att faktiskt inte ha något egentligt måste att ägna sig åt.

Jag har köpt en ny, och tystare, kaffemaskin till kontoret i alla fall. I lördags var nog första gången på länge som jag var ute på stan. Gin köpte jag också.

Nya kaffemaskinen på plats. Den är så liiiten! Och tyst. Puh! Och så är den snygg också... Gillar flaskan, den är både snygg och väldigt stapelbar. #RoslagsGin

Så vad jag ska göra med mitt liv, alltså? Frågan är mer än lite ångestfylld.

Just nu är det då i alla fall inget problem, för jag har fullt sjå med att få saker gjorda på jobbet och samtidigt undvika att jobba för mycket. Och ”för mycket” är främst frågan om att debitera för många timmar, men eftersom jag ju inte kan, vill och får jobba gratis innebär det samtidigt också att hålla arbetstiden nere. Tvärtom måste jag en tid framöver se till att jobba mindre än normalt. Komma sent och gå tidigt. Trots stor press på leverans. Ekvationen går inte riktigt ihop med mindre än att jag låter andra göra det jobb som måste göras. Svårt, det.

Jag har jobbat väldigt mycket under de här senaste månaderna medan övertid varit beordrat i projektet och då dessutom långt över angiven minimimängd. Ett tag kände jag mig rent manisk och varningsklockorna pinglade samtidigt som några av kollegorna började uttrycka oro. Omtankarna var dubbelriktade, och värmde. Flera av oss kom nog varandra bra mycket närmare tack vare detta. Brothers in arms, och vad det heter. Olycksbröder? Något sådant, och av någon anledning alltid manliga epitet. Vi är flera som sitter i båten och det har svetsat oss samman på ett väldigt påtagligt och trevligt sätt, så det är inte bara dåligt.

De flesta morgnar vaknade jag vid halv fem på morgonen, med kod i huvudet, och kunde inte somna om så det var lika bra att sätta sig och jobba direkt (om jag hade datorn hemma) eller åka till kontoret och göra samma sak. Jag lärde mig att första pendeltåget går härifrån 05:23 och att om jag åker med det så har inte frukostfiket öppnat och jag är på kontoret strax innan klockan slår sex. Vid den tiden är det ingen annan på plats och jag får äran att tända alla lamporna. Känslan är riktigt cool, men dagarna tenderar att blir väldigt långa totalt sett.

Sedan jag blev klar med kursen har det gått två veckor och arbetsveckorna har blivit kortare. Jag börjar så smått ana att det finns ett liv som inte har med jobbet eller kurserna att göra. Men jag vill inte riktigt återvända. Jag är fortfarande lite ”hög”, det är ju så ROLIGT! Samtidigt inser jag också att jag måste slappna av och vila och framförallt låta hjärnan återhämta sig – det behövs efter allt slit.

Undrar hur länge det dröjer innan jag lyckas ägna mig åt skönlitteratur igen? Så här långt har jag lyckats läsa ut två påbörjade böcker, om än båda är fack- och kurslitteratur. Jag har två sådana böcker kvar att avsluta, om jag inte minns fel, och sedan kanske det möjligen eventuellt kan bli frågan om annat. Men som det känns just nu blir det då förmodligen fler böcker inom datavetenskapsområdet.

Idag är det skärtorsdag och det blir alltså inget mer arbete förrän på tisdag – jag var smart och lämnade jobbdatorerna på kontoret när jag gick där vid tretiden. För denna fyradagarshelg finns inte många planer, men en av mina personliga önskningar är i alla fall att vistas utomhus. Jag hoppas sålunda att vädret blir rimligt lämpligt och också att jag kanske rentav får lust att motionera kameran.

Utöver detta vill jag städa en byrålåda. Putsa ett fönster. Dricka vin. Och öl!

Köpte några specialare från små partier-hörnan också. Och oj, vad jag vill köpa fler! Kees Caramel Fudge Stout hade jag t ex gärna också provat. Men man kan ju inte bära med sig hur mycket som helst... Annan gång.

Glad påsk!

Ljusstrimmor i en godtycklig tunnel

Jag kan redan ana hur oändligt vilsen, och tom, jag kommer att känna mig när allt det här hektiska som just nu driver mig framåt, och gör att jag inte riktigt kan sova hela nätter, börjar lugna ned och lägga sig till rätta igen. När drogen tar slut och jag ska försöka återgå till någon form av normalt liv. Jag vet inte ens om det går. Eller om jag vill. För känslan är ju helt fantastisk – samtidigt som det sliter.

Idag har jag i alla fall skrivit färdigt min pseudokod och gjort en implementation i Java för den sista delen av kursen, själva uppfartssträckan. Det handlade om att, med hjälp av FacePager, tanka hem en massa data avseende inlägg från en grupp eller användare på Facebook och sedan programmatiskt behandla detta data för att programmet sedan skulle kunna besvara ett antal konkreta frågor.

Hoppas bara att jag gjorde rätt med inlämningen, för instruktionerna var allt annat än glasklara. Förhoppningsvis blir jag tilldelad en studentgrupp och får tillgång till ett diskussionsforum där jag och övriga medlemmar ska ladda upp och opponera på varandras lösningar. Pseudokoden läggs upp i pdf-format och Netbeans-projektet med själva programkoden läggs upp som en zip-fil.

Edit: Se där, redan medan jag skrev detta fick jag mig en grupp tilldelad! :D

I vanlig ordning sparade jag på arbetet tills deadline hunnit komma farligt nära och det visade sig även nu vara mer att tänka på än jag riktigt budgeterat för, men jobbet blev ändå rimligt i omfattning. En sak jag reflekterade över var att det här med pseudokod är ett rätt flummigt begrepp och vad ville kursen ha?

Oftast tänker jag mig pseudokod som en mer mänsklig beskrivning av tänkt programmeringslogik, ganska implementationsnära men inte programkod. Pratar vi däremot beskrivning av algoritmer så ska den ju verkligen inte likna programkod, utan mer beskriva det hela på bönders vis. I klartext, mänskligt. Och helt frikopplat från implementationsdetaljer. Generiskt, språkagnostiskt.

Nu skrev jag till slut (efter mycken vånda!) det hela på en ganska hög och abstrakt nivå, men klämde in konkreta detaljer gällande val av datastrukturer eftersom jag förstod att det var något som förväntades och jag ansåg det högeligen relevant för bedömningen av min lösnings effektivitet. På ett sätt kände jag att jag fuskade, men å andra sidan handlade det ju om att lösa uppgiften på acceptabelt sätt och algoritmer går det inte ens att undvika.

Jag valde t.ex. att inte lagra datat som sådant utan bara analysera det i förbifarten, lite så som jag tänker mig att man gör i Big Data-tillämpningar. Ackumulera resultat, men spara på så lite som möjligt. Det funkar bra när frågorna är statiska, men ger inget utrymme för nya frågor mot gammalt data. Det blir sannerligen intressant att se vad mina medstudenter har att säga…

Jaja, om inte annat så har jag åtminstone lärt mig använda några av de features som kom med Java 7 respektive Java 8. Try-with-resources, några streams- och lambda-funktioner etc. Det kanske inte var riktigt det primära syftet med vare sig kursen eller uppgiften, men jag kunde/ville inte hejda mig. Det är så roligt att få möjlighet att skriva kod som utnyttjar features jag inte kan använda i min vardagliga gärning eftersom vi i uppdraget fortfarande är låsta till Java 6. Hoppet lever, för det är modernare plattformar på ingång, även om det dröjer.

Jobbmässigt fick jag igår, då jag satt hemma och jobbade, ett telefonsamtal från min chef i vilket hon informerade om att jag från och med 1 april kommer att tillhöra en ny och annan grupp. En som förmodligen kommer att passa betydligt bättre än den jag tillhör idag. Ny chef blir det också då, i form av den person som var projektledare över oss mot slutet av mitt förra uppdrag. Återstår att se vad det kommer att innnebära i praktiken, om något alls. Tråkigt känns det dock att byta bort min nuvarande chef, som jag trivts riktigt bra med under den korta tid vi haft tillsammans. Måste försöka se till att inte missa informationsmötet kring den nya organisationen, så jag förstår var det är jag hamnar egentligen. Ointressant låter det inte, för vi pratar framtidsområden och potential de luxe.

I uppdraget rullar det vidare under ganska stark press, även om jag personligen faktiskt lyckats tagga ned något och få saker gjorda så att jag känner att det går så sakteliga framåt. Jag är aningens tröttare än vad som är nödvändigt och har märkligt svårt att sova längre än till halv fem på morgnarna (helgdag såväl som vardag), men vaknar i alla fall inte med kod i huvudet längre och börjar till och med ana undersidan av projektledarens tak för arbetade timmar per vecka. Trevligt också att jag kunnat jobba med mer blandade människor på sistone.

Herr utvecklingsledaren återvänder till kontoret på måndag och då blir det kul, tycker jag, att se om våra diskussioner kring tänkbara förändringar kommer att leda till något konkret eller om allt bara av bekvämlighet återgår till att rulla i samma gamla hjulspår som förut. Spännande och intressanta tider, tänker jag. Det är knappt att jag kan bärga mig tills det blir måndag och jag får åka ut till kontoret igen för att ta tag i några av alla de saker jag vill och behöver göra.

Jag har datorn hemma sedan i fredags, men tänker motstå alla frestelser.

Ajuste, vi måste ju prata framtida studier också. Jag kollade förra sommarens antagningsstatistik för den kurs jag sökte till sommaren och om det blir likadant nu så kommer jag in på båda kvoterna. Dock är jag inte helt säker på att det är den kurs jag vill gå. Den känns mindre teknisk än jag skulle önska, så vi får se.

Sedan mailade jag också studievägledningen på Stockholms universitet för att höra mig för om möjligheter att jobba mot en kandidatexamen i datavetenskap. Att döma av svaret är det nog enstaka kurser jag ska inrikta mig på, och där vill jag sätta mig ned och ta reda på vilka som ingår i programmet. Dels behöver jag kolla om jag kan få tillgodoräkna mig några av dem baserat på kurser jag redan läst, och dels behöver jag fundera på vad jag kan/vill/ska söka för hösten. Och så aktualisera mitt fina PlantUML-diagram över kurs- och programalternativ.

Snart, snart, snart händer det saker – det känns i hela kroppen. Våren är här!

Inte bara årstiden

Det måste väl ändå vara just årstiden som gör att världen runt omkring mig tycks ha förändrats. Ljuset som väcker en ur sin dvala. Jag är rent intellektuellt tämligen säker på att det inte är den faktiska världen utan bara min uppfattning om den som förändrats, men känslomässigt är det självfallet en helt objektiv observation. Det är som om jag vaknat upp ur min ack så goda och bekväma Törnrosa-sömn och plötsligt ser saker omkring mig, både gott och mindre gott.

Det är inte utan att det oroar en aning, för vem vet vart det här kan ta vägen?

Jag hade planerat social interaktion i fredags eftermiddag, både av praktiska skäl och för att komma iväg från jobbet och tänka på annat, men jobbet tog överhanden och jag blev kvar tills sambon började messa mig om att lufta vinet. Där någonstans insåg jag att middagen skulle bli alltför sen om jag skulle vänta med att åka hem tills jag avslutat min arbetsuppgift. Som för övrigt inte alls verkar vilja bli avslutad, för det kommer bara nya saker att tugga sig igenom. Bitvis känner jag mig nästan gråtfärdig över detta veritabla sisyfosarbete. Jag har ju flera andra saker jag behöver göra också! Men jag vet att det blir klart och jag vet också att jag fixar det. Och det går ändå rätt bra för mig, på flera håll.

Anyhow, den där sociala interaktionen sköts på framtiden och jag åkte till slut hem till en sambo som hade stekpannan i högsta hugg. Pendeltågen stod stilla när jag väl kom till stationen så jag färdades med tunnelbana och buss i stället, vilket tar dubbelt så lång tid som vanligt. Efter intagande av den traditionella middagen med fredagsko följt av Häagen-Dazs jordbuggsglass… dammit! Jord-gubbs-glass, heter det. Efter middagen återupptog jag arbetet för ett par timmar. Man blir visserligen kreativ efter ett glas vin och ett glas whisky, men eftersom jag blivit aningens klokare med med åren lät jag koden ligga till sig över natten.

Och när vi nu ändå är inne på natten. Den där eländiga. Jag somnade fint onödigt sent och sedan vaknade jag igen vid fyratiden, med omfattningskoder snurrande i huvudet. Det var lögn i helvete att somna om, så jag drog igång jobbdatorn och fortsatte med den väntande analysen och programmeringen. Arbetet gick rätt bra, men uppgiften tog ändå ett antal timmar att göra, och sedan blev det en del mer allmän orientering (som jag nog till stor del ägnade mig åt för att jag var trött) och även ett par olika sorters administration. Och så tidrapporterade jag än en gång upp till det maxtak projektledaren gav mig när jag ställde frågan. Och ändå jobbar jag fler timmar än jag just nu skriver i mina tidrapporter. Det kommer att bli tufft att återgå till mer vanlig heltid sedan.

Ja, just det. Jag sökte kurs för sommarterminen, men tror inte att jag kommer in. Konkurrensen om de fåtaliga platserna brukar vara hård och jag har få poäng.

Tillförsiktighet

Jag hade nästan glömt det där ibland rätt enerverande ordslöjdandet som mitt ungdomliga datavetarex brukade ägna sig åt. Det är något med nu som liknar då och rubriken var ett ord som kittlade minnet. Sedan dess har dåtidens nyfödda hunnit bli myndiga, för så fantastiskt lång tid har det gått sedan dess. Och ja, jag sörjer de svunna åren. Vad gjorde jag? Och varför gjorde jag inte…

Det är mycket nu. Dock i princip bara jobb. Nästan bara. Bara nästan.

I projektet har det beordrats övertid i hopp om att vi ska bli klara med utveckling och, förhoppningsvis, testning av hela systemet innan vi når den där tidpunkten då vi måste produktionssätta eller gå under. Och givetvis är det sista inte riktigt sant utan mer för effekt, men vi har definitivt press på oss att komma i mål nu.

För egen del vikarierar jag dessutom för fysiskt frånvarande utvecklingsledare (som dock alltsom oftast finns tillgänglig online och jobbar med sidosaker). Jag är mycket tacksam för att hen håller koll på hur byggprocesserna mår, för det är ju en sådan där sak som jag brukar ta mig an och nu har jag inte ens tid att kolla om de är igång. Det blir i alla fall ett stressmoment mindre för mig. Och jag är också tacksam för scrum master, som tar sig an en del utvecklingsledarjobb som jag inte hinner med för att jag råkar vara precis den av oss utvecklare som implementerar den just för tillfället allra mest kritiska funktionen i applikationen.

(jag låter mig roas av mina långa ordlistor – det är inte snyggt, men lite knasigt)

Sade jag att vi har en praktikant också, som några av oss gemensamt försöker ta hand om? Ännu en sak att tänka på – att vaska fram lämpliga uppgifter. Vilket också för med sig en dos forcerad analys och rätt hastig design, för att kunna erbjuda möjlighet att arbeta självständigt så att inte även vi blir upplåsta där.

Min att göra-lista, som jag skriver på fysiskt papper med en liten kryssruta för varje post, har blivit för lång för att rymmas på en sida. Jag behöver skriva om den på en ny sida och möjligen hitta ett större anteckningsblock. Eller skaffa en sådan där fin bok att göra mig en Bullet Journal av. Det har jag velat länge nu.

Samtidigt som jag inte gillar att känna mig så här splittrad, gillar jag också när det händer saker. När det är lite fart och fläkt och stress och press och jag får känna mig viktig och behövd och här någonstans är det förstås farorna ligger, för ger det mig verkligen det jag önskar eller blir enda resultatet utmattning?

Åh Ikaros, Ikaros. Tänk på hur du flyger.

Uppgiften jag höll på med i slutet av dagen gick inte särskilt bra att utföra. Jag har varit lite trög i skallen hela dagen, men nu tog det verkligen stopp och jag tyckte inte ens att det var roligt längre. Hjärnan ville inte vara med och leka, så jag bestämde mig för att fortsätta i morgon. Om jag får en god natts sömn inatt borde det funka bra. För morgondagen har jag också andra roliga planer, utöver den uppenbara att inte jobba längre än nödvändigt. Eller vad som känns roligt.

När jag räknade ihop förra veckans arbetstimmar blev jag smått chockad. Riktigt så många trodde jag inte att de var även om jag visste att de var fler än nyttiga. Inte undra på att jag är trött! Dels alldeles för många timmar under själva veckan och sedan en hel arbetsdag utspridd över helgen. Men så var jag exemplariskt förberedd på måndagens möte också… Klapp på axeln för det åtminstone.

Annars är det människorna som är den största behållningen. Mötena. Och då pratar jag inte om de vanliga vardagliga utan att där har tillkommit ytterligare en dimension i flera av relationerna. I något fall är det lugnt glädjande, något annat hur coolt som helst och i ytterligare något mer förvånande och ganska oväntat. Oh well, sådant där går jag inte in på här – ska det resoneras om saken så är det antingen i form av inre dialog eller åtminstone utanför datorernas värld.

Onsdagens after work var den bästa på mycket länge. Det gör vi om!

Behåller jobbet med Jfokus i sikte

I år var första gången jag ansökte hos företaget om att få gå på Jfokus, vilket alltså innebär att de betalar avgiften och accepterar att jag deltar, med full lön och utan debitering av min tid till kund. Många sköna tusenlappar blir det nog.

Förra året, minns jag, var jag så övertygad om att jag skulle få nobben, att jag inte ens gjorde mig besväret att försöka. Ni vet hur det kan vara – det finns ett elektroniskt formulär att fylla i, som dock är utformat för externa utbildningar, d.v.s. kurser. Jag upplever de allra flesta formulär som svåra och jobbiga att fylla i och det här blir som att försöka knöla in en val i ett 20-litersakvarium. Det går inte att fylla i rätt, för jag saknar uppgifter till obligatoriska fält och det saknas fält för uppgifter som jag anser viktiga. Vilket gör att jag får fabulera och fantisera ihop något och … tja, det passar inte alls min person. Det blir mentalt jobbigt.

I år såg jag det mer som att det i alla fall var värt att prova, och att om jag skulle få nobben kanske det kunde få vara ett tydligt tecken på att det är dags att byta arbetsgivare. Allt jag gör är nämligen att dra in pengar – under mina dryga 13 år som anställd har jag varken gått på kurs eller konferens av eget val, och heller aldrig suttit på bänken (varit utan uppdrag). Sedan 2009 har jag dessutom suttit permanent ute hos kund och har inte ens en postlåda hos min arbetsgivare. De tillhandahåller dator och telefonabonnemang, samt vpn och applikationer för att registrera debiterbara resp. arbetade timmar. Ungefär så krävande är jag som anställd. De enda utgifter jag orsakat företaget på eget bevåg de senaste åren är 2 tentaresor och 2 inköp av kurslitteratur. Mina 50+ nya högskolepoäng inom datavetenskapen har jag annars skaffat helt och hållet på min fritid, under 2 års tid och vid sidan av det vanliga arbetet på heltid. Shit, vad jag måste vara bra!

Ja, i och för sig var vi några som gick på Gradle Groovy-seminarium för några år sedan, under en arbetsdag på promenadavstånd från kontoret, men jag tror faktiskt att det var kostnadsfritt vilket innebär att det företaget bidrog med var en dags utebliven debitering för var och en. Som ren kuriosa kan jag för övrigt berätta att den enda av oss som deltog och fortfarande jobbar kvar är… jag.

För dem av er som hört om varslet hos min arbetsgivare: jag är inte uppsagd och har heller inte fått något erbjudande om att sluta frivilligt mot ersättning. Jag ser det som att jag inte behöver fatta några omedelbara beslut kring min framtid och därför kan köra på som vanligt tills jag själv känner att det är dags. Gott så.

Och för att göra en lång historia något kortare: jag anmälde mig till Jfokus 2017 (med en tanke om att eventuellt betala själv om företaget satte sig på tvären), diskuterade saken med min chef (som ställde sig positiv), fyllde i formuläret efter bästa förmåga och skickade in ansökan. Därefter väntade jag några veckor och så plötsligt, en dag i slutet av november, var ansökan godkänd – jag kommer att vara med på Jfokus, i Stockholm den 7-8 februari 2017. Whee! See you there?

Semesterslut

Du kan välja att se det som att semestern slutar eller att arbetet börjar igen.

Själv önskar jag att jag kunde se den här övergången som enbart positiv, men så här i arla morgonstunden känns det bara… onödigt. Varför kan jag inte bara få fortsätta vara ledig och ha tid att ägna åt välmående, kultur och studier? Tid att sätta några av alla dessa planer i verket, att verkligen komma ikapp och till rätta med allt det där som ligger uppköat i min stackars hjärna. Tänk att få bli klar med saker, och känna att horisonten är öppen och att JAG HAR TID!

(nu är det bara den sista labben kvar innan jag är helt klar med kursen!)

Blygsam framgång, men 75% kursklar

Det går framåt, om än inte med några stormsteg precis. Av någon anledning går det nämligen åt mycket semestertid för att göra ingenting. Eller prokrastinera, om man så vill. Jag har sett en mängd tv-serieavsnitt och läst en pappersbok (antologin På denna grund) samt påbörjat en av dem jag fick med mig hem från förra årets Swecon, ConFuse 2015 – den känns oväntat lovande så här långt! Jag lär väl återkomma med någon reflektion när jag läst färdigt, tänker jag.

Sedan har jag också tränat nästan varje dag. Ingen avancerat, men ändå. Jag letade reda på ett sådant där sjuminutersprogram (med övningar för hela kroppen) som inte kräver någon direkt utrustning och därmed kan köras ungefär var som helst. Och när som helst. Vi kan ju säga som så att det krävs mycket lite ansträngning för att jag ska flåsa lungorna ur mig, och jag klarar inte av att göra alla övningarna fullt ut, men jag anpassar och försöker och gör så gott jag kan. Och det gör skillnad. Ryggen mår t.ex. i vissa avseenden mycket bättre. Återstår att se hur det går att passa in programmet i vardagen. Men senare…

Prokrastineringen till trots har jag i alla fall lyckats färdigställa och lämna in alla uppgifter rörande tredje delen av höstens kurs och sålunda återstår den sista fjärdedelen. Den borde jag absolut fixa på de två veckor som återstår av min semester. Eventuellt tar jag med datorn upp till norr och försöker bli klar där.

Förra veckan jobbade jag och det var inte roligt. Påminn mig gärna framöver om att inte offra mig och jobba för att någon måste göra det. Det var en mycket dålig idé att försöka vrida tillbaka hjärnan till jobb mitt i avslappnad semester.

Ja, det var väl det, det. Härmed återgår jag till tystnaden och börjar då med att kolla hur Windows 10-installationen på min gamla fönsterkärra fortskrider…

Semesterstart

Årets sommarsemester har börjat. Fast den blir i två omgångar – först tre och sedan två veckor, med jobbvecka mitt i. Tjänstgörande utvecklare saknades så mitt allra mest ansvarsfulla jag kastade sig på svärdet och erbjöd mig att arbeta. Jag tror inte att jobbet kommer att bli så betungande eftersom de flesta av våra användare liksom den absoluta majoriteten av mina kollegor lär semestra då.

Tänk, när de svettas på någon överbefolkad strand kan jag sitta ”ensam” på ett svalt kontor och arbeta ostört. Så mycket jag kommer att få gjort den veckan! Ja, jag citerar ordet ensam eftersom kollegan vid bordet bredvid också kommer att jobba då. Men jag antar att hen kommer att fokusera på sina egna uppgifter och lämna mig ifred. Och om inte… tja, då kanske vi bara får det trevligt i stället.

Semesterplaner då? Nja, inte många konkreta sådana i år heller – förutom att jag ska färdigställa höstens kurs och det i vanlig ordning blir en tripp norröver. Utöver det får vi se vad det blir. Jag orkar faktiskt inte tänka bortom kursen, för det är bara den och att hälsa på familjen som är prioriterat denna sommar. Allt utöver det är enligt min egen uppfattning att betrakta som ren och skär bonus.

Efter förra helgens kongress behövde jag naturligtvis skaffa fler böcker och det resulterade i en beställning från SF-bokhandeln (svenska böcker i döda träd-form) och utnyttjande av krediter hos Audible (engelskspråkiga ljudböcker).

De svenska böckerna är främst antologier, men också ett par romaner och en novellsamling. Skyddsrummet Luxgatan (novellsamling av Jerker Virdborg), Odinsbarn (Siri Pettersen) och 1007 (Johannes Pinter) – för vem kan motstå en beskrivning som den nedan (i kombo med tips från andra)? Inte jag i alla fall.

Du har just blivit biten och smittad av någon form av… virus. Du kan inte äta vanlig mat. Silver bränner mot din hud. Dagsljus är direkt dödligt.

Du bor i Gällivare. Ovanför polcirkeln. Samtidigt som du blev smittad så inträdde sommarsolståndet.

Nu är du fånge i din lilla lägenhet. Du kan inte jaga efter mat. Det frätande dagsljuset blir alltmer outhärdligt.

Det enda du behöver göra är att överleva en dag.

Problemet är att dagen är 1007 timmar lång…

De engelskspråkiga ljudböckerna är The Aeronaut’s Windlass (Jim Butcher), som läses av Euan Morton – en röst jag genast fastnade för – och ännu en antologi (delvis läst av samme Morton) med historier utvalda av Neil Gaiman och Al Sarrantonio. Antologin heter Stories: All-New Tales. Jag hoppas verkligen att det i sommar kommer att finnas tid och lust att läsa en bok eller två. Minst.

Refaktoriseringsjunkie

Dags att färdigställa det mer yrkesrelaterade av blogginläggen för dagen. Jag hade gärna gjort det tidigare, men hade trevliga, sociala aktiviteter inbokade. För en stund sedan kom jag hem och eftersom jag drack kaffe efter oplanerad söndagmiddag med vänner föreligger viss risk för att det blir svårt att somna.

Idag är det alltså Sveriges nationaldag och jag är först och främst ganska trött, behöver vila lite också. Om jag nu vet hur man gör. Sent igår kväll lämnade jag in den avslutande uppgiften för vårens högst prioriterade kurs (se studierapport i föregående inlägg) och håller så smått på att varva ned. Jag har kört rätt hårt på jobbet under våren vilket bl.a. bidragit till att studierna hamnat lite på undantag.

Om jobbet, ja. Jag kör som sagt hårt, inte ens alltid för att jag måste utan för att jag inte kan låta bli (hjälp, jag behöver avgiftning!), men innan någon ringer efter hjälp vill jag påpeka att parentesen var humoristisk. Läget är under kontroll och när det närmar sig för mycket ser jag till att få den återhämtning jag behöver.

Icke desto mindre är jag nog lite av en junkie när det gäller ordning och reda, data och programmering, och för det sistnämnda inte minst refaktorisering.

Det är få saker som är så tillfredsställande som att få städa upp i mossbelupen och mögelangripen gammal bortglömd och försummad kod så att den blir klar, tydlig, begriplig och lätt att uppdatera när ny eller ändrad funktionalitet ska in. Att t.ex. eliminera krångliga språkliga konstruktioner eller vända på villkor, i syfte att förenkla koden och därigenom öka förståelsen, liksom skala av lager efter lager av plack som samlats genom åren och vid mindre uppdateringar. Fantastiskt!

Jag blir ständigt överraskad och förundrad över hur effektivt det är just att vrida och vända och plocka isär och sedan återuppbygga programkod. Buggar gör sig plötsligt uppenbart påminda, död kod rullar ut över bordskanten eller bara blåser bort i en uppfriskande bris när jag jonglerar eller kastar upp alla delar i luften. Det som kommer ner igen är det som behövs, och det som får vara kvar. Typ.

Ett av mina favoritverktyg just nu är visualisering, eller mer specifikt: diagram. Normalt sett ritar jag diagram i huvudet för att hålla reda på och förstå flödet i koden och vad den gör, men vissa saker är för stora för att riktigt få plats eller så behöver jag kommunicera med andra och då kan det underlätta med diagram. I datorn, thank you very much – jag fixar inte att rita för hand på en whiteboard. Avundas lite grann dem som kan, om jag ska vara ärlig. Det är en bra förmåga som gör det enklare för olika människor att kommunicera och förstå varandra.

I min senaste refaktoriseringsuppgift ingick det att dokumentera flödet genom systemet via ett sekvensdiagram och det var ritandet av diagrammet (givetvis med tillhörande noggrann analys) som tog den allra största delen av tiden.

Jag gick grundligt till väga genom att först rita in vartenda litet metodanrop, både inom tjänsten och utåt mot andra tjänster, genom hela flödet och det var banne mig tur att jag jobbade hemifrån, för det resulterande diagrammet var gigantiskt! Min (dock är den inköpt av sambon, så rent tekniskt hans, men det är främst jag som använder den) 27-tumsskärm räckte inte långt, och på jobbet har jag bara två mindre skärmar på 21 eller 22 tum… det hade inte alls funkat särskilt bra.

Eftersom diagrammet blev så stort slog jag isär det och analyserade delarna av flödet var för sig och samtidigt lärde jag mig att man i PlantUML kan använda include-filer. Notera att jag ur ett utifrånperspektiv ritade diagram, medan jag i själva verket analyserade kodens funktion med hjälp av denna visualisering.

Analysen resulterade i en väldigt mycket bättre förståelse för vad som görs, samt ett ifrågasättande av en hel mängd olika anrop till angränsande tjänster.

Varför hämtas Objekt A i ett separat anrop när samma objekt faktiskt kommer in via hämtning av en bunt Objekt B, som alltid måste göras? Den koden försvann.

Och ja, detta är en designförändring som potentiellt kan ge ändrat beteende och därför har jag nogsamt tänkt igenom eventuella följder. Teoretiskt kan det bli fel, men jag kan inte se att det bör kunna bli det i praktiken. Famous last words…

Varför hämtas en bunt Objekt C för att eventuellt läggas in i bunten med Objekt B, när detta redan gjordes när Objekt B-bunten hämtades. Hela denna sista del av initialflödet visade sig alltså också vara överflödig. Även den koden försvann.

Ni ser vart vi är på väg, va? Flera delar av flödet är redan bortstädade och mitt diagram börjar bli hanterbart i storlek. Dags att titta närmare på den egentliga funktionaliteten i flödet, koden där det som ska göras också är det som görs.

Här flyttar jag omkring kodrader och ändrar villkor så att saker står för sig själva så mycket det går och bara det som verkligen hör ihop står tillsammans. Detta uppenbarar en struktur som gör flödet lättare att förstå, men det kan bli bättre.

Jag bryter ut den kod som förbereder och utför hämtningen av ett antal Objekt B till en egen, separat metod (som dessutom blir lätt att testa). Denna får heta just ”hämta Objekt B”. Det blir tydligt för läsaren att grunden är en bunt Objekt B.

På liknande sätt strukturerar jag om så att koden som gör det egentliga jobbet ligger i en klunga och kan brytas ut till en egen metod vid namn ”gör jobbet”. Detta tydliggör uppgiften (förutsatt att man bryter ut rätt saker!) och lämnar utrymme att fokusera på de förberedande åtgärder som måste vidtas innan.

Några kontroller som kan avbryta flödet flyttas upp för att undvika situationen att det vid ett avbrott utförts onödigt arbete. Det är en bra princip, det där att göra så lite så möjligt så sent som möjligt, och som en följd därav kanske inte behöva göra något alls. Prokrastinering som princip. Hm… det tål att tänkas på.

När jag tittade på sekvensdiagrammet undrade jag också varför det gjordes två anrop, direkt efter varandra, mot en viss tjänst. Kunde man inte lika gärna göra bara ett anrop och låta den anropade metoden utföra båda uppgifterna? Efter att ha undersökt hur de två metoderna i övrigt användes i systemet (svar: inte alls) slog jag ihop dem till en enda, givetvis med ett tydligt beskrivande namn.

Och där någonstans kunde jag inte hitta något mer att ta bort och ansåg mig därmed vara klar. Nu är koden luftigt lätt och ledig. Den doftar sommaräng!

Nästa fråga: var och när ska jag få min nästa fix? Jag längtar redan…

Studierapport hösten 2015

Ja, det har gått ovanligt länge sedan senaste inlägget. Främst beror det på min oförmåga att ta mig an studierna, lämna in uppgifterna i tid och få tid till annat. Min främsta sysselsättning under hösten (förutom onödigt mycket arbete) var prokrastinering, oftast i form av tv-serietittande. Pretty Little Liars, tror jag. Som jag upplever det var det helt enkelt sommarens ambitioner som tog knäcken på min studiekraft. Jag försökte läsa två halvtidskurser under sommarterminen, och kände mig därefter rejält sliten när det blev dags att ta sig an höstens kurser.

Under den långa ledigheten över jul och nyår, som för min del sträckte sig från 23 december till 10 januari, hade jag planerat att ta igen det jag under hösten skjutit framför mig. Det gick så där. Jag blev klar med JavaScript-kursen, med en hel veckas marginal, men det var också allt. Övriga kurser förblev ofärdiga.

Låt oss ta en liten genomgång av de kurser som på olika sätt är aktuella.

ST 2015: Förberedande kurs i matematik

Den här kursen kallas även Sommarmatte och jag blev faktiskt nästan klar med den, men så blev de sista två uppgifterna liggande och nu är kursen helt stängd. Jag tror att det finns chans att ta upp den igen vid en annan tidpunkt och det vill jag nog också göra. Matte är roligt, men den här kursen får vara tills vidare.

Att göra: inget just nu.

ST 2015: Programmeringsteknik

Den här kursen körde jag enligt plan större delen av sommaren, fick tag på en granskningspartner och sedan drog höstterminen igång – varken han eller jag ville prioritera denna kurs framför alla de nya kurserna. Det dröjde ända tills mitten av november innan vi båda lyckats hitta tid att utföra våra uppgifter, och efter det har jag varit alltför stressad för att ens kolla upp om/när/hur jag kan göra färdigt det sista – har alltså inte gjort ett skit mer på den kursen sedan i november. Nu i veckan har jag dock tagit tag i frågan och tack vare detta blivit omregistrerad på kursen för vårterminen, så det är bara för mig att köra på.

Att göra: justera (och lämna in) koden samt boka tid för redovisning öga mot öga (hu!). Det borde jag kunna fixa utan alltför mycket besvär, tycker jag.

HT 2015: Programmering med JavaScript, HTML och CSS

Denna kurs har jag som sagt lyckats avsluta, nästan helt enligt rekommenderad studieplan. Anledningen är förstås att det var den av kurserna jag prioriterade, för klarar jag inte det så får jag nog inte gå vidare med nästa kurs i paketet.

De två första uppgifterna blev klara och inlämnade i tid, men de två följande blev några dagar sena. Sedan gav jag mig den på att få ordning på disciplinen, vilket resulterade i en inlämning av den femte uppgiften kl. 04:20, några timmar sent. På den sjätte hade jag 4 minuters marginal och på den sista… flera dagar.

Att göra: njuta av mitt A (högsta möjliga betyg). Hurra, vad jag är bra!

HT 2015: Datavetenskaplig introduktionskurs

Här lyckades jag få ihop två inlämningsuppgifter (som gav positiva omdömen), men sedan kom jag liksom inte vidare – jag prioriterade ju JavaScript-kursen och orkade inte tillräckligt för att hinna fram till denna, som då alltså var andra prio på min lista. Dock har jag fått besked om att det bara är att fortsätta göra uppgifterna under vårterminen, så det här får bli min andra riktiga vårkurs.

Det finns också en möjlighet att begära omregistrering till nästa kurstillfälle, d.v.s. hösten, men då hamnar man sist i kön och det brukar visst inte bli några platser över, så det verkar rätt kört. Bara att köra på under våren, alltså. Jag vill/behöver ha den här kursen för behörighet till vidare studier inom området.

Att göra: tuffa på med kursen ungefär som om inget hade hänt.

HT 2015: Objektorienterad programmering i Java

Min ”no brainer”, som ska ge behörighet till mer utmanande kurser framöver. Här har jag inte lämnat in en enda uppgift, även om jag i alla fall skrivit ett helt program. Det fastnade på att jag inte kunde välja om jag skulle satsa på högt betyg (kräver en rapport om programmet) eller nöja mig med bara godkänt.

Min möjlighet att slutföra den kursen innebär att omregistrera mig och då får jag förmodligen nya uppgifter att utföra. Alternativen där är att göra det nu till våren eller vänta och omregistrera mig först till hösten. Det lutar åt hösten, för jag har ju visat rätt tydligt att jag inte orkar läsa tre kurser och samtidigt jobba full tid.

Att göra: avvakta tills vidare. Ta upp frågeställningen igen i höst.

Jag har tackat nej till alla kurser jag sökte och blev antagen till för vårterminen. Det jag ska läsa är tredje kursen i kurspaketet och utöver det vill jag bara bli klar med de kurser jag påbörjat. Summa summarum fokuserar jag på följande i vår:

En sak som roar mig lite är att JavaScript är något jag inte använt i tjänsten på ganska många år, men nu under hösten fick jag konkret användning för kursens kunskaper i mitt nuvarande kunduppdrag. Lite belöning för allt mitt slit, kanske.

Också roligt att Node.js (nästkommande lärdom) är så vanligt förekommande i den sortens cloud-tjänster jag fick bekanta mig med under torsdag och fredag.

Det känns som om mina studier faktiskt har en koppling till jobbet. Lyckträff?

To-fre: jag gick i sällskap av nästan 200 andra europeiska konsulter en av företaget arrangerad mingelutbildning i London. Eller rättare sagt: Stansted. Visste ni att det tar flera timmar att åka mellan Heathrow och Stansted?

Det blev långa, intensiva dagar med massor att göra på kort tid och inte ens fem minuter över någonstans. Jag blir vansinnigt trött och faktiskt i längden rätt tjurig av sådant. I need my precious downtime! Och sedan var folk så trevliga att jag fastnade i baren och drack Boddingtons i stället för att gå och lägga mig direkt efter middagen som jag hade planerat. Kom i säng först vid halv två och var igång igen klockan åtta. Kanske inte så konstigt att jag var seg i bollen.

Hem till hemmet i Stockholm kom jag inatt omkring halv ett och sov sedan i morse till halv elva – brukar annars alltid vakna vid sex eller sju. Det kommer nog att ta några dagar innan jag känner mig i fas igen. Sådant här borde jag egentligen inte utsätta mig för. I alla fall inte ofta. I’m too old for this shit.

Frustrerande uppstartsperiod

Jag har säkert bara förträngt hur det brukar vara att börja nytt uppdrag, men jag känner mig frustrerad och undrar hur lång tid det ska behöva ta att finna sig till rätta i den miljö jag ska jobba i. Och då menar jag inte så mycket den fysiska miljön som den programmeringstekniska. Jag är hyfsat obekant med mycket, som t.ex. applikationen och upplägget såväl som de tekniker som används.

Visst, jag har allmän kunskap när det gäller liknande tekniker, men saknar (för min bekvämlighet) alldeles för mycket detaljerad kunskap och erfarenhet av just dessa specifika. Och i utvecklingsteamet är det lite för ofta främst konsulter och nyanställda på plats, d.v.s. vi saknar någon som kan guida oss rätt i djungeln. Det blir lätt så att en blind leder andra blinda – inget vet riktigt vad som är rätt.

Man kan lugnt säga att det krävs en rejäl dos av tålamod från min sida – jag vill ju som vanligt kunna och behärska allt på en gång. Jag trivs verkligen inte med att vara någon som är osäker och behöver fråga om (känns det som) allt, jämt. Jag får bita ihop och dra några extra djupa andetag och sen bara köra vidare.

Och samtidigt vet jag ju ändå att det bara är i början det känns så här jobbigt. Det går över. Jag kommer att med tiden lära mig allt jag behöver kunna och hitta lämpliga sätt att förhålla mig till arbetet och mina med- och motarbetare.

Så här långt har jag bl.a. bekantat mig lite mer med SLF4J, JPA och Mockito.

Ansvarsförföljd

Det gick inte ens en vecka innan jag förstod vad som var på gång, hur det skulle bli. Rent formellt kom dock frågan först tidigt i den andra veckan, nämligen igår.

Kan du tänka dig att ta särskilt ansvar från och med nu och en tid framöver?

Och jo, visst kunde jag det. Det lustiga var att jag i praktiken redan gjort det, samma morgon, som om det var det naturligaste i världen. Jag steg fram och omgivningen agerade som om jag alltid stått där. Den känslan var… speciell.

Det är nog bara att konstatera att just de ränderna är svåra att tvätta ur. Humor.

Bara några veckor till

Programmet de närmaste veckorna ger mig en obehaglig känsla i magen över att ha en massa saker inskrivna i kalendern utöver det sedvanliga lönearbetet, som i och för sig kommer att vara i mitt nya uppdrag, på det nya kontoret och med de nya människorna, vilket sammantaget alltid innebär ett visst mått stress. Uppdragsbytet är dock inget som ligger särskilt högt på stresslistan just nu. Ja, förutom det där att jag inte kan jobba riktigt full tid här närmast pga åtaganden.

Mängden övrigt berättigar inte riktigt känslan, men det är svårt att sätta fingret på vad det är som nu ligger som en våt filt över mig och hindrar framsteg. Det jag vill är att förstå vilket hinder jag främst behöver undanröja för att lätta sinnet och ge mig fokus – som det är nu råder främst en sorts kaos i huvudet och jag kan inte tänka. Det blir lite sinnesro-bön över det hela: vad kan jag göra något åt i nuläget och vad får jag lägga på hyllan tills det går att utföra det? Jag behöver ordna tankarna för att kunna prioritera och göra det möjligt att komma vidare. Det är det som är anledningen till att jag sitter här och skriver – jag benar ut. Eller är det möjligen bara helt vanlig prokrastinering det handlar om? Hm.

Så låt se, om jag bara inventerar veckorna kanske jag förstår bättre…

Denna vecka har varit kort och känts lagom stressig – det har främst handlat om att försöka bli klar med så mycket som möjligt av den utveckling som främst jag själv jobbat med. Applikationen ska vara klar att använda fr.o.m. måndag. Jag tror faktiskt att vi kom precis så långt som det är möjligt i dagsläget, möjligen med ett litet undantag för den paketstruktur jag var ensam om att vilja justera. Nåväl, bara att försöka acceptera att det är Någon Annans Problem numera.

På måndag börjar jag mitt nya uppdrag på allvar, på riktigt, på full tid. Ja, med undantag för de enskilda dagar och tider då jag behöver vara borta från jobbet. Tentorna betraktar jag som måsten och jubileumslunchen är ett unikt tillfälle jag inte vill missa, nu när jag faktiskt fick ihop en anständig lista deltagare att bjuda in – återstår att se hur många av dem som kan och vill vara med, bara.

Så okej, första veckan blir jag borta på onsdagen pga tenta. Sedan är det tänkt att jag och äldsta vännen ska göra en dagsutflykt på lördagen. På söndagen får jag nog vara hemma och vila i alla fall. Eller nej, jobba med Python-projektet.

Andra veckan behöver jag troligen ägna en del av fredagen åt att slutgiltigt avsluta mitt gamla uppdrag. Lämna tillbaka de sista datorerna med tillbehör samt till uppdraget hörande plastkort. Och för allt det behöver jag vara säker på att de rätta tre personerna finns på plats den förmiddagen. Här finns det massor som kan skita sig, men på något sätt ska det väl ändå ordna sig med envishet.

Helgen den veckan blir antagligen den sista jag kan ägna åt Python-projektet innan det behöver lämnas in. Missar jag deadline blir det inte rättat förrän i höst, vilket i sig inte borde vara ett problem eftersom jag inte tror att jag behöver poängen ännu, men det skulle ändå kännas bäst att hålla sig till utsatt tidtabell.

Tredje veckan blir nog den jobbigaste, då jag jobbar mån-ons + fredag, tentar i Karlskrona på torsdagen och åker upp till Luleå fredag till söndag. Det blir först nästan 50 mil söderut, tillbaka hem och sedan dryga 90 mil norrut tur och retur.

Fjärde veckan… tja, jag har jubileumslunchen på onsdagen, men i övrigt verkar vara lugnt. En helt vanlig jobbvecka. Från och med då bör läget vara lugnt och stabilt igen fram till semestern. Får bara inte glömma att be om ledigt den sista måndagen, då vi bokat in en tredagarsutflykt med sambons syster plus familj.

Så… det är faktiskt bara tre veckor framåt jag behöver bita ihop. Puh!

Nu gäller bara att få grepp om Python-uppgiften. Den är svår främst för att den kräver att jag ska hitta på saker snarare än att lösa specificerade problem med hjälp av programmering. Jag ska göra ett textbaserat äventyrsspel, omfattande sju [olika] rum. Sju! Jag kanske har fantasi nog för att hitta på ett rum. Och i ett av de andra rummen kan användaren få spela mitt luffarschack. Men övriga fem rum? Där har jag i dagsläget ingen som helst aning om vad jag ska hitta på.

Än så länge har jag mest tassat omkring som katten kring het gröt, och försökt hitta en bra struktur för att hantera de allmänna spel- och rumskommandon som kan ges i samtliga rum. De olika rummen behöver fungera på ungefär samma sätt, tycker jag. Vara standardiserade. Och så måste jag ha ett sätt att lagra de olika rummens respektive objekt, som användaren ska kunna interagera med.

Jag har också tänkt på hur man skulle kunna hantera medförandet av saker mellan de olika rummen. Eller ett eventuellt sparande av spelets status. Att kunna bära omkring saker i en ryggsäck och att kunna spara spelets status ingår dock inte i grundkraven, så jag borde inte fundera på dem förrän senare.

Det här är ett problem där det faller sig naturligt att använda objektorientering, särskilt om man som jag arbetar objektorienterat till vardags, men eftersom objektorientering inte ingår i kursen vore det fel att använda det för att lösa uppgiften. Jag har läst bland redovisningarna att flera elever ändå gjort det.

I morgon ska jag banne mig implementera mitt luffarschacksrum! Jag tänker använda rummet som heter Dopey, d.v.s. Toker på engelska – eftersom det är sju rum och jag inte vill numrera dem har de fått namn efter Snövits sju dvärgar. Jag tror att det viktigaste med den här uppgiften är att sätta bollen i rullning. Det handlar anmärkningsvärt ofta bara om att få fatt i någon trådände och börja dra. Varför är det, även med den vetskapen, så förbaskat svårt att komma igång?

I morgon. Då.

Etikettmoln