Skrivet av iknight:
Låter som ett riktigt roligt jobb! Om man får fråga, hur såg din 'resa' ut, från utbildning till att börja jobba med det? Jag har nämligen 2 år kvar tills jag får en civ.ing examen i IT, och jag hade gärna haft ett liknande jobb till dig i framtiden.
tl:dr; sist
Ja, det är verkligen roligt och stimulerande! Kul också att vara i en position att man INTE har ångest på söndagen utan faktiskt ser fram emot arbetsveckan som kommer
Jag började som utvecklare 2006ish efter högskolan, tog inte examen utan började jobba sista året. Satt med lite blandade uppgifter, klart mest kod men även en del kravarbete, synk med business etc. som jag tyckte var intressant.
De första åren lär man sig koda och vad som funkar långsiktigt när man måste ändra koden man skrev för ett år sedan.
Efter ungefär 5år så fick jag informellt ansvar för ett team med 5 utvecklare. Mest se till att vi jobbade på rätt grejer, lösa problem (otydliga/motstridiga krav, miljöer som behövde beställas etc) men hade inget formellt att säga till om. Mycket tjänster och gentjänster för att få saker gjorda och lärde mig mycket om att hantera människor, organisationer och företagspolitik.
Hoppade runt mellan olika uppdrag och samlade på mig erfarenhet från olika organisationer och team fram till 2018-19 någonstans.
Då fick jag ett uppdrag som tech-lead för ett av teamen hos dåvarande kund.
Det var mer formellt ansvar för arkitektur, backlog, leveranser, uptime etc. En ganska klassisk tech-lead roll.
Här knöt jag mycket kontakter med andra team, folk lite längre upp i hierarkin vilket är bra när man söker "högre" roller senare.
2020 precis innan pandemin så fick jag erbjudande om att ta en engineering manager roll.
Företaget (amerikanskt så ta definitionen av rollen med en nypa salt) förväntade sig att en EM ska:
Ansvara för att arkitekturen är hållbar och föreslå förbättringar INNAN man verkligen behöver dem så man måste hålla koll på vilka initiativ som börjar röra på sig och kommer ens väg närmaste året. Det är här kontakter med människor och andra team verkligen behövs.
Ansvara för att budgeten hålls och göra budgetarbetet för nästa kvartal - är inte speciellt stimulerande men tar inte heller så mycket av min tid.
Se till att anställda får jobba med utmanande uppgifter. Detta är klart för att vi vill att folk ska bli bättre och leverera mer men en viktig del är att folk får känna att de har en möjlighet att påverka vad de jobbar med och får jobba med saker de är intresserade av - då stannar folk för det mesta kvar längre.
Se till att folk INTE jobbar för mycket övertid. Detta prioriteras mer än jag trodde att det skulle göras i ett amerikanskt företag men de är rätt hårda på att om folk t.ex. gör en hjälteinsats och räddar produktion utanför ordinarie arbetstid så ska de ta ut den tiden som komp så snart det är möjligt. Gör de inte det så får JAG skit för det haha.
Sätta löner - inte så farligt som det låter. Det är väldigt tydligt vad man bedöms efter och det är en dialog mellan mig och mina anställda där vi följer upp deras mål för året kvartalsvis. Intressant också att "vara hjälpsam för andra team" prioriteras högt så man straffas om man är egoistiskt.
Hålla one to ones, så vi har återkommande möten var tredje vecka (tidigare varannan vecka när jag hade färre anställda som direktrapporterade till mig). Det är enligt mig ett av de viktigaste ansvaren jag har - se till att folk mår bra och utvecklas. Gör också att man får en starkare koppling till personen så man inte bara ser folk som "resurser" <- hatar verkligen det ordet.
Driva förändringar som vi anser behöver göras. Kan vara allt från att planera förändringar med olika team och stakeholders till att sätta upp support-processer, säkra budget för det arbetet och se till att det rullar.
En väldigt stimulerande roll där man verkligen får problemlösa på en högre nivå än kod och mer långsiktigt. Jag inbillar mig att de flesta utvecklare gillar problemlösning och nu spelar man med andra pjäser än när man satt och knackade kod. Jag ser det nästan som ett strategispel (men med reservationen att vi inte kan förlora/förbruka människor för det är game over!).
En stor del av day to day blir också att undanröja hinder innan de blir hinder för utvecklingsteamet. Så saker som behöver lösas/prioriteras/förtydligas/säkras görs innan det blir en blocker för teamet så de kan jobba så obehindrat som möjligt.
Sedan sent 2022 så sitter jag som senior EM. Enda skillnaden är egentligen att jag nu ansvarar för tre utvecklingsteam och även agerar bollplank/mentor åt kollegor som är nya i EMrollen. Det skalar inte att ge mig fler team än så här eftersom jag då inte kan ge anställda den uppmärksamheten de förtjänar så vi håller nog där.
Nästa steg i hierarkin är att man endast har EMs som rapporterar till en och då rapporterar man själv till CTO.
tl:dr;
Samla på dig god erfarenhet av så många olika system som möjligt (bra att börja som konsult och aktivt byta uppdrag ofta i början) för att se vad som fungerar från arkitekturperspektiv - lär dig vilka problem som brukar behöva vilken typ av lösning. Det är kanske inte alltid kod behövs? Processer är minst lika kraftfulla.
Underskatta verkligen inte vikten av att förstå hur en organisation fungerar och hur man drar nytta av den. Det är utanför vår comfort-zone som utvecklare men väldigt viktigt om man vill ta andra roller. T.ex. behöver du få en informell blessing av en viss grupp innan dina initiativ approvas? Bli god vän med den gruppen då.
Människor är viktigare än kod. Lär dig samarbeta även med folk du inte personligen gillar och lyssna noga på vad de säger så förstår du mer av hur och varför de agerar som de gör.
Ta initiativ! Var en doer, fråga efter lov när det är rimligt men om något behöver göras och det är rätt sak att göra så informera om att du kommer att göra det och börja gör det.
Var lite ego och inte så himla svensk - har du och ditt team gjort något bra så basunera ut det. Management hör och ser mer än man tror även de inte kommenterar på allt. Få folk att känna igen ditt namn.
Lär dig hur budgetering fungerar - forecast, budget, capitalization.
Erbjud dig att hjälpa till med rekryteringsintervjuer när du är mogen - bra erfarenhet att ha när du själv behöver rekrytera.
Nätverka, både inom och utanför företaget. De flesta möjligheterna kommer från folk man känner/har jobbat med.
Leadership != Management. Leadership krävs när man vill genomföra en förändring. Management krävs när man vill låta något rulla på.
Det var nog det. Hojta om något är oklart eller om du vill att jag förtydligar något
Och lycka till!