Inženjering
Softverski inženjer
Pet razina od juniora do principala i šest kompetencija, od isporuke koda do razvoja tima.
- 5 razina
- 6 kompetencija
Predložak karijerne ljestvice
Četiri razine od junior do staff DevOps inženjera i šest kompetencija, od infrastrukture do podrške programerima.
Besplatni paket · Kreditna kartica nije potrebna
Ova karijerna ljestvica namijenjena je DevOps, platformskim i infrastrukturnim inženjerima u tvrtkama s otprilike 20 do 200 ljudi. U tvrtki te veličine infrastrukturni tim obično čini jedna do šest osoba koje vode cloud račune, pipelineove isporuke, monitoring i dežurstva i koje jednako vremena provode pomažući programerima kao i radeći na serverima. Opisuje četiri razine, od osobe koja radi jasno omeđene promjene infrastrukture do osobe koja odgovara za smjer platforme tvrtke. Najviša razina, Staff DevOps inženjer, stručna je razina; vođenje infrastrukturnog tima zaseban je posao.
Svaka je razina definirana onim što osoba radi i koliki joj se dio sustava povjerava, a ne godinama iskustva ili brojem alata u životopisu. Pročitajte redak matrice kompetencija slijeva nadesno da vidite kako jedno očekivanje raste; pročitajte odjeljak jedne razine da vidite sve što se na njoj očekuje. Upotrijebite je da objasnite što znači sljedeća razina, da strukturirate check-ine i da donosite odluke o promaknuću koje možete obraniti.
Prilagodite je prije objave. Zamijenite općenite formulacije vlastitim alatima i praksama i izbacite dijelove koji pripadaju drugom timu — na primjer, ako za sigurnost ili baze podataka odgovara netko drugi.
Uz pregled radi jasno omeđene promjene infrastrukture i pipelineova i uči kako funkcionira produkcija.
Odgovara za dijelove infrastrukture od početka do kraja i u potpunosti sudjeluje u dežurstvima.
Dizajnira i vodi infrastrukturne projekte o kojima ovisi više timova i podiže standard pouzdanosti.
Određuje smjer platforme tvrtke i odgovara za njezinu pouzdanost, sigurnost i troškove.
Svaki redak je kompetencija, a svaki stupac razina. Čitajte redak slijeva nadesno da biste vidjeli kako očekivanja rastu.
| Kompetencija | Junior DevOps inženjer | Medior DevOps inženjer | Senior DevOps inženjer | Staff DevOps inženjer |
|---|---|---|---|---|
| Infrastruktura kao kod | Mijenja postojeći infrastrukturni kod slijedeći obrasce koji su već uspostavljeni, prije primjene provjerava planirani diff i nikad ne mijenja produkciju ručno a da prije ne pita. | Piše infrastrukturne module za višekratnu upotrebu za nove servise i okruženja, sigurno postupa sa stanjem i tajnama i uklanja resurse koji se više ne koriste. | Dizajnira raspored infrastrukturnog koda i okruženja tvrtke, vodi promjene poput nadogradnje mreže ili klastera s testiranim planom povratka i drži troškove clouda vidljivima po timu. | Bira temeljne gradivne elemente i pružatelje usluga platforme za sljedećih nekoliko godina, postavlja standarde koje slijedi infrastruktura svakog tima i s vodstvom odgovara za infrastrukturni proračun. |
| Pipelineovi za build i isporuku | Popravlja pokvarene korake pipelinea, dodaje jednostavne poslove u postojeće pipelineove i programeru objašnjava zašto mu build nije prošao. | Gradi i održava cijeli pipeline za servis — build, testove, artefakte, deploy u svako okruženje — i skraćuje spore korake na koje se programeri žale. | Dizajnira zajedničke predloške pipelineova koje koristi svaki tim, uvodi sigurnije metode izdavanja poput canary ili blue-green deploya i prati učestalost deploya i stopu neuspjeha. | Definira kako cijela tvrtka isporučuje softver, od grananja do povratka na prethodnu verziju, i uklanja uska grla koja usporavaju isporuku u svim timovima. |
| Pouzdanost i odgovor na incidente | Prati iskusnije kolege na dežurstvu, za poznata upozorenja slijedi runbookove i brzo eskalira s informacijama koje sljedeća osoba treba. | U potpunosti sudjeluje u dežurstvima, većinu incidenata u svom području rješava bez pomoći, piše runbookove za ono što je popravio i testira sigurnosne kopije tako da ih stvarno vrati. | Vodi odgovor na velike incidente, vodi post-mortem analize bez traženja krivca i dovodi popravne mjere do kraja te planira kapacitete i failover za kritične sustave. | S produktom i vodstvom postavlja ciljeve pouzdanosti, dizajnira proces dežurstva i incidenata za cijeli inženjering i planira za katastrofe poput gubitka regije ili pružatelja usluge. |
| Monitoring i opservabilnost | Dodaje nadzorne ploče i upozorenja slijedeći postojeće primjere i kad nešto izgleda pogrešno, najprije provjerava logove i metrike. | Postavlja logiranje, metrike i upozorenja za nove servise, podešava upozorenja tako da svaki poziv dežurnom traži akciju i pomaže programerima da u podacima pronađu ono što trebaju. | Dizajnira pristup opservabilnosti za glavne sustave tvrtke, definira signale zdravlja servisa prema kojima se timovi mjere i smanjuje buku upozorenja u svim timovima. | Bira alate za opservabilnost tvrtke i njihov model troškova i brine se da vodstvo može vidjeti zdravlje platforme a da ne mora pitati inženjera. |
| Sigurnost i pristupi | Slijedi pravila tima za tajne i pristupe, primjenjuje rutinske zakrpe i odmah prijavljuje sve što izgleda kao sigurnosni problem. | Upravlja pristupima i tajnama za svoje servise po načelu najmanjih ovlasti, zakrpava ranjivosti prema njihovoj ozbiljnosti i popravlja nalaze sigurnosnih skeniranja. | Dizajnira mrežne granice, upravljanje identitetima i tajnama na cijeloj platformi, priprema dokaze za sigurnosne provjere klijenata i vodi odgovor na sigurnosne incidente. | Zajedno s vodstvom odgovara za sigurnosni položaj platforme, postavlja kontrole koje zahtijeva usklađenost (na primjer SOC 2 ili ISO 27001) i čini siguran put najlakšim za svaki tim. |
| Podrška programerima i suradnja | Odgovara na pitanja programera o okruženjima i pipelineovima, dokumentira popravke koje napravi i rano traži pregled. | Piše jasne upute za uobičajene zadatke, s programerima u paru radi na deployu i debugiranju njihovih servisa i uvodi nove kolege u infrastrukturu. | Gradi samoposlužne alate pomoću kojih timovi stvaraju servise i okruženja bez otvaranja tiketa, mentorira druge DevOps inženjere i sudjeluje u zapošljavanju. | Oblikuje platformu kao interni proizvod kojem su programeri korisnici, odlučuje za što odgovaraju timovi, a za što platformski tim, i razvija sljedeće senior inženjere. |
Pomaknite tablicu vodoravno da biste vidjeli sve razine.
Preuzmi kao CSV Otvara se u Excelu, Google tablicama ili Numbersu.
Uz pregled radi jasno omeđene promjene infrastrukture i pipelineova i uči kako funkcionira produkcija. Pojedinačne promjene u postojećem infrastrukturnom kodu i pipelineovima, koje planira i pregledava netko iskusniji.
Odgovara za dijelove infrastrukture od početka do kraja i u potpunosti sudjeluje u dežurstvima. Servisi, okruženja ili pipelineovi za jedan ili dva produktna tima, od dizajna do svakodnevnog rada.
Dizajnira i vodi infrastrukturne projekte o kojima ovisi više timova i podiže standard pouzdanosti. Zajednička infrastruktura koju koristi većina inženjeringa i projekti poput migracija koji dotiču svaki tim.
Određuje smjer platforme tvrtke i odgovara za njezinu pouzdanost, sigurnost i troškove. Cijela produkcijska platforma, njezin višegodišnji smjer i proračun, za sve inženjerske timove.
S općenitim izrazima poput „infrastrukturni kod“ ili „pipelineovi“ lako se složiti, a teško ih je procijeniti. Zamijenite ih stvarnim alatima i praksama kako bi junior inženjer točno znao što se od njega očekuje da najprije nauči.
S jednim do tri DevOps inženjera obično su dovoljne junior, medior i senior razine. Staff dodajte kad netko stvarno određuje smjer platforme i odgovara za njezin proračun u cijelom inženjeringu, a ne kao naziv za najiskusniju osobu u malom timu.
Navedite na kojoj se razini ljudi uključuju u raspored dežurstava, kada vode incidente i kako se vrijeme dežurstva nadoknađuje. Nenapisana očekivanja o dežurstvu jedan su od najčešćih razloga zbog kojih infrastrukturni inženjeri izgore i odu.
Svaku DevOps razinu povežite s razinom softverskog inženjera istog opsega i plaće. Rad na platformi inženjerski je rad, a usklađene ljestvice olakšavaju prelaske između produktnih i platformskih timova.
Česta pitanja
Strogo uzevši, DevOps je način rada, a ne naziv radnog mjesta; u praksi, u tvrtkama od 20 do 200 ljudi ti nazivi uglavnom opisuju isti posao s drugačijim naglaskom: SRE-ovi se usredotočuju na ciljeve pouzdanosti — obično SLO-ove i budžete grešaka — i incidente, platformski inženjeri na samoposlužne alate za programere, a DevOps inženjeri na pipelineove i infrastrukturu. Jedna ljestvica obično pokriva sva tri; prilagodite formulacije kompetencija umjesto da stvarate zasebne ljestvice.
Obično kad programeri primjetan dio tjedna troše na deploye, okruženja i probleme u produkciji umjesto na funkcionalnosti ili kad klijenti počnu tražiti obveze o dostupnosti i sigurnosne provjere. U mnogim tvrtkama to se događa na otprilike 15 do 30 inženjera.
Da, ali računajte ono što ljudi nauče i poboljšaju, a ne na koliko su poziva odgovorili. Dobro vođenje velikog incidenta, post-mortem analize čije se mjere stvarno provedu i smanjenje buke upozorenja jasni su dokazi za sljedeću razinu. Sama činjenica da netko često dežura nije.
Mogu nekome pomoći da nauči platformu, ali ne bi trebali odlučivati o razini. Procijenite što je osoba izgradila i vodila u vašem okruženju prema matrici kompetencija. Certifikat bez takvih dokaza ne pokazuje sljedeću razinu; takvi dokazi bez certifikata pokazuju.
Tri ili četiri, jer su infrastrukturni timovi u tvrtkama ove veličine mali. Ovaj predložak koristi četiri — junior, medior, senior i staff — i dobro funkcionira uz ljestvicu za softverske inženjere s pet razina, uz usklađene staff razine.
Postavite njezine razine i vještine za svoj tim, procjenjujte ljude prema njima u check-inima i održite dosljednost odluka o promaknućima.
Besplatni paket · Kreditna kartica nije potrebna
Inženjering
Pet razina od juniora do principala i šest kompetencija, od isporuke koda do razvoja tima.
Inženjering
Četiri razine od junior do lead QA inženjera i šest kompetencija, od dizajna testova do praksi kvalitete.
Inženjering
Četiri razine od Engineering Managera do VP of Engineering, kroz šest menadžerskih kompetencija.