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 QA iki Lead QA inžinieriaus ir šešios kompetencijos – nuo testų projektavimo iki kokybės praktikų.
Nemokamas planas · Mokėjimo kortelės nereikia
Šie karjeros laiptai skirti QA inžinieriams maždaug 20–200 žmonių programinės įrangos įmonėse, kur testuotojai dirba produkto komandose, visoje įmonėje jų gali būti vos keli, o tas pats žmogus rytą dažnai atlieka tiriamąjį testavimą, o po pietų rašo automatinius testus. Aprašyti keturi lygiai – nuo žmogaus, kuris mokosi gerai ištestuoti vieną funkciją, iki to, kuris sprendžia, kaip visa įmonė žiūri į kokybę. Aukščiausias lygis, Lead QA inžinierius, yra specialisto lygis, o ne vadovo pareigybė.
Kiekvieną lygį apibrėžia tai, ką žmogus daro ir kaip toli siekia jo darbas, o ne patirties metai ar užregistruotų klaidų skaičius. 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 žingsnis, rengdami įsivertinimus ir check-in pokalbius ir siekdami, kad paaukštinimo sprendimai skirtingose komandose būtų palyginami.
Laikykite šį šabloną juodraščiu. Jei jūsų QA inžinieriai nerašo automatinių testų arba didžiąją dalį testavimo atlieka patys programuotojai, pakeiskite formuluotes prieš paskelbdami karjeros laiptus: lūkestis, kurio jūsų aplinkoje niekas negali įvykdyti, tik kelia nusivylimą.
Testuoja aiškiai apibrėžtas funkcijas pagal esamus testavimo atvejus ir pažįsta produktą bei jo naudotojus.
Atsako už vienos komandos funkcijų testavimą – nuo reikalavimų skaitymo iki išleidimo patvirtinimo.
Formuoja, kaip viena ar dvi komandos užtikrina kokybę nuo pat pradžių, ir atsako už didesnių projektų testavimo strategiją.
Nustato įmonės požiūrį į kokybę ir padeda kiekvienai komandai išleisti su mažiau į produkcinę aplinką prasprūdusių klaidų.
Kiekviena eilutė – kompetencija, kiekvienas stulpelis – lygis. Skaitykite eilutę iš kairės į dešinę ir matysite, kaip auga lūkesčiai.
| Kompetencija | Junior QA inžinierius | QA inžinierius | Senior QA inžinierius | Lead QA inžinierius |
|---|---|---|---|---|
| Testų projektavimas ir analizė | Kruopščiai vykdo esamus testavimo atvejus, mažoms užduotims parašo naujus atvejus, apimančius pagrindinį scenarijų ir akivaizdžius ribinius atvejus, ir prieš pradėdamas testuoti išsiaiškina neaiškius reikalavimus. | Kiekvienai komandos funkcijai parašo testavimo planą, apimantį ribinius atvejus, teises, duomenų būsenas ir integracijas, ir dar prieš kūrimą peržiūri reikalavimus, kad pastebėtų spragas. | Projektuoja testavimo strategiją kelias funkcijas ar komandas apimantiems projektams, sprendžia, ką tikrinti vienetų, API ir end-to-end lygmeniu, ir sutelkia pastangas į dalis, kurios labiausiai linkusios sugesti. | Apibrėžia, kaip įmonė, remdamasi rizika ir naudojimo duomenimis, sprendžia, ką ir kaip išsamiai testuoti, ir pasirūpina, kad kiekviena komanda tai taikytų nuosekliai. |
| Testų automatizavimas | Laikydamasis nusistovėjusių sprendimų prideda automatinių testų į esamą karkasą, paleidžia testų rinkinį lokaliai ir praneša apie nepaaiškinamas nesėkmes, užuot kartojęs testus, kol jie praeis. | Automatizuoja komandos funkcijų regresinius testus, išlaiko juos stabilius ir skaitomus, o nestabilius testus taiso arba pašalina, užuot juos ignoravęs. | Projektuoja automatinių testų rinkinio struktūrą, įjungia jį į išleidimo konvejerį su protinga vykdymo trukme ir peržiūri programuotojų bei kitų QA inžinierių rašomus testus. | Parenka įmonės testavimo įrankius ir bendrą infrastruktūrą, subalansuoja testų piramidės sluoksnius visuose produktuose ir išlaiko visą rinkinį tokį greitą, kad komandos iš tiesų laukia jo rezultatų. |
| Klaidų tyrimas ir registravimas | Registruoja klaidas su aiškiais žingsniais, laukiamu ir faktiniu rezultatu bei aplinka, kad programuotojas galėtų atkartoti problemą neklausinėdamas. | Susiaurina klaidas naudodamas žurnalus, tinklo užklausų įrašus ir duomenų bazę, vertina jų kritiškumą pagal poveikį naudotojams ir patvirtina pataisymus, patikrindamas ir gretimus atvejus. | Tiria nepastoviai pasikartojančias ir tik produkcinėje aplinkoje pasireiškiančias problemas keliuose servisuose, pastebi pasikartojančių klaidų dėsningumus ir paverčia juos pasiūlymais, kurie pašalina visą klaidų klasę. | Atsako už tai, kaip įmonė seka klaidas ir nustato jų prioritetus, informuoja inžinerijos vadovybę apie prasprūdusių klaidų tendencijas ir pasirūpina, kad didžiausiems klaidų šaltiniams būtų skirta išteklių pašalinti. |
| Sprendimai dėl išleidimo ir rizikos | Prieš išleidimą atlieka jam paskirtas patikras, praneša, kas buvo ištestuota ir kas ne, ir išsako abejones patyrusesniam QA inžinieriui. | Aiškiai rekomenduoja išleisti ar neišleisti komandos versijas, paaiškindamas žinomas rizikas ir tai, kas liko neištestuota, ir dalyvauja patikrose po išleidimo. | Kartu su programuotojais sprendžia, kaip išleisti rizikingus pakeitimus – funkcijų jungikliai, laipsniškas diegimas, papildoma stebėsena, – ir vadovauja testavimui per incidentus ir skubius pataisymus. | Nustato išleidimo standartus, kurių laikosi kiekviena komanda, apibrėžia, kada išleidimą galima sustabdyti, ir yra tas, kurio vadovybė klausia, ar produktas pasirengęs dideliam paleidimui. |
| Kokybės praktikos | Laikosi komandos „atlikta“ apibrėžimo ir testavimo eigos ir atkreipia dėmesį į praleidžiamus ar painius žingsnius. | Dalyvauja užduočių tikslinimo ir projektavimo aptarimuose, kad anksti pridėtų priėmimo kriterijus ir testuojamumo klausimus, ir kartu su programuotojais aptaria, ką jie turėtų patikrinti savo testais. | Tobulina vienos ar dviejų komandų testavimo eigą – testavimo aplinkas, testinius duomenis, peržiūros kontrolinius sąrašus – ir matuoja, ar pokytis sumažino prasprūdusių klaidų. | Formuoja kokybės praktikas visoje inžinerijoje, sprendžia, kur dirba QA inžinieriai ir už ką atsako programuotojai, ir padaro kokybę bendra atsakomybe, o ne vienos komandos darbu. |
| Mentorystė ir dalijimasis žiniomis | Testuodamas dokumentuoja, ką sužino apie produktą, ir dalijasi naudingais radiniais bei įrankiais su komanda. | Atnaujina komandos testavimo dokumentaciją, supažindina naujus komandos narius su produkto sritimi ir paaiškina testavimo metodus besidomintiems programuotojams. | Sąmoningai mentoriauja Junior QA inžinieriams, veda programuotojams užsiėmimus apie testavimo metodus ir dalyvauja atrankos pokalbiuose į QA pareigybes. | Augina QA grupės įgūdžius ir karjeros kelius, apibrėžia, kaip QA inžinieriai atrenkami ir įvedami į darbą, ir ugdo naujus Senior ir Lead QA inžinierius. |
Slinkite lentelę į šoną, kad matytumėte visus lygius.
Atsisiųsti CSV Atsidaro su „Excel“, „Google Sheets“ ar „Numbers“.
Testuoja aiškiai apibrėžtas funkcijas pagal esamus testavimo atvejus ir pažįsta produktą bei jo naudotojus. Atskiros užduotys ar klaidų taisymai vienoje produkto srityje, o testavimo planus peržiūri patyrusesnis kolega.
Atsako už vienos komandos funkcijų testavimą – nuo reikalavimų skaitymo iki išleidimo patvirtinimo. Vienos produkto komandos funkcijos, įskaitant jų rankinius ir automatinius testus.
Formuoja, kaip viena ar dvi komandos užtikrina kokybę nuo pat pradžių, ir atsako už didesnių projektų testavimo strategiją. Vienos ar dviejų komandų testavimo strategija, automatinių testų rinkiniai ir sprendimai dėl išleidimo, taip pat komandų ribas peržengiantys projektai.
Nustato įmonės požiūrį į kokybę ir padeda kiekvienai komandai išleisti su mažiau į produkcinę aplinką prasprūdusių klaidų. Viso produkto kokybė: bendra testavimo infrastruktūra, išleidimo standartai ir tai, kiek QA žmonių reikia ir kaip jie dirba.
Jei jūsų QA inžinieriai daugiausia atlieka tiriamąjį testavimą, sutrumpinkite testų automatizavimo eilutę ir išplėskite testų projektavimo ir analizės eilutę. Jei jie daugiausia kuria automatinius testus, kelkite aukštesnius kodo kokybės lūkesčius. Bet kuriuo atveju aiškiai įvardykite pasirinkimą, kad niekas nebūtų vertinamas pagal darbą, kuriam nebuvo samdytas.
Kai QA inžinierių du ar trys, įmonei paprastai užtenka Junior, QA inžinieriaus ir Senior lygių. Lead lygį pridėkite, kai kas nors iš tiesų nustato kokybės standartus visoms komandoms, o ne kaip atlygį ilgiausiai dirbančiam testuotojui. Šiuose karjeros laiptuose Lead yra specialisto lygis; jei jūsų QA lyderis dar ir vadovauja testuotojams, pridėkite lūkesčius dėl žmonių iš Engineering Manager karjeros laiptų.
Kiekvieną QA lygį priskirkite programuotojo lygiui su panašiomis atsakomybės ribomis ir atlyginimu. Kai Senior QA inžinierius atitinka Senior programuotoją, perėjimas iš vienos karjeros krypties į kitą tampa žingsniu į šoną, o ne pažeminimu ar šuoliu.
Check-in pokalbiams ir paaukštinimo atvejams rinkite pavyzdžius: testavimo planą, kuris sugavo brangiai galėjusią kainuoti klaidą, nestabilų testų rinkinį, kuris tapo patikimas, ar sprendimą dėl išleidimo, kuris pasiteisino. Užregistruotų klaidų skaičiavimas apdovanoja triukšmą ir baudžia stabilių komandų testuotojus.
DUK
20–200 žmonių įmonei paprastai užtenka trijų ar keturių, nes QA grupės mažos. Šiame šablone jų keturi: Junior QA inžinierius, QA inžinierius, Senior QA inžinierius ir Lead QA inžinierius. Penktą pridėkite tik tada, kai darbo apimtis iš tiesų išauga už kokybės standartų nustatymo visam produktui ribų.
Daugumoje mažesnių įmonių – taip. Darbo esmė – rizikos supratimas, testų projektavimas ir sprendimai dėl išleidimo – ta pati; skiriasi tik įrankiai. Palikite vienus karjeros laiptus ir kiekvienam žmogui ar komandai susitarkite, kiek taikoma testų automatizavimo eilutė.
Taip, ir geriausia tai daryti kaip suplanuotą perėjimą. Palyginkite žmogų su programuotojo karjeros laiptais, susitarkite dėl kelių tobulėjimo užduočių, pavyzdžiui, atsakyti už nedideles funkcijas ar klaidų taisymus, ir perkelkite jį, kai jis nuosekliai atitiks tą lygį. Testavimo patirtis paprastai padaro žmogų stipresniu, o ne silpnesniu programuotoju.
Žiūrėkite į rezultatus ir elgesį: kiek klaidų iš jo srities prasprūdo į produkcinę aplinką, koks patikimas ir greitas automatinių testų rinkinys, kaip anksti jis iškelia rizikas ir kaip pasiteisino sprendimai dėl išleidimo. Reguliariuose check-in pokalbiuose aptarkite konkrečius pavyzdžius pagal karjeros laiptus, užuot rėmęsi vien skydeliais.
Fiksuoto santykio nėra. Daugelis tokio dydžio įmonių turi vieną QA inžinierių keturiems–aštuoniems programuotojams, tačiau tinkamas skaičius priklauso nuo to, kiek programuotojai testuoja savo darbą patys ir kiek jūsų naudotojams kainuoja klaida. Stebėkite prasprūdusias klaidas ir išleidimų vėlavimus ir samdykite, kai kuris nors iš jų nuolat auga.
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 iki Staff DevOps inžinieriaus ir šešios kompetencijos – nuo infrastruktūros iki pagalbos programuotojams.
Inžinerija
Keturi lygiai nuo Engineering Manager iki VP of Engineering ir šešios vadovavimo kompetencijos.