Vývoj
Softvérový inžinier
Päť úrovní od juniora po principal a šesť kompetencií – od dodávania kódu po rozvoj tímu.
- 5 úrovní
- 6 kompetencií
Šablóna kariérneho rebríčka
Štyri úrovne od Junior po Staff DevOps inžiniera a šesť kompetencií – od infraštruktúry po podporu vývojárov.
Bezplatný plán · Bez platobnej karty
Tento kariérny rebríček je pre DevOps, platformových a infraštruktúrnych inžinierov vo firmách s približne 20 až 200 ľuďmi. Pri tejto veľkosti má infraštruktúrny tím zvyčajne jedného až šesť ľudí, ktorí spravujú cloudové účty, CI/CD pipeline, monitoring a pohotovosť a ktorí strávia pomocou vývojárom rovnako veľa času ako prácou so servermi. Opisuje štyri úrovne – od človeka, ktorý robí dobre ohraničené zmeny v infraštruktúre, až po toho, kto zodpovedá za smerovanie firemnej platformy. Najvyššia úroveň, Staff DevOps inžinier, patrí na odbornú dráhu; vedenie infraštruktúrneho tímu je samostatná práca.
Každú úroveň definuje to, čo človek robí a akú časť systému mu firma zverí, nie roky praxe ani počet nástrojov v životopise. Keď čítate riadok matice kompetencií zľava doprava, vidíte, ako rastie jedno očakávanie; v časti o konkrétnej úrovni nájdete všetko, čo sa na nej očakáva. Použite ho na vysvetlenie, čo znamená ďalšia úroveň, na štruktúrovanie check-inov a na rozhodnutia o povýšení, ktoré viete obhájiť.
Pred zverejnením ho upravte. Všeobecné formulácie nahraďte vlastným stackom a postupmi a vynechajte časti, ktoré patria inému tímu – napríklad ak bezpečnosť alebo databázy spravuje niekto iný.
Robí dobre ohraničené zmeny v infraštruktúre a pipeline s review a učí sa, ako funguje produkcia.
Zodpovedá za časti infraštruktúry od začiatku do konca a preberá plný podiel pohotovostí.
Navrhuje a vedie infraštruktúrne projekty, na ktorých závisí viacero tímov, a zvyšuje latku spoľahlivosti.
Určuje smerovanie firemnej platformy a zodpovedá za jej spoľahlivosť, bezpečnosť a náklady.
Každý riadok je kompetencia a každý stĺpec úroveň. Čítajte riadok zľava doprava a uvidíte, ako rastú očakávania.
| Kompetencia | Junior DevOps inžinier | Medior DevOps inžinier | Senior DevOps inžinier | Staff DevOps inžinier |
|---|---|---|---|---|
| Infraštruktúra ako kód | Mení existujúci kód infraštruktúry podľa zavedených vzorov, pred aplikovaním skontroluje plánovaný diff a nikdy nemení produkciu ručne bez toho, aby sa najprv opýtal. | Píše opakovane použiteľné infraštruktúrne moduly pre nové služby a prostredia, bezpečne narába so stavom a tajomstvami a odstraňuje zdroje, ktoré sa už nepoužívajú. | Navrhuje usporiadanie kódu infraštruktúry a prostredí firmy, vedie zmeny, ako sú upgrady siete či klastrov, s otestovaným plánom návratu a udržiava náklady na cloud viditeľné pre každý tím. | Vyberá základné stavebné prvky a poskytovateľov platformy na najbližšie roky, stanovuje štandardy, ktorými sa riadi infraštruktúra každého tímu, a spolu s vedením zodpovedá za rozpočet na infraštruktúru. |
| Zostavovanie a CI/CD pipeline | Opravuje nefunkčné kroky pipeline a pridáva jednoduché joby do existujúcich pipeline a vývojárovi vie vysvetliť, prečo mu zlyhal build. | Buduje a udržiava celú pipeline služby – build, testy, artefakty, nasadenie do všetkých prostredí – a skracuje pomalé kroky, na ktoré sa vývojári sťažujú. | Navrhuje spoločné šablóny pipeline, ktoré používa každý tím, zavádza bezpečnejšie spôsoby vydávania, ako sú canary alebo blue-green nasadenia, a sleduje frekvenciu nasadení a mieru zlyhaní. | Definuje, ako celá firma dodáva softvér – od vetvenia až po návrat zmien – a odstraňuje úzke hrdlá, ktoré spomaľujú dodávanie vo všetkých tímoch. |
| Spoľahlivosť a reakcia na incidenty | Sprevádza kolegov na pohotovosti, pri známych upozorneniach postupuje podľa runbookov a rýchlo eskaluje s informáciami, ktoré ďalší človek potrebuje. | Preberá plný podiel pohotovostí, väčšinu incidentov vo svojej oblasti vyrieši bez pomoci, k tomu, čo opravil, napíše runbook a zálohy testuje tak, že z nich naozaj obnoví dáta. | Vedie reakciu na veľké incidenty, robí post-mortemy bez hľadania vinníka, dotiahne následné opatrenia do konca a plánuje kapacitu a prepnutie pri výpadku pre kritické systémy. | S produktom a vedením stanovuje ciele spoľahlivosti, navrhuje pohotovostný a incidentný proces pre celý vývoj a plánuje pre prípad katastrof, ako je strata regiónu alebo poskytovateľa. |
| Monitoring a pozorovateľnosť | Podľa existujúcich príkladov pridáva dashboardy a upozornenia, a keď niečo vyzerá zle, najprv skontroluje logy a metriky. | Nastavuje logovanie, metriky a upozornenia pre nové služby, ladí upozornenia tak, aby si každý alarm vyžadoval zásah, a pomáha vývojárom nájsť v dátach to, čo potrebujú. | Navrhuje prístup k pozorovateľnosti pre hlavné systémy firmy, definuje signály zdravia služieb, podľa ktorých sa tímy merajú, a znižuje šum upozornení naprieč tímami. | Vyberá nástroje firmy na pozorovateľnosť a ich nákladový model a dbá na to, aby vedenie videlo zdravie platformy bez toho, aby sa muselo pýtať inžiniera. |
| Bezpečnosť a prístupy | Dodržiava pravidlá tímu pre tajomstvá a prístupy, aplikuje bežné záplaty a všetko, čo vyzerá ako bezpečnostný problém, okamžite nahlási. | Spravuje prístupy a tajomstvá pre svoje služby podľa princípu minimálnych oprávnení, záplatuje zraniteľnosti podľa ich závažnosti a opravuje nálezy z bezpečnostných skenov. | Navrhuje sieťové hranice, správu identít a tajomstiev naprieč platformou, pripravuje podklady pre bezpečnostné audity zákazníkov a vedie reakciu na bezpečnostné incidenty. | Spolu s vedením zodpovedá za bezpečnostnú úroveň platformy, stanovuje kontroly, ktoré vyžaduje súlad s normami (napríklad SOC 2 alebo ISO 27001), a robí bezpečnú cestu tou najjednoduchšou pre každý tím. |
| Podpora vývojárov a spolupráca | Odpovedá na otázky vývojárov o prostrediach a pipeline, dokumentuje opravy, ktoré urobí, a o review žiada včas. | Píše zrozumiteľné návody na bežné úlohy, s vývojármi pracuje v pároch pri nasadzovaní a ladení ich služieb a zaškoľuje nových kolegov do infraštruktúry. | Buduje samoobslužné nástroje, s ktorými si tímy vytvoria služby a prostredia bez zakladania tiketu, mentoruje ďalších DevOps inžinierov a zapája sa do náboru. | Formuje platformu ako interný produkt, ktorého používateľmi sú vývojári, rozhoduje, za čo zodpovedajú tímy a za čo platformový tím, a rozvíja ďalších seniorných inžinierov. |
Posuňte tabuľku do strany a uvidíte všetky úrovne.
Stiahnuť ako CSV Otvoríte v Exceli, Google Sheets alebo Numbers.
Robí dobre ohraničené zmeny v infraštruktúre a pipeline s review a učí sa, ako funguje produkcia. Jednotlivé zmeny v existujúcom kóde infraštruktúry a pipeline, ktoré naplánuje a skontroluje niekto skúsenejší.
Zodpovedá za časti infraštruktúry od začiatku do konca a preberá plný podiel pohotovostí. Služby, prostredia alebo pipeline pre jeden či dva produktové tímy – od návrhu po každodennú prevádzku.
Navrhuje a vedie infraštruktúrne projekty, na ktorých závisí viacero tímov, a zvyšuje latku spoľahlivosti. Spoločná infraštruktúra, ktorú používa väčšina vývoja, a projekty, ako sú migrácie, ktoré sa dotknú každého tímu.
Určuje smerovanie firemnej platformy a zodpovedá za jej spoľahlivosť, bezpečnosť a náklady. Celá produkčná platforma, jej viacročné smerovanie a rozpočet naprieč všetkými vývojovými tímami.
So všeobecnými výrazmi ako „kód infraštruktúry“ či „pipeline“ ľahko každý súhlasí, no ťažko sa hodnotia. Nahraďte ich vašimi skutočnými nástrojmi a postupmi, aby junior presne vedel, čo sa má naučiť ako prvé.
Pri jednom až troch DevOps inžinieroch zvyčajne stačia úrovne junior, medior a senior. Úroveň Staff pridajte, až keď niekto naozaj určuje smerovanie platformy a zodpovedá za jej rozpočet v rámci celého vývoja – nie ako titul pre najskúsenejšieho človeka v malom tíme.
Uveďte, na ktorej úrovni sa ľudia zapájajú do pohotovostí, kedy vedú incidenty a ako sa čas na pohotovosti kompenzuje. Nevyslovené očakávania ohľadom pohotovosti patria k najčastejším dôvodom, prečo infraštruktúrni inžinieri vyhoria a odídu.
Priraďte každú úroveň DevOps k úrovni softvérového inžiniera s rovnakým rozsahom a platom. Práca na platforme je vývojárska práca a zosúladené rebríčky zjednodušujú presuny medzi produktovými a platformovými tímami.
Otázky a odpovede
Prísne vzaté je DevOps spôsob práce, nie pracovná pozícia; v praxi vo firmách s 20 až 200 ľuďmi tieto pozície väčšinou opisujú tú istú prácu s iným dôrazom: SRE sa sústreďujú na ciele spoľahlivosti – typicky SLO a chybové rozpočty – a na incidenty, platformoví inžinieri na samoobslužné nástroje pre vývojárov a DevOps inžinieri na pipeline a infraštruktúru. Všetky tri zvyčajne pokryje jeden rebríček; upravte formulácie kompetencií namiesto vytvárania samostatných rebríčkov.
Zvyčajne vtedy, keď vývojári trávia citeľnú časť týždňa nasadeniami, prostrediami a problémami v produkcii namiesto funkcií alebo keď zákazníci začnú žiadať záväzky dostupnosti a bezpečnostné audity. V mnohých firmách sa to stane približne pri 15 až 30 vývojároch.
Áno, ale započítajte to, čo sa ľudia naučili a čo zlepšili, nie počet alarmov, na ktoré reagovali. Dobre vedený veľký incident, post-mortemy, ktorých opatrenia sa naozaj vykonajú, a menej šumu v upozorneniach sú jasnými dôkazmi pre ďalšiu úroveň. Častá pohotovosť nie.
Môžu pomôcť naučiť sa platformu, no o úrovni by rozhodovať nemali. Hodnoťte, čo človek vo vašom prostredí vybudoval a prevádzkuje, podľa matice kompetencií. Certifikát bez takých dôkazov ďalšiu úroveň nepreukazuje; takéto dôkazy bez certifikátu áno.
Tri alebo štyri, pretože infraštruktúrne tímy sú vo firmách tejto veľkosti malé. Táto šablóna má štyri – Junior, Medior, Senior a Staff – a dobre funguje spolu s päťúrovňovým rebríčkom softvérového inžiniera, kde sú úrovne Staff zarovnané.
Nastavte jeho úrovne a zručnosti pre svoj tím, hodnoťte podľa nich ľudí v check-inoch a rozhodujte o povýšeniach konzistentne.
Bezplatný plán · Bez platobnej karty
Vývoj
Päť úrovní od juniora po principal a šesť kompetencií – od dodávania kódu po rozvoj tímu.
Vývoj
Štyri úrovne od Junior po Lead QA inžiniera a šesť kompetencií – od návrhu testov po postupy kvality.
Vývoj
Štyri úrovne od Engineering Managera po VP of Engineering a šesť manažérskych kompetencií.