EN PROGRAMERARES FUNDERINGAR
av Therese

 

Jag jobbar som programmerare. Jag tycker om mitt jobb. För mig har det varit rätt val. Jag har aldrig velat ”jobba med människor”. Jag tycker om att analysera sammanhang och omvandla det till kod, att klura på problem och skapa något som många kommer att använda och ha nytta av.

Som utvecklare är det en del av yrket att ständigt vara beredd att uppdatera sina kunskaper och slänga bort sådant som inte är aktuellt längre. Med de system som jag bygger, som dessutom finns tillgängliga via Internet, kan buggar få katastrofala följder för mina uppdragsgivare om någon obehörig tar sig in i systemen eller lyckas exploatera dem. Jag har jobbat i företag där en enda bugg lett till hundratusentals förlorade kronor på bara några dagar. Jag lever i skräck att jag någon gång är den som orsakar den typen av bugg.

Alla vill att IT-system ska hålla hög kvalitet och säkerhet. Ett system som ett företag är beredda att betala pengar för hanterar ofrånkomligen viktig, affärskritisk information och många gånger hanteras pengar eller något ännu viktigare: folks säkerhet och liv. Jag har hittills aldrig jobbat i ett projekt eller företag där tids- och resursplaneringen för utvecklingsavdelningen inte varit minst sagt optimistisk. Jag tror inte att det är något unikt för de projekt jag varit inblandad i, utan att det är  något som är väldigt utbrett i branschen. Nyligen driftsattes t.ex. ett nytt flygledningssystem i Sverige. Det var då fem år försenat och levererades till en extrakostnad av ungefär 100 miljoner kronor. Även för samhällskritiska system där kraven på kvalitet är mycket stora är alltså tidsplanerna ibland helt orealistiska.

När jag var färsk i branschen funderade jag ofta på min kod i efterhand. Har jag tänkt rätt? Finns där något säkerhetshål som jag inte känner till? Ångesten var ofta påtaglig inför eller efter en release, när arbetsdagarna är långa och stressnivån hög. Har jag gjort något slarvfel? Eller ännu värre, någon större tankevurpa? Har jag gjort något som gör att någon obehörig kan ta sig in och exploatera systemet? Den där snabba fixen jag gjorde, förstörde den något annat?

Numer tänker jag sällan på koden i efterhand. Frågorna finns fortfarande där och är väl värda att ställas, men då lösningen skulle ligga inom hela arbetsprocessen som rör sig över lång tid och många andra människors arbetsuppgifter, är det något som jag inte kan påverka. Min lösning har istället blivit att inte älta potentiella problem som antagligen inte ens existerar och se till att man sitter på en solid kunskapsbas för att kunna hantera de verkliga problemen när de uppstår.

Ständigt kommer man dock tillbaka till frågor som är omöjliga att svara på - Kan jag det jag behöver kunna? Vet jag det jag behöver veta? Hur vet man om det är något man inte känner till? Och när det varje dag potentiellt finns något mer man borde känna till, var ska man dra gränsen? Det är en stressfaktor och det får mig att ifrågasätta min framtid inom yrket. Jag kommer inte att ägna en massa tid av min fritid att utforska saker som jag kanske inte kommer att få någon nytta av. Många utvecklare gör dock det och tycker att det funkar jättebra för dem. Jag tycker att det har blivit lättare att helt enkelt säga att man inte vet vad något är. I början trodde jag att man förväntades känna till alla tekniker och alla förkortningar. Nu vet jag att det inte är så, det som förväntas är att man visar intresse och tar reda på det man behöver veta. Faktum är att även om man vet vad något betyder är det alltid bra att fråga lite ändå eftersom folk påfallande ofta använder samma ord för att beskriva helt skilda saker.

Var går gränserna för mitt ansvar? Om ett system stressats fram och således håller dålig kvalitet, är inte det projektledarens ansvar? Om ett system släpps igenom med en massa buggar i, är inte det testarens ansvar? Min erfarenhet är att det alltid är lätt att skylla på programmeraren vid problem; det är ju den personen som rent praktiskt skrev koden och skapade felet, oavsett hur dålig specifikation man fått från beställare, hur orealistisk tidsplanen varit eller hur omfattande testen varit.

Eftersom jag är konsult och har jobbat på olika ställen så har jag sett hur detta hanteras inom olika företag. Det är snarare skillnaden mellan olika projekt och olika utvecklingsavdelningar som gör att känslan ändras. Denna text ger en allmän bild av hur jag upplevt mitt yrke men känslorna är väldigt tydliga för mig eftersom jag nyligen arbetat på ett företag där skyddsnäten kring utvecklarna, i form av tydliga specifikationer och grundlig testning innan release, inte fanns.

Jag tror att tvivlen är något jag alltid kommer att leva med i det här yrket. Alternativet är att inte ifrågasätta sina kunskaper och det måste under alla omständigheter vara sämre. För varje release som går bra och för varje testperiod som passerar utan att någon värre bugg hittas, växer känslan av att jag kan det här, jag vet vad jag håller på med. Jag tror dock aldrig att jag kommer slappna av helt, luta mig tillbaka och förlita mig på att det brukar gå bra. Varje system man bygger är ju något nytt som man inte byggt förrut, med sina egenheter och svårigheter. Men det är ju en del av det som gör det här jobbet så spännande.