Blogg
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
Här finns tekniska artiklar, presentationer och nyheter om arkitektur och systemutveckling. Håll dig uppdaterad, följ oss på LinkedIn
I år har jag arbetat 50 år i IT-branschen. Under detta halvsekel har jag hunnit med lågt räknat 80 000 arbetstimmar. Jag som verkligen gillar att lära mig nya saker har svårt att tänka mig ett roligare jobb. Det är faktiskt så roligt att jag också har det som hobby.
Nu när jag har arbetat så länge kom jag på idén att skriva en bloggpost om mina erfarenheter. Första tanken var att jag skulle berätta om den fantastiska teknikutveckling som skett under detta halvsekel, där den första dator jag kom i kontakt med via jobbet, en IBM 1130, använde hålkort som media både för data och programkod. Därifrån har utvecklingen gått fort och min tanke var att skriva en bloggpost om den utveckling jag har upplevt. Men vid närmare eftertanke övergav jag det uppslaget. Det finns många som kan skriva om det, jag bad till exempel ChatGPT skriva ett par sådana bloggposter och jag tyckte inte att de var särskilt intressanta. Istället beslöt jag mig för att skriva om hur jag har burit mig åt för att vara engagerad och ha roligt under så lång tid.
För att orka arbeta 80 000 timmar så har jag behövt ha flera drivkrafter. Den drivkraft som betytt mest för mig är att jag vill ha roligt på jobbet, en annan är min nyfikenhet som gör att jag hela tiden vill lära mig nya saker. Att jag dessutom har arbetat inom många branscher och haft många yrkesroller har också gjort det omväxlande och roligt att arbeta. Som komplement till drivkrafterna har jag även lärt mig att hantera motgångar
Jag har inte bara hållit mig fast vid utveckling, viljan att hela tiden utvecklas har gått som en röd tråd genom hela mitt arbetsliv.
Jag vill inte känna mig stressad av att jag har svårt att hinna med. För att motverka det så försöker jag hela tiden ligga något steg före så att jag inte behöver spurta för att hinna med utan istället ofta får lite tid över för reflektioner och förbättringar.
Med åren har jag blivit allt bättre på att hantera utmaningar av olika slag. När problem uppstår försöker jag fokusera på att lösa problemet istället för att fastna i tankar om vad som gick fel eller vems fel det var. I efterhand brukar jag reflektera över om jag kunde ha gjort något för att undvika eller minska problemet. Att lära av misstag är viktigt – det gör att jag i framtiden kan förhindra eller minska liknande problem.
Under mitt yrkesliv har jag mött många trevliga, kompetenta och intressanta människor som inspirerat mig. Ibland har jag dock stött på undantag, men då försöker jag påminna mig själv om vad som är viktigt och låter det oväsentliga rinna av mig. För mig har det varit en framgångsfaktor att behålla mitt goda humör.
Motiverad blir man av att ha roligt på jobbet! Det har inneburit att hitta saker som ger mig energi inom ramen för de arbetsuppgifter jag har. Det har jag till stor del fått via utvecklande och spännande uppdrag och trevliga kollegor, men även genom att ständigt hålla på med kompetensutveckling.
Utöver att utveckla egen kod har jag många gånger laddat ner programvaror eller open source-källkod och labbat med dem för att ta reda på vad de kan och för att se om jag kan använda dem för att underlätta i pågående uppdrag. Man kan lära sig mycket och även få inspiration av att titta på vad andra har gjort.
Jag har även insett att jag kan göra ett bättre jobb och samtidigt ha roligare om jag investerar i böcker, programvaror eller elektroniska prylar. Oftast har jag gjort dessa investeringar och känt mig väldigt nöjd när jag sett hur mycket bättre resultat jag åstadkommit.
För mig som är både nyfiken och klåfingrig har det också inneburit att jag har ägnat en hel del fritid åt hobbyprojekt, där jag har lärt mig nya saker och även har tillämpat kunskaperna genom att bygga prototyper eller programvaror jag har använt privat eller i jobbet.
Sen har jag turen att jobba på ett företag som två gånger per år har bootcamps där vi på arbetstid får jobba med kompetensutvecklande saker, exempelvis våra hobbyprojekt. Vi har även månadsvisa kompetensmöten, och många av dem har väckt idéer som jag har omsatt till nya hobbyprojekt, och där kunskapen senare har använts i arbetet.
Ytterligare ett sätt att hålla motivationen uppe är att arbeta i projekt som ger ett värde för många, gärna i form av samhällsnytta. Jag har haft förmånen att få vara del av åtskilliga sådana projekt.
I mitten av 1990-talet hade jag behov av att hålla reda på många anteckningar inom flera olika områden. Jag ville både kunna hitta och läsa dem samt även kunna använda e-postadresser, länkar och annat för att förenkla min vardag. Sagt och gjort, jag byggde en app som jag kallade Anteck. Den fick stöd för betydligt mer än det jag ursprungligen hade behov av. Den kunde även göra säkerhetskopior som sparades på en server (typ molnlösning), varifrån även andra instanser av appen kunde synka sina data.
Under ett kundprojekt i mitten av 1990-talet behövde vi automatisera distribution av nya versioner av den programvara som vi utvecklade. Uppgradering skulle kunna ske vid en tidpunkt som vi hade bestämt i förväg. Jag tillbringade några kvällar med att bygga en sådan programvara, som fick namnet Startprogrammet eftersom det var konfigurerat att starta och vid behov även uppgradera den applikation användarna startade. Hobbyprojektet blev så bra att det användes hos två kunder, där det gjorde stora besparingar genom att manuellt distributions- och uppgraderingsarbete automatiserades.
I slutet av 1990-talet utvecklade jag Windows-applikationer och blev nyfiken på hur exe-filerna var uppbyggda. Information om detta hittade jag på nätet. Det var så intressant att jag byggde en app som kunde infoga extra funktionalitet i form av exekverbar programkod i en exe-fil. Appen hade kunnat användas för att lägga in virus i programvaror, men eftersom jag inte har sådana ambitioner så nöjde jag mig med att göra experiment där jag testade att exefiler kunde utökas med mer kod utan att tappa funktion samtidigt som den tillagda koden kunde exekveras.
Under 2018 kom jag och några tidigare projektkollegor på idén utveckla en teknisk lösning för att hantera patientinformation om sjukskrivningsärenden och rehabiliteringsåtgärder. För att lösningen skulle passa inom de legala gränserna så prövade vi idén att använda mycket stark kryptering av informationen, lagra pekare till informationen i en blockkedja och spara den krypterade informationen i en databas. Jag byggde en prototyp till blockkedjan från grunden i Python. Prototypen fungerade mycket bra, och det var inspirerande och lärorikt att utveckla en blockkedja.
I många projekt har jag haft behov av att testa programvaror och funktionalitet i utvecklade system. För att inte “skräpa ner” min dator så gjorde jag ofta det i virtuella Linuxmaskiner. Jag skapade ett script som kunde användas för att automatisera skapandet av Docker-containrar som innehöll Linuxmaskiner med önskad konfiguration och vars användargränssnitt kunde accessas via webbläsare.
Under mina drygt 17 år som daglig tågpendlare från Nyköping till Stockholm var det vanligt att tågen var försenade eller inställda. Jag ville ha bättre tillgång till aktuell information om trafiksituationen så att jag kunde bestämma om det var värt att åka till stationen eller om jag skulle ta ett senare tåg. 2017 utvecklade jag en app som gjorde API-anrop till Trafikverkets API:er och kombinerade detta med bland annat väderinformation för berörd sträcka och information om alternativa resvägar. Dessutom sparade jag statistik om tågpunktligheten, vilket underlättade när jag skulle begära förseningsersättning.
Under 2013 utvecklade jag, tillsammans med en tågpendlarkompis och en byggnadsarkitekt, en prototyp för ett system som visade realtidspositioner för brandmän i en byggnad. Syftet var att hjälpa räddningsledare att lokalisera brandmän, förmedla information om byggnadens förhållanden och snabbt skicka hjälp vid behov. Systemet visualiserade brandmännens positioner i en tredimensionell byggnadsmodell (BIM i IFC-format) via Blender, baserat på strömmande data. Vi genomförde tester med sändare och mottagare i en byggnad i Nyköping, men tekniken visade sig vara för inexakt, och mer precis utrustning låg utanför vår budget. Vi fick även pengar från Östsvenska Handelskammaren att spendera på en utredning från Linköpings universitet.
2019 startade min kollega David och jag ett gemensamt projekt i form av utveckling av en chatbot som var tänkt att läggas till på Callistas hemsida. Vi fick till en prototyp som kunde svara på frågor om bloggposter och visa länkar till bloggposter och bloggserier och som byggde på dataanalys i form av Machine Learning av hemsidans bloggposter. Det var extra roligt att göra detta ihop med en kollega.
Det är mitt namn på min prisjämförelsetjänst som kan liknas vid pricerunner för matbutiker. Behovet föddes undser våren 2023 när inflationen steg och det blev betydligt dyrare att handla i matbutikerna. Tjänsten har en backend i form av Pythonkod som crawlar matbutikernas webbplatser för att kunna samla in den information som behövs för att kunna presentera en jämförelsetabell där priser redovisas per butik för den matkasse (inköpslista) jag skrivit in i användargränssnittet.
Min nyfikenhet brukar ge resultat i arbetslivet. Jag har varit påläst och har ofta legat några steg före pågående utveckling i projektet jag arbetar i. Den kunskap jag fortlöpande skaffat mig har bland annat varit till nytta när jag i rollen som utvecklare eller arkitekt har hjälpt kunder med bland annat automatisering eller utvärdering av lösningsalternativ.
Om jag ska sammanfatta mitt halvsekel i IT-branschen så är det att jag har lärt mig mycket samtidigt som jag har haft roligt. Kunskap är en lätt börda att bära, och efter 50 år känns det fortfarande som att jag har en hel del nytt att utforska. Det var roligt att skriva den här bloggposten, så chansen är stor att det blir fler.
För att få fram bilder till den här bloggen så tog jag hjälp av DALL-E 3.