Hem

Jag heter Alexander Tarnowski och har skapat denna sida för att presentera mig själv och min syn på professionell mjukvarutveckling och IT-konsultrollen. Jag nås via Crisp eller på twitter (@alexander_tar).

Jag har arbetat i branschen som konsult sedan 2000. Först deltid, sedan på heltid, och under dessa år har jag sett att de konsulter som tillför mest värde för kunden är de som kompletterar djup expertis inom ett eller flera områden med bredd. Sådana konsulter behärskar alla aspekter av sin omgivning, såväl organisatoriska som tekniska. Det betyder att de alltid får saker gjorda; antingen genom att lösa problemet själva, eller genom att prata rätt språk med rätt person. Det är sådana konsulter som har varit mina förebilder.

Modern professionell mjukvaruutveckling handlar således om att behärska flera olika discipliner och knyta samman användningen av dem för att ta fram en produkt eller en lösning – något som löser någons problem. För närvarande känner jag att följande modell bäst beskriver det en modern IT-konsult behöver behärska.

Professionell utveckling

Säkerhet Fysisk säkerhet, säker användning av sitt egna system, brandväggar, kryptering, olika typer av inloggning, penetrationstest, säker programmering
Infrastruktur Kunna bygga och konfigurera sin egen dator, operativsystem, nätverksdesign och protokoll, virtualisering, hårdvaruarkitektur, molntjänster
Test Utvecklardriven testning, utforskande testning, testplanering och strategier, kravhantering
Programmering Programmeringsspråk, script-språk, utvecklingsverktyg, testdriven utveckling, continuous integration, revisionskontroll, refactoring, debugging, objektorientering
Projektledning Projektledningsmetoder, agila metoder, vattenvallsliknande modeller, governance
Arkitektur Mönster, systembeskrivningar och vyer

Varje gång jag ser bilden ovan vill jag egentligen lägga till rutor, dela upp dem, hitta nya. Vad som finns i varje enskild ruta är kanske inte så viktigt. Det viktiga är att de är några stycken, och att varje döljer flera kompetensområden. Det jag vill belysa är att den professionelle IT-konsulten behöver jobba inom samtliga dimensioner och kunna kommunicera arbetets signifikans inom dessa.

Avsaknad av färdigheter inom en eller flera av dessa områden skapar profiler som får det svårt att arbeta autonomt. Till exempel är duktiga utvecklare som inte kan infrastruktur beroende av it-supporten. Utvecklare svaga inom test levererar ofta kod med fel, eller kod som är svår att underhålla på sikt. De som är svaga inom projektledningsdimensionen kan inte kommunicera kring sitt arbete, se helheten, eller fastnar i mindre relevanta detaljer.