Inženjering
Softverski inženjer
Pet nivoa od Juniora do Principala i šest kompetencija — od isporuke koda do razvoja tima.
- 5 nivoa
- 6 kompetencija
Šablon karijerne lestvice
Četiri nivoa od Junior QA do Lead QA inženjera, kroz šest kompetencija od dizajna testova do praksi kvaliteta.
Besplatan plan · Platna kartica nije potrebna
Ova karijerna lestvica je namenjena QA inženjerima u softverskim kompanijama od približno 20 do 200 ljudi, gde testeri rade unutar produktnih timova, u celoj kompaniji ih može biti tek nekoliko, a ista osoba često ujutru radi eksplorativno testiranje, a popodne piše automatizovane provere. Opisuje četiri nivoa, od nekoga ko uči da dobro testira jednu funkcionalnost do osobe koja odlučuje kako cela kompanija pristupa kvalitetu. Najviši nivo, Lead QA inženjer, jeste stručni nivo, a ne menadžerska uloga.
Svaki nivo je definisan onim što osoba radi i dokle njen rad doseže, a ne godinama iskustva ili brojem prijavljenih grešaka. Pročitajte red matrice kompetencija sleva nadesno da vidite kako jedno očekivanje raste; pročitajte odeljak jednog nivoa da vidite sve što se na tom nivou očekuje. Koristite je da objasnite šta znači sledeći korak, da vodite samoprocene i check-ine i da odluke o unapređenju ostanu uporedive između timova.
Shvatite je kao nacrt. Ako vaši QA inženjeri ne pišu automatizaciju ili ako većinu testiranja rade programeri, promenite formulacije pre nego što lestvicu objavite — očekivanje koje u vašem okruženju niko ne može da ispuni samo stvara frustraciju.
Testira jasno definisane funkcionalnosti prema postojećim test slučajevima i upoznaje proizvod i njegove korisnike.
Odgovara za testiranje funkcionalnosti u jednom timu, od čitanja zahteva do odobravanja izdanja.
Oblikuje način na koji jedan ili dva tima ugrađuju kvalitet i odgovara za strategiju testiranja većih projekata.
Postavlja pristup kompanije kvalitetu i pomaže svakom timu da isporučuje sa manje grešaka koje stignu do korisnika.
Svaki red je kompetencija, a svaka kolona nivo. Čitajte red sleva nadesno da biste videli kako očekivanja rastu.
| Kompetencija | Junior QA inženjer | Medior QA inženjer | Senior QA inženjer | Lead QA inženjer |
|---|---|---|---|---|
| Dizajn i analiza testova | Pažljivo izvršava postojeće test slučajeve, za male korisničke priče piše nove slučajeve koji pokrivaju glavni tok i očigledne granične slučajeve i pre početka testiranja postavlja pitanja o nejasnim zahtevima. | Za svaku funkcionalnost u timu piše plan testiranja koji pokriva granične slučajeve, dozvole, stanja podataka i integracije i pregleda zahteve pre početka razvoja da bi uočio praznine. | Dizajnira strategiju testiranja za projekte koji obuhvataju više funkcionalnosti ili timova, odlučuje šta se pokriva na nivou unit, API i end-to-end testova i usmerava trud na delove za koje je najverovatnije da će se pokvariti. | Definiše kako kompanija odlučuje šta i koliko detaljno testira, na osnovu rizika i podataka o korišćenju, i stara se da ga svaki tim dosledno primenjuje. |
| Automatizacija testiranja | Dodaje automatizovane testove u postojeći framework prateći ustaljene obrasce, lokalno pokreće skup testova i prijavljuje padove koje ne ume da objasni, umesto da ih ponovo pokreće dok ne prođu. | Automatizuje regresione testove za funkcionalnosti tima, održava ih stabilnim i čitljivim i ispravlja ili uklanja nestabilne testove umesto da ih ignoriše. | Dizajnira strukturu automatizovanog skupa testova, uključuje ga u pipeline isporuke sa razumnim vremenom izvršavanja i pregleda testove koje pišu programeri i drugi QA inženjeri. | Bira alate za testiranje i zajedničku infrastrukturu kompanije, balansira slojeve piramide testiranja u svim proizvodima i drži ceo skup testova dovoljno brzim da ga timovi zaista sačekaju. |
| Istraživanje i prijavljivanje grešaka | Prijavljuje greške sa jasnim koracima, očekivanim i stvarnim rezultatom i okruženjem, tako da programer može da reprodukuje problem bez dodatnih pitanja. | Sužava uzrok greške pomoću logova, mrežnog saobraćaja i baze podataka, procenjuje njenu ozbiljnost prema uticaju na korisnike i potvrđuje ispravke, uključujući i slučajeve oko njih. | Istražuje povremene probleme i probleme koji se javljaju samo u produkciji kroz više servisa, uočava obrasce u ponovljenim greškama i pretvara ih u predloge koji uklanjaju čitavu klasu grešaka. | Odgovara za način na koji kompanija prati greške i određuje njihove prioritete, izveštava inženjersko rukovodstvo o trendovima grešaka koje su stigle do korisnika i stara se da najveći izvori grešaka dobiju finansirane ispravke. |
| Procena izdanja i rizika | Pre izdanja završava dodeljene provere, izveštava šta je testirano, a šta nije, i ukazuje na nedoumice iskusnijem QA inženjeru. | Daje jasnu preporuku da li izdanje tima ide ili ne, objašnjava poznate rizike i ono što je ostalo netestirano i učestvuje u proverama posle izdanja. | Zajedno sa programerima određuje pristup izdavanju rizičnih izmena — feature flagove, postepeno uvođenje, dodatni monitoring — i vodi testiranje tokom incidenata i hitnih ispravki. | Postavlja standarde izdanja po kojima radi svaki tim, definiše kada izdanje može da se zaustavi i osoba je koju rukovodstvo pita da li je proizvod spreman za veliko lansiranje. |
| Prakse kvaliteta | Prati timsku definiciju završenog posla (definition of done) i tok testiranja i ukazuje na korake koji se preskaču ili zbunjuju. | Učestvuje u refinementu i diskusijama o dizajnu kako bi rano dodao kriterijume prihvatanja i pitanja testabilnosti i radi sa programerima na tome šta da pokriju sopstvenim testovima. | Poboljšava tok testiranja jednog ili dva tima — test okruženja, test podatke, kontrolne liste za pregled — i meri da li je promena smanjila broj grešaka koje stignu do korisnika. | Oblikuje prakse kvaliteta u celom inženjeringu, odlučuje gde su raspoređeni QA inženjeri i za šta odgovaraju programeri i čini kvalitet zajedničkom odgovornošću, a ne poslom jednog tima. |
| Mentorstvo i deljenje znanja | Dokumentuje ono što tokom testiranja sazna o proizvodu i deli sa timom korisne nalaze i alate. | Održava ažurnom test dokumentaciju tima, uvodi nove kolege u svoju oblast proizvoda i objašnjava tehnike testiranja programerima koji pitaju. | Namerno je mentor junior QA inženjerima, drži programerima sesije o pristupima testiranju i učestvuje u intervjuima za QA pozicije. | Razvija veštine i karijerne puteve QA grupe, definiše kako se QA inženjeri zapošljavaju i uvode u posao i razvija sledeće senior i lead QA inženjere. |
Pomerajte tabelu u stranu da biste videli sve nivoe.
Preuzmite kao CSV Otvara se u Excelu, Google Sheets-u ili Numbers-u.
Testira jasno definisane funkcionalnosti prema postojećim test slučajevima i upoznaje proizvod i njegove korisnike. Pojedinačne korisničke priče ili ispravke grešaka u jednom delu proizvoda, sa planovima testiranja koje pregleda neko iskusniji.
Odgovara za testiranje funkcionalnosti u jednom timu, od čitanja zahteva do odobravanja izdanja. Funkcionalnosti jednog produktnog tima, uključujući njihove manuelne i automatizovane testove.
Oblikuje način na koji jedan ili dva tima ugrađuju kvalitet i odgovara za strategiju testiranja većih projekata. Strategija testiranja, automatizovani skupovi testova i odluke o izdanjima jednog ili dva tima, plus projekti koji prelaze granice timova.
Postavlja pristup kompanije kvalitetu i pomaže svakom timu da isporučuje sa manje grešaka koje stignu do korisnika. Kvalitet celog proizvoda: zajednička infrastruktura za testiranje, standardi izdanja i način na koji se QA popunjava i sprovodi.
Ako se vaši QA inženjeri fokusiraju na eksplorativno testiranje, skratite red Automatizacija testiranja i proširite Dizajn i analiza testova. Ako uglavnom grade automatizaciju, podignite očekivanja za kvalitet koda. U oba slučaja izbor učinite izričitim, da niko ne bi bio procenjivan prema poslu za koji nije zaposlen.
Sa dva ili tri QA inženjera kompaniji su obično potrebni samo junior, medior i senior nivo. Lead dodajte kada neko zaista postavlja standarde kvaliteta za svaki tim, a ne kao nagradu za najdužeg testera u kompaniji. U ovoj lestvici Lead je stručni nivo; ako vaš QA lead upravlja i testerima, dodajte očekivanja vezana za ljude iz lestvice za engineering menadžere.
Svaki QA nivo povežite sa nivoom softverskog inženjera uporedivog obima i plate. Kada Senior QA inženjer stoji pored Senior inženjera, prelazak između ta dva puta postaje korak u stranu, a ne degradacija ili skok.
Za check-ine i predloge za unapređenje prikupite primere kao što su plan testiranja koji je otkrio skupu grešku, nestabilan skup testova koji je postao pouzdan ili odluka o izdanju koja se pokazala ispravnom. Brojanje prijavljenih grešaka nagrađuje buku i kažnjava testere u stabilnim timovima.
Pitanja i odgovori
Za kompaniju od 20 do 200 ljudi obično su dovoljna tri ili četiri, jer su QA grupe male. Ovaj šablon koristi četiri: Junior QA inženjer, Medior QA inženjer, Senior QA inženjer i Lead QA inženjer. Peti dodajte samo kada obim posla zaista preraste postavljanje standarda kvaliteta za ceo proizvod.
U većini manjih kompanija — da. Srž posla — razumevanje rizika, dizajn testova i procena izdanja — ista je; razlikuju se samo alati. Zadržite jednu lestvicu i dogovorite, po osobi ili po timu, u kojoj meri se primenjuje red Automatizacija testiranja.
Može, i najbolje funkcioniše kao planiran prelazak. Uporedite osobu sa lestvicom softverskog inženjera, dogovorite nekoliko razvojnih aktivnosti, kao što je odgovornost za manje funkcionalnosti ili ispravke grešaka, i prebacite je kada dosledno ispunjava taj nivo. Iskustvo u testiranju obično od ljudi pravi jače, a ne slabije inženjere.
Gledajte ishode i ponašanje: greške iz njegove oblasti koje su stigle do produkcije, pouzdanost i brzinu automatizovanih testova, koliko rano ukazuje na rizike i kako su se pokazale odluke o izdanjima. Na redovnim check-inima razgovarajte o konkretnim primerima u odnosu na lestvicu, umesto da se oslanjate samo na dashboarde.
Ne postoji fiksan odnos. Mnoge kompanije ove veličine rade sa jednim QA inženjerom na svakih četiri do osam programera, ali pravi broj zavisi od toga koliko programeri testiraju sopstveni rad i koliko je greška skupa za vaše korisnike. Pratite greške koje stignu do korisnika i kašnjenja izdanja i zaposlite nekoga kada bilo šta od toga stalno raste.
Podesite njene nivoe i veštine za svoj tim, procenjujte ljude prema njima u check-inima i održite doslednost odluka o unapređenju.
Besplatan plan · Platna kartica nije potrebna
Inženjering
Pet nivoa od Juniora do Principala i šest kompetencija — od isporuke koda do razvoja tima.
Inženjering
Četiri nivoa od Junior do Staff DevOps inženjera, kroz šest kompetencija od infrastrukture do podrške programerima.
Inženjering
Četiri nivoa od Engineering Managera do VP of Engineering, kroz šest menadžerskih kompetencija.