Inžinerija
Programuotojas
Penki lygiai nuo Junior iki Principal ir šešios kompetencijos – nuo kodo išleidimo iki komandos auginimo.
- 5 lygiai
- 6 kompetencijos
Karjeros laiptų šablonas
Keturi lygiai nuo Junior iki Staff DevOps inžinieriaus ir šešios kompetencijos – nuo infrastruktūros iki pagalbos programuotojams.
Nemokamas planas · Mokėjimo kortelės nereikia
Šie karjeros laiptai skirti DevOps, platformos ir infrastruktūros inžinieriams maždaug 20–200 žmonių įmonėse. Tokio dydžio įmonėje infrastruktūros komandą paprastai sudaro nuo vieno iki šešių žmonių, kurie prižiūri debesijos paskyras, išleidimo konvejerius, stebėseną ir budėjimus ir tiek pat laiko skiria pagalbai programuotojams, kiek darbui su serveriais. Aprašyti keturi lygiai – nuo aiškiai apibrėžtus infrastruktūros pakeitimus atliekančio žmogaus iki to, kuris atsako už įmonės platformos kryptį. Aukščiausias lygis, Staff DevOps inžinierius, yra specialisto lygis; vadovavimas infrastruktūros komandai – atskiras darbas.
Kiekvieną lygį apibrėžia tai, ką žmogus daro ir kokią sistemos dalį jam patikima, o ne patirties metai ar įrankių skaičius gyvenimo aprašyme. Skaitykite kompetencijų matricos eilutę iš kairės į dešinę – pamatysite, kaip auga vienas lūkestis; skaitykite lygio skiltį – pamatysite viską, ko tame lygyje tikimasi. Naudokite karjeros laiptus aiškindami, ką reiškia kitas lygis, rengdami check-in pokalbius ir priimdami paaukštinimo sprendimus, kuriuos galėsite pagrįsti.
Prieš paskelbdami pritaikykite šabloną. Bendras formuluotes pakeiskite savo technologijomis ir praktikomis, o dalis, priklausančias kitai komandai, išbraukite – pavyzdžiui, jei saugumu ar duomenų bazėmis rūpinasi kiti.
Atlieka aiškiai apibrėžtus infrastruktūros ir konvejerių pakeitimus, kuriuos peržiūri kiti, ir mokosi, kaip veikia produkcinė aplinka.
Nuo pradžios iki galo atsako už infrastruktūros dalis ir budi lygiai su kitais komandos nariais.
Projektuoja infrastruktūros projektus, nuo kurių priklauso kelios komandos, vadovauja jiems ir kelia patikimumo kartelę.
Nustato įmonės platformos kryptį ir atsako už jos patikimumą, saugumą ir kaštus.
Kiekviena eilutė – kompetencija, kiekvienas stulpelis – lygis. Skaitykite eilutę iš kairės į dešinę ir matysite, kaip auga lūkesčiai.
| Kompetencija | Junior DevOps inžinierius | DevOps inžinierius | Senior DevOps inžinierius | Staff DevOps inžinierius |
|---|---|---|---|---|
| Infrastruktūra kaip kodas | Keičia esamą infrastruktūros kodą laikydamasis jau taikomų sprendimų, prieš taikydamas pakeitimus peržiūri planuojamus skirtumus ir niekada nekeičia produkcinės aplinkos rankomis prieš tai nepasiklausęs. | Rašo pakartotinai naudojamus infrastruktūros modulius naujiems servisams ir aplinkoms, saugiai tvarko būseną ir slaptus duomenis ir pašalina nebenaudojamus išteklius. | Projektuoja įmonės infrastruktūros kodo ir aplinkų struktūrą, vadovauja tokiems pakeitimams kaip tinklo ar klasterių atnaujinimai su patikrintu atšaukimo planu ir rūpinasi, kad debesijos išlaidos būtų matomos kiekvienai komandai. | Parenka pagrindinius platformos elementus ir tiekėjus keleriems ateinantiems metams, nustato standartus, kurių laikosi kiekvienos komandos infrastruktūra, ir kartu su vadovybe atsako už infrastruktūros biudžetą. |
| Kompiliavimo ir išleidimo konvejeriai | Taiso sugedusius konvejerio žingsnius, prideda paprastų užduočių į esamus konvejerius ir paaiškina programuotojui, kodėl nepavyko jo kompiliavimas. | Kuria ir prižiūri visą serviso konvejerį – kompiliavimą, testus, artefaktus, diegimą į visas aplinkas – ir trumpina lėtus žingsnius, dėl kurių skundžiasi programuotojai. | Projektuoja bendrus konvejerių šablonus, kuriais naudojasi kiekviena komanda, diegia saugesnius išleidimo būdus, pavyzdžiui, canary ar blue-green, ir seka diegimų dažnį bei nesėkmių dalį. | Apibrėžia, kaip visa įmonė išleidžia programinę įrangą – nuo šakų strategijos iki atšaukimo – ir šalina kliūtis, kurios lėtina išleidimą visose komandose. |
| Patikimumas ir reagavimas į incidentus | Budi kartu su patyrusiu kolega, žinomiems įspėjimams taiko veiksmų instrukcijas (runbook) ir greitai eskaluoja, perduodamas informaciją, kurios reikės kitam žmogui. | Budi lygiai su kitais komandos nariais, daugumą savo srities incidentų išsprendžia be pagalbos, parašo veiksmų instrukcijas tam, ką sutaisė, ir tikrina atsargines kopijas iš tiesų jas atkurdamas. | Vadovauja reagavimui į didelius incidentus, veda kaltųjų neieškančias incidentų analizes (post-mortem) ir pasirūpina, kad tolesni veiksmai būtų atlikti, planuoja kritinių sistemų pajėgumus ir perjungimą avarijos atveju. | Kartu su produkto komanda ir vadovybe nustato patikimumo tikslus, projektuoja budėjimų ir incidentų procesą visai inžinerijai ir planuoja pasirengimą nelaimėms, pavyzdžiui, regiono ar tiekėjo praradimui. |
| Stebėsena ir stebimumas | Pagal esamus pavyzdžius prideda skydelius ir įspėjimus, o kai kas nors atrodo negerai, pirmiausia peržiūri žurnalus ir metrikas. | Naujiems servisams sukonfigūruoja žurnalus, metrikas ir įspėjimus, derina įspėjimus taip, kad kiekvienas iškvietimas reikalautų veiksmų, ir padeda programuotojams rasti duomenyse tai, ko jiems reikia. | Projektuoja stebimumo principus pagrindinėms įmonės sistemoms, apibrėžia servisų būklės signalus, pagal kuriuos vertinamos komandos, ir mažina įspėjimų triukšmą visose komandose. | Parenka įmonės stebimumo įrankius ir jų kaštų modelį ir pasirūpina, kad vadovybė matytų platformos būklę, nereikėdama klausti inžinieriaus. |
| Saugumas ir prieigos | Laikosi komandos taisyklių dėl slaptų duomenų ir prieigų, diegia įprastas pataisas ir nedelsdamas praneša apie viską, kas atrodo kaip saugumo problema. | Savo servisų prieigas ir slaptus duomenis tvarko pagal mažiausių privilegijų principą, taiso pažeidžiamumus pagal jų kritiškumą ir pašalina saugumo skenavimų radinius. | Projektuoja tinklo ribas, tapatybių ir slaptų duomenų valdymą visoje platformoje, rengia įrodymus klientų saugumo patikroms ir vadovauja reagavimui į saugumo incidentus. | Kartu su vadovybe atsako už platformos saugumo būklę, nustato atitikčiai reikalingas kontrolės priemones (pavyzdžiui, SOC 2 ar ISO 27001) ir padaro saugų kelią lengviausiu kiekvienai komandai. |
| Pagalba programuotojams ir bendradarbiavimas | Atsako į programuotojų klausimus apie aplinkas ir konvejerius, dokumentuoja savo atliktus pataisymus ir anksti paprašo peržiūros. | Rašo aiškius įprastų užduočių vadovus, kartu su programuotojais diegia ir derina jų servisus ir supažindina naujus komandos narius su infrastruktūra. | Kuria savitarnos įrankius, su kuriais komandos susikuria servisus ir aplinkas nepildydamos užklausų, mentoriauja kitiems DevOps inžinieriams ir dalyvauja atrankoje. | Kuria platformą kaip vidinį produktą, kurio naudotojai – programuotojai, sprendžia, už ką atsako komandos, o už ką platformos komanda, ir augina kitus senior inžinierius. |
Slinkite lentelę į šoną, kad matytumėte visus lygius.
Atsisiųsti CSV Atsidaro su „Excel“, „Google Sheets“ ar „Numbers“.
Atlieka aiškiai apibrėžtus infrastruktūros ir konvejerių pakeitimus, kuriuos peržiūri kiti, ir mokosi, kaip veikia produkcinė aplinka. Atskiri pakeitimai esamame infrastruktūros kode ir konvejeriuose, kuriuos suplanuoja ir peržiūri patyrusesnis kolega.
Nuo pradžios iki galo atsako už infrastruktūros dalis ir budi lygiai su kitais komandos nariais. Vienos ar dviejų produkto komandų servisai, aplinkos ar konvejeriai – nuo projektavimo iki kasdienės priežiūros.
Projektuoja infrastruktūros projektus, nuo kurių priklauso kelios komandos, vadovauja jiems ir kelia patikimumo kartelę. Bendra infrastruktūra, kuria naudojasi didžioji inžinerijos dalis, ir projektai, pavyzdžiui, migracijos, paliečiantys kiekvieną komandą.
Nustato įmonės platformos kryptį ir atsako už jos patikimumą, saugumą ir kaštus. Visa produkcinė platforma, jos kelerių metų kryptis ir biudžetas visoms inžinerijos komandoms.
Bendroms frazėms, tokioms kaip „infrastruktūros kodas“ ar „konvejeriai“, lengva pritarti, bet sunku jas įvertinti. Pakeiskite jas savo tikrais įrankiais ir praktikomis, kad Junior inžinierius tiksliai žinotų, ką jam reikia išmokti pirmiausia.
Kai turite vieną–tris DevOps inžinierius, paprastai užtenka Junior, DevOps inžinieriaus ir Senior lygių. Staff lygį pridėkite, kai kas nors iš tiesų nustato platformos kryptį ir atsako už jos biudžetą visoje inžinerijoje, o ne kaip pareigų pavadinimą labiausiai patyrusiam mažos komandos nariui.
Nurodykite, kuriame lygyje žmonės įsitraukia į budėjimų rotaciją, kada vadovauja incidentams ir kaip kompensuojamas budėjimo laikas. Neužrašyti budėjimų lūkesčiai – viena dažniausių priežasčių, kodėl infrastruktūros inžinieriai perdega ir išeina.
Kiekvieną DevOps lygį priskirkite programuotojo lygiui su tokiomis pat atsakomybės ribomis ir atlyginimu. Platformos darbas yra inžinerinis darbas, o suderinti karjeros laiptai palengvina perėjimus tarp produkto ir platformos komandų.
DUK
Griežtai kalbant, DevOps yra darbo būdas, o ne pareigų pavadinimas; praktikoje 20–200 žmonių įmonėse šie pavadinimai dažniausiai reiškia tą patį darbą su skirtingu akcentu: SRE daugiausia dėmesio skiria patikimumo tikslams – paprastai SLO ir klaidų biudžetams – bei incidentams, platformos inžinieriai – savitarnos įrankiams programuotojams, o DevOps inžinieriai – konvejeriams ir infrastruktūrai. Visus tris paprastai apima vieni karjeros laiptai; pakoreguokite kompetencijų formuluotes, užuot kūrę atskirus karjeros laiptus.
Dažniausiai tada, kai programuotojai pastebimą savaitės dalį praleidžia prie diegimų, aplinkų ir produkcinės aplinkos problemų, o ne prie funkcijų, arba kai klientai pradeda prašyti veikimo laiko įsipareigojimų ir saugumo patikrų. Daugeliui įmonių tai nutinka, kai inžinierių būna maždaug 15–30.
Taip, bet vertinkite, ką žmogus išmoko ir patobulino, o ne kiek iškvietimų atsakė. Gerai suvaldytas didelis incidentas, incidentų analizės, kurių veiksmai iš tiesų atliekami, ir sumažintas įspėjimų triukšmas – aiškūs kito lygio įrodymai. Dažnas budėjimas – ne.
Jie gali padėti išmokti platformą, bet neturėtų lemti lygio. Vertinkite, ką žmogus sukūrė ir prižiūrėjo jūsų aplinkoje, pagal kompetencijų matricą. Sertifikatas be tokių įrodymų kito lygio neparodo; tokie įrodymai be sertifikato – parodo.
Trijų ar keturių, nes tokio dydžio įmonių infrastruktūros komandos mažos. Šiame šablone jų keturi – Junior, DevOps inžinierius, Senior ir Staff – ir jie gerai dera su penkių lygių programuotojo karjeros laiptais, kai Staff lygiai sulygiuoti.
Sukonfigūruokite lygius ir įgūdžius savo komandai, vertinkite pagal juos žmones check-in pokalbiuose ir priimkite nuoseklius sprendimus dėl paaukštinimų.
Nemokamas planas · Mokėjimo kortelės nereikia
Inžinerija
Penki lygiai nuo Junior iki Principal ir šešios kompetencijos – nuo kodo išleidimo iki komandos auginimo.
Inžinerija
Keturi lygiai nuo Junior QA iki Lead QA inžinieriaus ir šešios kompetencijos – nuo testų projektavimo iki kokybės praktikų.
Inžinerija
Keturi lygiai nuo Engineering Manager iki VP of Engineering ir šešios vadovavimo kompetencijos.