Utvikling
Software Engineer
Fem nivåer fra Junior til Principal og seks kompetanser – fra å levere kode til å utvikle teamet.
- 5 nivåer
- 6 kompetanser
Mal for karrierestige
Fire nivåer fra Junior til Staff DevOps Engineer og seks kompetanser – fra infrastruktur til utviklerstøtte.
Gratisplan · Ingen betalingskort nødvendig
Denne karrierestigen er for DevOps-, plattform- og infrastrukturingeniører i selskaper med omtrent 20–200 ansatte. I den størrelsen består infrastrukturteamet som regel av én til seks personer som drifter skykontoene, leveransepipelinene, overvåkingen og vaktordningen, og som bruker like mye tid på å hjelpe utviklere som på å jobbe med servere. Den beskriver fire nivåer, fra en som gjør avgrensede endringer i infrastrukturen, til personen som eier retningen for selskapets plattform. Det øverste nivået, Staff DevOps Engineer, er et spesialistnivå; å lede infrastrukturteamet er en egen jobb.
Hvert nivå er definert ut fra hva personen gjør og hvor mye av systemet personen blir betrodd, ikke ut fra antall års erfaring eller hvor mange verktøy som står på CV-en. Les en rad i kompetansematrisen fra venstre mot høyre for å se hvordan én forventning vokser; les avsnittet om et nivå for å se alt som forventes på det nivået. Bruk den til å forklare hva neste nivå innebærer, til å strukturere check-iner og til å ta forfremmelsesbeslutninger du kan forsvare.
Tilpass den før du publiserer den. Bytt ut de generelle formuleringene med deres egen stack og praksis, og fjern delene som hører til et annet team – for eksempel hvis sikkerhet eller databaser eies et annet sted.
Gjør avgrensede endringer i infrastruktur og pipelines med gjennomgang og lærer hvordan produksjon kjøres.
Eier deler av infrastrukturen fra start til slutt og tar sin fulle andel av vaktene.
Utformer og leder infrastrukturprosjekter som flere team er avhengige av, og hever lista for pålitelighet.
Setter retningen for selskapets plattform og står ansvarlig for påliteligheten, sikkerheten og kostnadene.
Hver rad er en kompetanse og hver kolonne et nivå. Les en rad fra venstre mot høyre for å se hvordan forventningen øker.
| Kompetanse | Junior DevOps Engineer | DevOps Engineer | Senior DevOps Engineer | Staff DevOps Engineer |
|---|---|---|---|---|
| Infrastruktur som kode | Gjør endringer i eksisterende infrastrukturkode etter mønstrene som allerede finnes, sjekker den planlagte diffen før den tas i bruk, og endrer aldri produksjon manuelt uten å spørre først. | Skriver gjenbrukbare infrastrukturmoduler for nye tjenester og miljøer, håndterer state og hemmeligheter på en trygg måte og fjerner ressurser som ikke lenger er i bruk. | Utformer oppbyggingen av selskapets infrastrukturkode og miljøer, leder endringer som nettverks- eller klyngeoppgraderinger med en testet plan for tilbakerulling, og holder skykostnadene synlige per team. | Velger plattformens grunnleggende byggesteiner og leverandører for de neste årene, setter standardene alle teams infrastruktur følger, og eier infrastrukturbudsjettet sammen med ledelsen. |
| Bygge- og leveransepipelines | Retter pipelinesteg som har feilet, legger til enkle jobber i eksisterende pipelines og forklarer en utvikler hvorfor bygget feilet. | Bygger og vedlikeholder hele pipelinen for en tjeneste – bygg, tester, artefakter, utrulling til alle miljøer – og gjør trege steg som utviklerne klager på, raskere. | Utformer felles pipelinemaler som alle team bruker, innfører tryggere releasemetoder som canary- eller blue-green-utrulling, og følger med på utrullingsfrekvens og feilrate. | Definerer hvordan hele selskapet leverer programvare, fra branching til tilbakerulling, og fjerner flaskehalsene som bremser leveransene i alle team. |
| Pålitelighet og hendelseshåndtering | Går med på vakt sammen med en erfaren kollega, bruker runbooks for kjente varsler og eskalerer raskt med informasjonen neste person trenger. | Tar sin fulle andel av vaktene, løser de fleste hendelser i sitt område uten hjelp, skriver runbooks for det som ble rettet, og tester sikkerhetskopier ved faktisk å gjenopprette dem. | Leder håndteringen av store hendelser, holder post mortem-gjennomganger uten skyldfordeling og følger opp tiltakene til de er gjort, og planlegger kapasitet og failover for kritiske systemer. | Setter pålitelighetsmål sammen med produkt og ledelse, utformer vakt- og hendelsesprosessen for hele utviklingsorganisasjonen og planlegger for katastrofer som å miste en region eller en leverandør. |
| Overvåking og observerbarhet | Legger til dashbord og varsler etter eksisterende eksempler og sjekker logger og metrikker først når noe ser feil ut. | Setter opp logging, metrikker og varsler for nye tjenester, justerer varslene slik at hver utkalling krever handling, og hjelper utviklere å finne det de trenger i dataene. | Utformer observerbarhetstilnærmingen for selskapets viktigste systemer, definerer signalene for tjenestehelse som teamene måles på, og reduserer varselstøy på tvers av team. | Velger selskapets verktøy for observerbarhet og kostnadsmodellen for dem, og sørger for at ledelsen kan se plattformens helse uten å spørre en utvikler. |
| Sikkerhet og tilgang | Følger teamets regler for hemmeligheter og tilgang, legger inn rutinemessige patcher og melder fra med en gang om alt som ser ut som et sikkerhetsproblem. | Styrer tilgang og hemmeligheter for sine tjenester etter prinsippet om minste privilegium, patcher sårbarheter etter alvorlighetsgrad og retter funnene fra sikkerhetsskanninger. | Utformer nettverksgrenser, identitets- og hemmelighetshåndtering på tvers av plattformen, forbereder dokumentasjon til kunders sikkerhetsgjennomganger og leder håndteringen av sikkerhetshendelser. | Eier plattformens sikkerhetsnivå sammen med ledelsen, setter kontrollene som etterlevelse krever (for eksempel SOC 2 eller ISO 27001), og gjør den sikre veien til den enkleste for alle team. |
| Utviklerstøtte og samarbeid | Svarer på utvikleres spørsmål om miljøer og pipelines, dokumenterer rettingene sine og ber tidlig om gjennomgang. | Skriver tydelige veiledninger for vanlige oppgaver, jobber sammen med utviklere om utrulling og feilsøking av tjenestene deres, og introduserer nye kolleger til infrastrukturen. | Bygger selvbetjeningsverktøy som lar teamene opprette tjenester og miljøer uten å sende inn en sak, er mentor for andre DevOps-ingeniører og deltar i rekruttering. | Former plattformen som et internt produkt med utviklerne som brukere, bestemmer hva teamene eier og hva plattformteamet eier, og utvikler de neste seniorene. |
Rull tabellen sidelengs for å se alle nivåene.
Last ned som CSV Åpnes i Excel, Google Sheets eller Numbers.
Gjør avgrensede endringer i infrastruktur og pipelines med gjennomgang og lærer hvordan produksjon kjøres. Enkeltendringer i eksisterende infrastrukturkode og pipelines, planlagt og gjennomgått av noen med mer erfaring.
Eier deler av infrastrukturen fra start til slutt og tar sin fulle andel av vaktene. Tjenester, miljøer eller pipelines for ett eller to produktteam, fra design til daglig drift.
Utformer og leder infrastrukturprosjekter som flere team er avhengige av, og hever lista for pålitelighet. Felles infrastruktur som brukes av det meste av utviklingsorganisasjonen, og prosjekter som migreringer som berører alle team.
Setter retningen for selskapets plattform og står ansvarlig for påliteligheten, sikkerheten og kostnadene. Hele produksjonsplattformen, retningen for flere år fremover og budsjettet, på tvers av alle utviklingsteam.
Generelle uttrykk som «infrastrukturkode» eller «pipelines» er lette å være enige i og vanskelige å vurdere. Bytt dem ut med de faktiske verktøyene og praksisene deres, slik at en junior DevOps-ingeniør vet nøyaktig hva som skal læres først.
Med én til tre DevOps-ingeniører holder det som regel med junior-, mellom- og seniornivå. Legg til Staff når noen faktisk setter retningen for plattformen og eier budsjettet for hele utviklingsorganisasjonen, ikke som en tittel til den mest erfarne personen i et lite team.
Si på hvilket nivå folk går inn i vaktordningen, når de leder hendelser, og hvordan vakttid kompenseres. Uskrevne forventninger til vakt er en av de vanligste grunnene til at infrastrukturingeniører blir utbrent og slutter.
Knytt hvert DevOps-nivå til utviklernivået med samme ansvarsomfang og lønn. Plattformarbeid er utviklingsarbeid, og når de to karrierestigene henger sammen, blir det enkelt å bytte mellom produkt- og plattformteam.
Vanlige spørsmål
Strengt tatt er DevOps en måte å jobbe på og ikke en stillingstittel; i praksis beskriver titlene i selskaper med 20–200 ansatte stort sett den samme jobben med ulik vekt: SRE-er konsentrerer seg om pålitelighetsmål – typisk SLO-er og feilbudsjetter – og hendelser, plattformingeniører om selvbetjeningsverktøy for utviklere og DevOps-ingeniører om pipelines og infrastruktur. Én karrierestige dekker som regel alle tre; juster formuleringene i kompetansene i stedet for å lage egne karrierestiger.
Som regel når utviklerne bruker en merkbar del av uka på utrulling, miljøer og produksjonsproblemer i stedet for funksjoner, eller når kundene begynner å be om oppetidsforpliktelser og sikkerhetsgjennomganger. I mange selskaper skjer dette ved rundt 15–30 utviklere.
Ja, men tell det folk lærer og forbedrer, ikke hvor mange utkallinger de har svart på. Å lede en stor hendelse godt, skrive post mortem-analyser der tiltakene faktisk blir gjennomført, og redusere varselstøy er tydelige tegn på neste nivå. Å ha mye vakt er det ikke.
De kan hjelpe noen å lære en plattform, men de bør ikke avgjøre nivået. Vurder hva personen har bygget og driftet i deres miljø, mot kompetansematrisen. Et sertifikat uten slike eksempler viser ikke neste nivå; slike eksempler uten sertifikat gjør det.
Tre eller fire, fordi infrastrukturteamene i selskaper av denne størrelsen er små. Denne malen bruker fire – Junior, DevOps Engineer, Senior og Staff – og fungerer godt sammen med en karrierestige for utviklere med fem nivåer, der Staff-nivåene står på linje.
Sett opp nivåene og ferdighetene for teamet ditt, vurder folk mot dem i check-iner, og hold beslutningene om forfremmelse konsekvente.
Gratisplan · Ingen betalingskort nødvendig
Utvikling
Fem nivåer fra Junior til Principal og seks kompetanser – fra å levere kode til å utvikle teamet.
Utvikling
Fire nivåer fra Junior QA til Lead QA Engineer og seks kompetanser – fra testdesign til kvalitetspraksis.
Utvikling
Fire nivåer fra Engineering Manager til VP of Engineering, fordelt på seks lederkompetanser.