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 Lead QA inžiniera a šesť kompetencií – od návrhu testov po postupy kvality.
Bezplatný plán · Bez platobnej karty
Tento kariérny rebríček je pre QA inžinierov v softvérových firmách s približne 20 až 200 ľuďmi, kde testeri sedia priamo v produktových tímoch, v celej firme ich môže byť len zopár a ten istý človek často ráno robí prieskumné testovanie a poobede píše automatizované testy. Opisuje štyri úrovne – od človeka, ktorý sa učí dobre otestovať jednu funkciu, až po toho, kto rozhoduje, ako celá firma pristupuje ku kvalite. Najvyššia úroveň, Lead QA inžinier, patrí na odbornú dráhu a nie je to manažérska rola.
Každú úroveň definuje to, čo človek robí a kam až jeho práca siaha, nie roky praxe ani počet nahlásených chýb. 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ší krok, na sebahodnotenia a check-iny a na to, aby boli rozhodnutia o povýšení porovnateľné naprieč tímami.
Berte ho ako návrh. Ak vaši QA inžinieri nepíšu automatizáciu alebo ak väčšinu testovania robia vývojári, pred zverejnením rebríčka formulácie zmeňte – očakávanie, ktoré vo vašom prostredí nikto nemôže splniť, len vyvoláva frustráciu.
Testuje jasne zadané funkcie podľa existujúcich testovacích prípadov a spoznáva produkt a jeho používateľov.
Zodpovedá za testovanie funkcií v jednom tíme – od čítania požiadaviek po schválenie vydania.
Formuje, ako jeden či dva tímy zabudovávajú kvalitu do práce, a zodpovedá za testovaciu stratégiu väčších projektov.
Určuje prístup firmy ku kvalite a pomáha každému tímu dodávať s menším počtom chýb, ktoré uniknú do produkcie.
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 QA inžinier | Medior QA inžinier | Senior QA inžinier | Lead QA inžinier |
|---|---|---|---|---|
| Návrh testov a analýza | Starostlivo vykonáva existujúce testovacie prípady, pre malé user stories píše nové prípady pokrývajúce hlavný scenár a zjavné hraničné prípady a pred začatím testovania sa pýta na nejasné požiadavky. | Pre každú funkciu v tíme píše testovací plán, ktorý pokrýva hraničné prípady, oprávnenia, stavy dát a integrácie, a ešte pred začiatkom vývoja kontroluje požiadavky, aby odhalil medzery. | Navrhuje testovaciu stratégiu pre projekty zasahujúce do viacerých funkcií či tímov, rozhoduje, čo pokryť na úrovni unit, API a end-to-end testov, a sústreďuje úsilie na časti, ktoré sa najpravdepodobnejšie pokazia. | Definuje, ako firma na základe rizika a dát o používaní rozhoduje, čo testovať a do akej hĺbky, a dbá na to, aby to každý tím uplatňoval konzistentne. |
| Automatizácia testov | Pridáva automatizované testy do existujúceho frameworku podľa zavedených vzorov, spúšťa sadu lokálne a zlyhania, ktoré nevie vysvetliť, nahlási namiesto toho, aby testy spúšťal znova, kým neprejdú. | Automatizuje regresné testy pre funkcie tímu, udržiava ich stabilné a čitateľné a nestabilné testy opraví alebo odstráni, namiesto toho, aby ich ignoroval. | Navrhuje štruktúru sady automatizovaných testov, zapojí ju do CI/CD pipeline s rozumnými časmi behu a robí review testov, ktoré píšu vývojári a ďalší QA inžinieri. | Vyberá testovacie nástroje a spoločnú infraštruktúru firmy, vyvažuje vrstvy testovacej pyramídy naprieč produktmi a udržiava celú sadu dosť rýchlu na to, aby na ňu tímy naozaj čakali. |
| Analýza a hlásenie chýb | Píše hlásenia chýb s jasnými krokmi, očakávaným a skutočným výsledkom a prostredím, aby vývojár vedel problém reprodukovať bez doplňujúcich otázok. | Zužuje príčinu chýb pomocou logov, sieťovej komunikácie a databázy, posudzuje ich závažnosť podľa dopadu na používateľov a overuje opravy vrátane súvisiacich prípadov. | Skúma občasné problémy a problémy, ktoré sa objavujú len v produkcii, naprieč službami, odhaľuje vzorce v opakujúcich sa chybách a premieňa ich na návrhy, ktoré odstránia celú triedu chýb. | Zodpovedá za to, ako firma eviduje chyby a určuje ich priority, informuje vedenie vývoja o trendoch v chybách, ktoré unikli do produkcie, a dbá na to, aby najväčšie zdroje chýb dostali financované opravy. |
| Rozhodovanie o vydaní a rizikách | Pred vydaním dokončí pridelené kontroly, oznámi, čo sa otestovalo a čo nie, a obavy posunie skúsenejšiemu QA inžinierovi. | Pri vydaniach tímu dáva jasné odporúčanie áno alebo nie, vysvetľuje známe riziká a to, čo zostalo neotestované, a zúčastňuje sa na kontrolách po vydaní. | Spolu s vývojármi rozhoduje o spôsobe vydania rizikových zmien – feature flagy, postupné nasadenie, dodatočný monitoring – a vedie testovanie počas incidentov a hotfixov. | Stanovuje štandardy vydávania, podľa ktorých pracuje každý tím, definuje, kedy sa dá vydanie zablokovať, a je tým, koho sa vedenie pýta, či je produkt pripravený na veľké spustenie. |
| Postupy kvality | Dodržiava definíciu hotového (definition of done) a testovací postup tímu a upozorňuje na kroky, ktoré sa vynechávajú alebo sú mätúce. | Zúčastňuje sa na refinemente a diskusiách o návrhu, aby včas doplnil akceptačné kritériá a otázky testovateľnosti, a s vývojármi v pároch rieši, čo pokryť v ich vlastných testoch. | Zlepšuje testovací postup jedného či dvoch tímov – testovacie prostredia, testovacie dáta, kontrolné zoznamy pre review – a meria, či zmena znížila počet chýb, ktoré unikli do produkcie. | Formuje postupy kvality v celom vývoji, rozhoduje, kde budú QA inžinieri zaradení a za čo zodpovedajú vývojári, a robí z kvality spoločnú zodpovednosť, nie prácu jedného tímu. |
| Mentoring a zdieľanie znalostí | Počas testovania dokumentuje, čo sa o produkte dozvie, a užitočné zistenia a nástroje zdieľa s tímom. | Udržiava testovaciu dokumentáciu tímu aktuálnu, zaúča nových kolegov do produktovej oblasti a vývojárom, ktorí sa pýtajú, vysvetľuje testovacie techniky. | Cielene mentoruje junior QA inžinierov, pre vývojárov vedie stretnutia o prístupoch k testovaniu a zúčastňuje sa na pohovoroch na QA pozície. | Rozvíja zručnosti a kariérne cesty QA skupiny, definuje, ako sa QA inžinieri nabírajú a zaúčajú, a rozvíja ďalších senior a lead QA 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.
Testuje jasne zadané funkcie podľa existujúcich testovacích prípadov a spoznáva produkt a jeho používateľov. Jednotlivé user stories alebo opravy chýb v jednej oblasti produktu, s testovacími plánmi, ktoré skontroluje niekto skúsenejší.
Zodpovedá za testovanie funkcií v jednom tíme – od čítania požiadaviek po schválenie vydania. Funkcie jedného produktového tímu vrátane ich manuálnych a automatizovaných testov.
Formuje, ako jeden či dva tímy zabudovávajú kvalitu do práce, a zodpovedá za testovaciu stratégiu väčších projektov. Testovacia stratégia, sady automatizovaných testov a rozhodnutia o vydaní jedného či dvoch tímov a projekty presahujúce hranice tímov.
Určuje prístup firmy ku kvalite a pomáha každému tímu dodávať s menším počtom chýb, ktoré uniknú do produkcie. Kvalita celého produktu: spoločná testovacia infraštruktúra, štandardy vydávania a to, ako je QA obsadené a ako funguje.
Ak sa vaši QA inžinieri sústreďujú na prieskumné testovanie, skráťte riadok Automatizácia testov a rozšírte Návrh testov a analýzu. Ak väčšinou budujú automatizáciu, zvýšte očakávania na kvalitu kódu. Tak či onak, voľbu výslovne zapíšte, aby nikoho nehodnotili podľa práce, na ktorú ho neprijali.
Pri dvoch či troch QA inžinieroch firma zvyčajne potrebuje len úrovne junior, medior a senior. Úroveň Lead pridajte, keď niekto naozaj stanovuje štandardy kvality pre každý tím – nie ako odmenu pre testera, ktorý je vo firme najdlhšie. V tomto rebríčku je Lead odborná úroveň; ak váš QA lead aj vedie testerov, doplňte očakávania týkajúce sa ľudí z rebríčka Engineering Managera.
Priraďte každú QA úroveň k úrovni softvérového inžiniera s porovnateľným rozsahom a platom. Keď Senior QA inžinier stojí vedľa Senior vývojára, prechod medzi oboma dráhami je krokom do strany, a nie degradáciou či skokom.
Na check-iny a návrhy na povýšenie zbierajte príklady, ako je testovací plán, ktorý zachytil drahú chybu, nestabilná sada testov, ktorá sa stala spoľahlivou, alebo rozhodnutie o vydaní, ktoré sa osvedčilo. Počítanie nahlásených chýb odmeňuje šum a trestá testerov v stabilných tímoch.
Otázky a odpovede
Pre firmu s 20 až 200 ľuďmi zvyčajne stačia tri či štyri, pretože QA skupiny sú malé. Táto šablóna má štyri: Junior QA inžinier, Medior QA inžinier, Senior QA inžinier a Lead QA inžinier. Piatu pridajte, len keď rozsah práce naozaj presiahne stanovovanie štandardov kvality pre celý produkt.
Vo väčšine menších firiem áno. Jadro práce – pochopenie rizika, návrh testov a posúdenie vydaní – je rovnaké; líšia sa len nástroje. Ponechajte jeden rebríček a pre každého človeka či tím sa dohodnite, do akej miery platí riadok Automatizácia testov.
Áno, a najlepšie to funguje ako plánovaný presun. Porovnajte človeka s rebríčkom softvérového inžiniera, dohodnite sa na niekoľkých rozvojových aktivitách, napríklad na zodpovednosti za malé funkcie či opravy chýb, a presuňte ho, keď bude danú úroveň sústavne spĺňať. Skúsenosti s testovaním z neho zvyčajne urobia lepšieho vývojára, nie horšieho.
Pozerajte sa na výsledky a správanie: chyby, ktoré v jeho oblasti unikli do produkcie, spoľahlivosť a rýchlosť automatizovanej sady, ako včas upozorní na riziká a ako sa osvedčili rozhodnutia o vydaní. Konkrétne príklady preberajte podľa rebríčka na pravidelných check-inoch, namiesto toho, aby ste sa spoliehali len na dashboardy.
Pevný pomer neexistuje. Mnohé firmy tejto veľkosti fungujú s jedným QA inžinierom na štyroch až ôsmich vývojárov, no správny počet závisí od toho, koľko si vývojári testujú vlastnú prácu a ako drahá je chyba pre vašich používateľov. Sledujte chyby, ktoré uniknú do produkcie, a oneskorenia vydaní a nabírajte, keď niektoré z nich stále rastie.
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 Staff DevOps inžiniera a šesť kompetencií – od infraštruktúry po podporu vývojárov.
Vývoj
Štyri úrovne od Engineering Managera po VP of Engineering a šesť manažérskych kompetencií.