qa-hiring-kit
End-to-end structured hiring for QA / SDET / automation / test-lead / quality-manager roles - one chain from job description through interview question bank, competency-anchored scoring rubric, interviewer calibration guide, and post-interview panel debrief, to the 30-60-90 day onboarding plan. Implements the canonical Levashina 2014 et al. structured-interview methodology with ISTQB-aligned competency vocabulary, so the JD a candidate reads, the rubric the panel scores, and the ramp plan the manager runs all describe the same role. Use when opening a QA requisition, authoring any artifact of the hiring loop (JD, questions, rubric, calibration guide, onboarding plan), or running the panel debrief to a defensible hire / no-hire decision.
Install with skills.sh (any agent)
npx skills add testland/qa --skill qa-hiring-kitqa-hiring-kit
Overview
Hiring for QA roles is calibration-heavy: the same question scored by two interviewers without a rubric produces high noise. The remedy, per the structured-interview research (Levashina et al. 2014, Personnel Psychology (opens in new window)), is a structured interview - same questions, same order, same scoring rubric, calibrated interviewers. This kit runs the whole chain as one workflow, with one competency vocabulary (drawn from the ISTQB Foundation Level v4.0 syllabus (opens in new window)) threaded through every artifact:
| Stage | Artifact | Deep reference |
|---|---|---|
| 1. Open the role | Job description + recruiter screening note | references/jd-author.md |
| 2. Ask | Role + seniority question bank (STAR, Bloom's K1-K4) | references/interview-questions.md |
| 3. Score | 4-level competency-anchored rubric | references/rubric.md |
| 4. Calibrate | Gold-standard answers + panel session script | references/calibration.md |
| 5. Decide | Panel debrief to hire / no-hire (workflow below) | this file, "Running the debrief" |
| 6. Ramp | 30-60-90 day onboarding plan | references/onboarding.md |
Stages 2-4 are the structured-interview tripod - what we ask, how to score, what each score looks like. None of the three is sufficient alone; running structured interviews requires all three.
When to use
Do not use this kit to:
The chain, end to end
Lock artifacts at the start of a hiring round; mid-round changes invalidate prior candidates' scores.
Running the debrief
After the final interview, the panel converges on a decision in a facilitated calibration loop. Required inputs: role + seniority, the filled-in rubric with each interviewer's per-dimension scores, the calibration guide, and the panel list. Refuse to start if any interviewer's scores were not submitted independently before the debrief - per anchoring-bias research (https://en.wikipedia.org/wiki/Anchoring_effect), the first opinion revealed in a group setting has disproportionate influence on subsequent scorers; independent pre-submission is the primary structural mitigation.
Anti-patterns (chain level)
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Running interviews with questions but no rubric (or vice versa) | Half a structured interview still drifts; the pair is the unit. | Stages 2 + 3 travel together; stage 4 before the first candidate. |
| JD vocabulary differing from the rubric | Candidate applies to one role, gets scored on another; debriefs derail. | Stage 1 reuses the rubric's competency dimensions. |
| Skipping the calibration session | Inter-rater agreement does not appear without practice. | The stage-4 session is mandatory before the first real candidate. |
| Deciding by committee re-vote on a borderline | Reverts to unstructured group dynamics. | Escalate BORDERLINE to the hiring manager with the decision document. |
| Shelving the rubric after the offer | The hire's weak axes are known and then ignored. | Stage 6 converts borderline axes into targeted phase-2 development. |
Limitations
Hand-off targets
References
Interviewer calibration guide authoring
View source (opens in new window)Interviewer calibration guide authoring
Deep reference for qa-hiring-kit SKILL.md - producing the calibration guide, the what each score looks like leg of the structured-interview tripod.
Why a calibration guide
A rubric describes how to score; a calibration guide demonstrates what a score looks like. The structured-interview research is consistent that anchor descriptions reduce inter-rater noise but do not eliminate it - interviewers still drift on edge cases without worked examples of the same question scored across the whole 1-4 range.
The calibration guide is the third leg of the structured-interview tripod:
Without all three, an interview loop is structurally incomplete - the team will produce an inconsistent signal regardless of how good the questions and rubric are individually. The guide is panel-internal: sharing the gold-standard answers with candidates pollutes the signal.
Step 1 - Capture the inputs
| Input | Notes |
|---|---|
| Question bank | Per interview-questions.md (opens in new window) |
| Rubric | Per rubric.md (opens in new window) - defines the 4-level anchors per dimension |
| Sample transcripts | 2 - 5 anonymised candidate transcripts (or recordings the panel has scored). The minimum is 2 (one strong, one weak); 5 is plenty. Halt with INSUFFICIENT_TRANSCRIPTS below 2 - calibration without real examples is theoretical, not load-bearing. |
| Panel size | Number of interviewers who will calibrate; informs the calibration-session timing |
If the team is launching a new role with no prior transcripts, use synthesised transcripts (emit transcripts that demonstrate each score level) but flag explicitly that the panel must replace them with real anonymised transcripts after the first 5 candidates.
Step 2 - Per-question gold-standard answers
For each question in the bank, the calibration guide emits four worked answers demonstrating each rubric level (1 = no hire, 2 = borderline, 3 = hire, 4 = strong hire):
### Q3 - Behavioral (STAR): late-defect catch - gold standards
#### Score 1 - no hire
> "Yeah, last release we caught a really bad bug right before launch. The whole team was upset. We were lucky we caught it. After that I'm just always more careful."
**Why score 1:** No technique named; no STAR structure (S/T/A/R undifferentiated); attributes the catch to luck and emotional response rather than process. Anchor: "Cannot articulate a partition / boundary / decision-table technique" - matches.
#### Score 2 - borderline
> "Last release I caught a defect where the cart total wrapped around at $99.99 to a negative number. I added a boundary test for the max-price limit. It was fine after that."
**Why score 2:** Names a technique (boundary value analysis, implicitly); STAR is partial - Situation and Action are clear; Task is implicit ("I was the QA lead"); Result is "it was fine after that" - no measurable outcome, no retrospective learning. Probe for the Task and Result; if the candidate fills both, score moves to 3.
**Probe to use:** "What was your specific role at that point? And how did the team know the fix worked beyond that one test?"
#### Score 3 - hire
> "On the v3.4.0 release we caught a defect where the cart total wrapped around at $99.99 to a negative number. As the QA lead for the release, I was running the standard regression suite when I noticed our test cases all used round-dollar amounts - $50, $100. I added boundary-value tests at the upper limit (one cent under, exactly at, one cent over) and the bug reproduced at exactly $99.99. We fixed the cents-precision rounding in the price-display component, added the boundary tests to the regression suite, and updated our test-data conventions to use Faker's `randomFloat({ precision: 0.01 })` rather than round numbers."
**Why score 3:** Specific technique (boundary value analysis) named **and** applied. STAR complete: situation (v3.4.0), task (QA lead, running regression), specific action (noticed pattern, added boundary tests), measurable result + retro learning (fix shipped, regression added, conventions updated).
#### Score 4 - strong hire
> "[Same situation as score 3, plus:] After we shipped the fix, I noticed our test-data conventions had no rule against round-number-only test data. I authored a one-page conventions update that mandated Faker boundary inputs for any numeric field with a documented constraint, and got the rest of the QA team to sign off. Over the following two releases, we caught two more rounding-precision bugs at the same boundary class - proving the convention change was load-bearing, not just paperwork."
**Why score 4:** Generalises beyond the specific defect to a systemic process change, ties the change to a measurable downstream outcome (two more bugs caught), and documents organisational influence (got the team to sign off).The four-level demonstration is the load-bearing artifact. An interviewer who reads all four can grade ambiguous transcripts by asking which of these does this candidate's answer most resemble - concrete comparison rather than abstract scoring.
Step 3 - Common pitfalls
For each question, the guide emits a "common pitfalls" section - the typical mistakes interviewers make scoring this question:
### Q3 - common interviewer pitfalls
| Pitfall | Why it produces noise | Correction |
|---|---|---|
| Scoring on tone of voice / "confidence" | Tone is interviewer-specific; the same candidate scored differently by interviewer A and B on tone alone. | Score on what the candidate said, not how. |
| Awarding score 3 because the candidate "is clearly senior" | Halo effect; the question's anchor doesn't mention seniority. | Strict adherence to the anchor's behavioural description. |
| Probing too aggressively after a partial answer | Different interviewers probe to different depths; a thoroughly-probed candidate looks stronger than a lightly-probed one with the same competence. | Use only the pre-authored probes from the question bank; one probe per missing component, no more. |
| Stopping at score 3 because "I never give 4s" | Anchor calibration drift; the rubric's level 4 exists for a reason. | If the candidate matches the level-4 anchor, give level 4; review your prior interviews for under-scoring. |
| Awarding score 4 because "the answer was great" without checking the systemic-gap and measurable-outcome anchors | Halo effect on level 4. | Level 4 requires both anchor sub-conditions (systemic + measurable); level 3 is the default for excellent answers that don't cross both. |Step 4 - Calibration-session script
The guide's last section is the script for the panel's calibration meeting - typically 90 minutes for a 6-question loop:
The script is mandatory before the first real candidate. Per the structured-interview research, calibration is the dominant variable in inter-rater agreement - more important than rubric quality alone.
Step 5 - Emit the guide
The output is a single markdown document with:
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Sharing gold-standard answers with candidates | Pollutes the signal; the candidate parrots the answer back. | Panel-internal only; tag the file accordingly. |
| Skipping the calibration session because "we'll just use the rubric" | Inter-rater agreement does not appear without practice; the rubric alone is insufficient. | Step 4 calibration session is mandatory. |
| Calibrating on synthesised transcripts only | The transcripts are a best-guess; real candidates score in unpredictable shapes. | Replace synthesised with real anonymised transcripts after the first 5 candidates. |
| Authoring the guide without the rubric | Anchors drift from the rubric's level definitions. | Step 1 hard-requires the rubric. |
| Locking the guide for the whole hiring round with no anchor-drift log | Anchor refinements during real interviews are lost; the guide becomes outdated mid-round. | Step 5's anchor-drift log is part of the artifact. |
| Treating the calibration session as a one-time event | Calibration drifts over months; new interviewers join. | Re-calibrate per hiring round, or at least quarterly. |
Limitations
References
Interview question bank authoring
View source (opens in new window)Interview question bank authoring
Deep reference for qa-hiring-kit SKILL.md - producing the QA-role-specific question bank, the what we ask leg of the structured-interview tripod.
Why structured questions
Hiring for QA roles is calibration-heavy: the same question scored by two interviewers without a rubric produces high noise (well-documented in structured-interview research (opens in new window)). The remedy is a structured interview - same questions, same order, same scoring rubric across candidates. This reference produces the questions half of that pair; the scoring rubric (rubric.md (opens in new window)) and the calibration guide (calibration.md (opens in new window)) are the other legs.
The bank is QA-specific by design: (a) ISTQB-aligned competency framing, (b) role-specific question depth (manual QA vs SDET vs test lead require different technical / behavioral mixes), (c) STAR-format anchoring on behavioral questions per the canonical STAR method (opens in new window), and (d) a structured output ready to drop into a hiring loop.
Step 1 - Capture the role inputs
| Input | Notes |
|---|---|
| Role title | One of: manual-qa-engineer, qa-automation-engineer, sdet, test-lead, quality-manager. Each has different default depth weights (Step 2). |
| Seniority | One of: junior, mid, senior, staff+. Drives Bloom's-taxonomy difficulty mix in Step 4. |
| Domain context | The product area / regulated industry (e.g., "fintech payments", "healthcare EHR", "consumer mobile") - drives scenario-based questions. |
| Required competencies | Optional; if absent, default to ISTQB Foundation Level chapters relevant to the role (test design, test management, test process, defect management, tools). |
| Forbidden topics | Optional; topics already covered elsewhere in the loop or out-of-scope for legal / compliance reasons. |
If the role title is not one of the five recognised QA roles, halt with UNRECOGNISED_ROLE: supply a role from the recognised list, or run with role=qa-generic to use a flat default mix.
Step 2 - Allocate question slots
A typical 60-minute interview holds 6 - 8 questions; default to a six-question shape. The mix shifts per role:
| Role | Technical depth | Behavioral (STAR) | Scenario-based | System / framework design |
|---|---|---|---|---|
| manual-qa-engineer | 2 | 2 | 2 | 0 |
| qa-automation-engineer | 3 | 1 | 1 | 1 |
| sdet | 2 | 1 | 1 | 2 |
| test-lead | 1 | 3 | 1 | 1 |
| quality-manager | 0 | 4 | 1 | 1 |
The mix is configurable; the table is the default. Behavioral count grows with seniority and people-leadership scope per the structured-interview research; technical depth grows with hands-on coding scope.
Step 3 - Author per-slot questions
For each slot, emit one question with the metadata reviewers need:
### Q3 - Behavioral (STAR) | Senior | Bloom: K3 (Apply)
**Question:** Tell me about a release where you caught a critical defect late - after the test cycle but before production. Walk me through the situation, what your role was, what you did, and what the team learned.
**ISTQB competency:** Defect management (defect → failure distinction, escape-defect lifecycle).
**STAR cues:** Listen for: (S) the release context, (T) the candidate's specific responsibility, (A) the diagnostic and communication actions taken, (R) measurable outcomes + retro learnings.
**Time budget:** 8 min.
**Follow-up probes** (use only if the answer is shallow):
- "Was the defect found through automated tests, manual exploration, or a customer report?"
- "What changed in your team's process after this incident?"
- "How did you handle the stakeholder communication?"Each question carries:
Step 4 - Tune the difficulty distribution
Bloom's taxonomy mix per seniority (default; configurable):
| Seniority | K1 | K2 | K3 | K4 |
|---|---|---|---|---|
| junior | 30% | 40% | 25% | 5% |
| mid | 15% | 35% | 35% | 15% |
| senior | 5% | 25% | 40% | 30% |
| staff+ | 0% | 15% | 35% | 50% |
Flag questions whose Bloom's level is too far from the role's centre of gravity (e.g., a K1 fundamental question for a staff+ candidate is a wasted slot).
Step 5 - Emit the bank
The output is a single markdown document with:
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Generic behavioral questions ("Tell me about a time you faced a challenge") | Drains the slot; the answer is unscorable because the question lacks specificity. | Behavioral questions must name the QA-specific context (release, defect, framework, regulation). |
| Asking the same question across all seniority levels | The signal is wasted - a K1 fundamentals question reveals nothing about a staff+ candidate. | Step 4 difficulty tuning per seniority. |
| Including a question already covered in the take-home / coding screen | Double-coverage at the cost of a slot. | The forbidden topics input excludes those areas. |
| Including "puzzle" questions ("estimate the number of QA engineers in your city") | Validity is documented to be near zero per structured-interview meta-analyses; the question signals interviewer preference, not candidate competence. | Refuse to emit Fermi / puzzle questions. Cite structured-interview research (opens in new window) as the basis. |
| Behavioural questions without STAR cues for the listener | Different interviewers listen for different things; scoring drifts. | Step 3 STAR cues are mandatory for behavioural questions. |
| Letting interviewers free-form their own follow-ups | The dominant source of interview noise. | Step 3 pre-authored follow-up probes. |
| Authoring the question bank without the rubric | Half a structured interview - questions without scoring still drift. | Hand-off insists on rubric.md (opens in new window) next. |
Limitations
References
Job description authoring
View source (opens in new window)Job description authoring
Deep reference for qa-hiring-kit SKILL.md - authoring the QA job description, the upstream-most artifact of the hiring chain.
Why the JD comes first
The JD is the first scoring instrument in the hiring chain, applied by candidates to themselves: a vague posting screens nobody, and an everything-list screens out exactly the people the team wants. The JD's responsibilities come from the role's actual test activities and its skills section uses the same competency vocabulary the downstream rubric (rubric.md (opens in new window)) will score - so the role a candidate applies to is the role the panel evaluates.
Two grounding sources. For what the role does: ISTQB CTFL v4.0 section 1.4.5 defines two principal roles in testing - the testing role, which "takes overall responsibility for the engineering (technical) aspect of testing" and is "mainly focused on the activities of test analysis, test design, test implementation and test execution", and the test management role, which "takes overall responsibility for the test process, test team and leadership of the test activities" and is "mainly focused on the activities of test planning, test monitoring and control and test completion". The same section notes one person may take on both roles at the same time (ISTQB CTFL Syllabus v4.0, §1.4.5 (opens in new window); syllabus text verified 2026-06-10 from the published PDF). For how the document reads: Workable's JD guidance - clear, standard job titles (creative titles like "Rockstar Engineer" read as "unrealistic and potentially discriminatory"), 300 - 660 words total, bulleted duties that show a typical workday, and requirements split into must-have versus nice-to-have (Workable, "How to write a good job description" (opens in new window), fetched 2026-06-10).
Step 1 - Capture the inputs
| Input | Notes |
|---|---|
| Role + seniority | Same axis the whole kit uses: manual QA / automation / SDET / test lead / quality manager × junior / mid / senior / staff+ |
| Role balance | Where this role sits between CTFL's testing role and test management role; a senior SDET is nearly all testing role, a test lead carries a documented share of the management role (CTFL §1.4.5 (opens in new window)) |
| Team context | Stack and toolchain, domain, test levels in scope, why the role is open (a team capability-gap report from skill-matrix-author is the ideal version of this input) |
| Constraints | Location/remote, compensation-disclosure rules in the posting jurisdictions, non-negotiables |
Step 2 - Derive responsibilities from the role's test activities
Write 5 - 8 responsibility bullets, each traceable to a test activity, phrased as a typical-workday action (Workable's guidance: duties should show what a normal day looks like, not an aspirational mission). Map per role balance:
A role that is 100% one kind needs no bullets from the other; a mixed role states the split rather than hiding it ("~70% hands-on automation, ~30% process ownership").
Step 3 - Split skills into must-have vs nice-to-have
The split is the JD's main screening mechanism (Workable: be upfront about non-negotiables; separate must-have from nice-to-have so candidates self-assess accurately). Rules:
Step 4 - Define screening signals for the recruiter
The JD ships with a one-page screening note (internal, not posted): for each must-have, what in a CV or portfolio counts as signal vs noise. Example for "tooling depth, Playwright":
| Signal | Noise |
|---|---|
| Public repo or described project with Playwright specs they authored | "Playwright" in a skills word-cloud |
| Describes flake-debugging or CI-stabilization work | Lists every test tool released since 2015 |
| Automation framework decisions they can own ("migrated from X because...") | Certification list with no applied work |
This note is what keeps the recruiter's screen consistent with the panel's rubric - the same chain-of-custody idea the structured-interview triple applies after the screen.
Step 5 - Assemble and length-check the JD
Order: title, one-paragraph role summary (which includes why the role is open), responsibilities, must-haves, nice-to-haves, team and stack, process and timeline, compensation per jurisdiction rules. Target 300 - 660 words total per Workable's guidance; bulleted lists for mobile readability. Worked example (condensed):
# Senior QA Automation Engineer - Payments
We run weekly releases for a payments product used by 40k merchants. This role
is open because our capability review found one engineer covering performance
testing for the whole group; you will broaden and own that coverage. ~80%
hands-on engineering, ~20% strategy input for your area.
## What you will do
- Design and automate regression tests for payment-retry and reconciliation flows
(TypeScript + Playwright, k6 for load profiles).
- Extend the CI quality gates: flake quarantine, suite budget, pass-rate reporting.
- Run risk-based test analysis on new payment features with the product trio.
- Coach two mid-level engineers on test design through review.
## Must have
- Test analysis and design: you can derive tests from risks and requirements,
not only from acceptance criteria handed to you.
- Production-grade test code in TypeScript or a near language; you have owned
a suite others contribute to.
- Load or performance testing on at least one real system (k6, Gatling, or similar).
- Written communication: bug reports and strategy notes that stand alone.
## Nice to have
- Payments or other regulated-domain background; ISTQB CTAL-TA; CI ownership
(GitHub Actions); accessibility testing exposure.(~420 words in full form, inside the 300 - 660 band.)
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Unicorn JD (every tool, every level, "QA ninja") | Screens out honest strong candidates; Workable flags creative titles as unrealistic and potentially discriminatory | Standard title; 4 - 6 must-haves with the Step 3 reject-test |
| Years-of-experience as must-haves | Years measure exposure, not competence, and import bias | Phrase must-haves as capabilities with observable evidence |
| JD vocabulary differing from the rubric | Candidate applies to one role, gets scored on another; debriefs derail | Step 3 reuses the rubric's competency dimensions |
| Responsibilities copied from a template | The workday described matches no actual workday; early attrition follows | Step 2 derives bullets from the team's real test activities |
| Hiding the management share of a lead role | Candidates discover the meeting load after signing | State the split explicitly (Step 2) |
| Posting with no screening note | Recruiter invents their own filter; the funnel disconnects from the rubric | Step 4 note ships with the JD |
Limitations
References
Onboarding plan authoring (30-60-90)
View source (opens in new window)Onboarding plan authoring (30-60-90)
Deep reference for qa-hiring-kit SKILL.md - the post-hire ramp artifact. It starts at offer acceptance, not during the interview loop.
Why a structured ramp
Hiring ends at offer acceptance; onboarding is where the competency signal from the rubric is converted into a development plan. The 30-60-90 day framework - originally popularized by Michael Watkins' The First 90 Days (2003, Harvard Business Review Press) as the canonical structured-transition framework for new organizational members - divides the ramp into three equal phases: learn (days 1-30), integrate (days 31-60), and contribute independently (days 61-90). Each phase has a distinct focus, observable exit criteria, and a handoff to the next. (Notion blog on the 30-60-90 day plan framework: https://www.notion.com/blog/30-60-90-day-plan; Wikipedia, "Onboarding": https://en.wikipedia.org/wiki/Onboarding.)
The plan anchors each phase's competency targets to the six rubric axes from rubric.md (opens in new window): test analysis and design, defect lifecycle, test code conventions (automation roles), tooling depth, communication, and domain reasoning. Rather than treating onboarding as a generic HR checklist, the plan treats it as a continuation of the structured-interview signal - a hire scored 2 on "test code conventions" during the loop gets targeted development investment in exactly that axis during phase 2.
The PractiTest 2026 State of Testing Report found that nearly 40% of individual contributors feel "test strategy" is underdeveloped in their teams, and that practitioners who pivot toward strategy earn a +10.6% income premium versus those who remain in pure technical execution (https://www.practitest.com/state-of-testing/). The day-61-90 phase directly addresses this gap by pushing the hire toward strategy ownership proportional to seniority.
Step 1 - Capture the inputs
| Input | Notes |
|---|---|
| Seniority | junior / mid / senior / lead - the same axis used in the hiring rubric |
| Role variant | manual-qa-engineer / qa-automation-engineer / sdet / test-lead - determines which rubric axes are load-bearing |
| Rubric scores | The per-dimension hire scores from rubric.md (opens in new window) - axes scored 2 ("borderline") get targeted phase-2 development plans, not just the default milestones |
| Team context | Stack, CI toolchain, domain (fintech / consumer / B2B SaaS / etc.) - informs phase-1 environment setup and phase-2 tooling targets |
| Mentor availability | Whether a dedicated senior QA mentor is available, or whether the new hire will pair with an engineering team member |
If rubric scores are not available (e.g., an informal hire), treat all six axes as equally weighted development targets and flag this assumption explicitly in the output.
Step 2 - Determine the seniority multiplier
Seniority changes the pace and scope of the plan, not its three-phase structure. The table below describes the expected exit state for each seniority at day 90 - the plan's success criteria derive from this:
| Seniority | Day-30 exit | Day-60 exit | Day-90 exit |
|---|---|---|---|
| Junior | Environment set up; first test case authored and passing in CI; has read the team's test conventions doc | Owns one test suite with no supervision; contributing to defect triage meetings | Participating in test planning for a sprint; mentor cadence reduces to fortnightly |
| Mid | Environment set up; first test authored and reviewed; independently diagnosed one CI failure | Owns a feature's test coverage from planning through execution; identified at least one test-architecture gap | Leads test planning for a sprint; peers consult them on test design questions |
| Senior | Environment set up; independent on toolchain; has reviewed one teammate's test PR and provided actionable feedback | Owns test strategy for a component or service; running the weekly test review meeting | Driving test strategy for the team; mentoring junior or mid QA hires; identifiable as the quality signal for a release |
| Lead | Independent on toolchain and team norms; has mapped the team's test coverage gaps; has met all stakeholders (product, engineering, support) | Owns the test strategy document for the quarter; running test-planning ceremonies | Quality-gate ownership at the release level; proposals for tooling or process changes with team sign-off |
[author opinion] These exit criteria follow the general "learn - integrate - contribute" arc described in the 30-60-90 day literature, adapted to QA-specific observable outputs. The pace should be recalibrated if the team's domain or compliance environment (e.g., healthcare, finance) has an unusually long environment-access ramp.
Step 3 - Author the three-phase plan
For each seniority, emit three sections. The structure below is for a mid qa-automation-engineer; adjust the target values per the multiplier table in Step 2 and the rubric scores from Step 1.
Phase 1 (days 1-30): Learn
Focus: environment, context, and first contribution. Per the 30-60-90 day framework (https://www.notion.com/blog/30-60-90-day-plan), this phase centres on acquiring the knowledge and role clarity needed to begin contributing - not on producing output.
Milestones:
Competency targets (rubric axes - first contact):
| Rubric axis | Phase-1 target |
|---|---|
| Test analysis and design | Can name the technique used when authoring the first test (boundary, equivalence partition, or decision-table) |
| Defect lifecycle | Writes a bug report that includes steps to reproduce, expected vs. actual, environment, and severity - reviewed and accepted by a senior |
| Test code conventions | First test passes lint and follows the team's naming convention |
| Tooling depth | Can run the test suite locally, filter by tag, and read a CI run log |
| Communication | Attends ceremonies and asks one clarifying question per session |
| Domain reasoning | Can describe the product's user journey at a feature level |
Mentor cadence (phase 1): 30-minute daily check-in for the first 2 weeks; 1-hour weekly thereafter. Mentor reviews all authored tests before merge.
Success criteria for phase-1 exit: First test merged to the main test suite; bug report accepted without revision; mentor confirms independent environment operation.
Phase 2 (days 31-60): Integrate
Focus: applying skills under supervision and owning a bounded scope. Per the 30-60-90 day framework, this phase shifts toward integration with the team and application of the new hire's existing skills, moving from supervised contribution to scoped ownership.
Milestones:
Competency targets (rubric axes - applied):
| Rubric axis | Phase-2 target |
|---|---|
| Test analysis and design | Applies at least two ISTQB techniques (from CTFL Ch. 4: equivalence partitioning, boundary value analysis, decision table, state transition - https://astqb.org/certifications/foundation-level-certification/) independently to a real feature |
| Defect lifecycle | Owns the defect-triage process for the owned feature suite; can distinguish defect vs. failure per ISTQB glossary terminology |
| Test code conventions | Test PRs pass review without convention-related comments on second PR and after |
| Tooling depth | Can diagnose a flaky test (identify root cause from the CI log) and open a fix PR without mentor assistance |
| Communication | Delivers the knowledge-share session without material feedback from the mentor |
| Domain reasoning | Can map a new user story to the affected test boundary without prompting |
Targeted development for rubric-axis score of 2 (borderline at hire): For each axis where the hire scored "borderline" during the loop, the plan adds a specific paired-learning task: e.g., a score-2 on "test code conventions" triggers a required code-review pairing with a senior on two consecutive PRs; a score-2 on "defect lifecycle" triggers a defect-retrospective exercise where the hire re-examines three historical bug reports and identifies the point of detection vs. the point of failure.
Mentor cadence (phase 2): 1-hour weekly; mentor shifts from prescriptive reviewer to code-review approver. Mentor stops blocking on approvals by day 45 (the hire uses the team's standard PR review process).
Success criteria for phase-2 exit: Owned feature suite green in CI with no unreviewed failures; architecture-gap document shared and acknowledged by the team; knowledge-share delivered.
Phase 3 (days 61-90): Contribute independently
Focus: independent contribution and the beginning of strategy ownership proportional to seniority. Per the 30-60-90 day framework, this phase prepares the hire to lead their first project or initiative - moving from "applying skills" to "driving decisions."
Milestones:
Competency targets (rubric axes - owned):
| Rubric axis | Phase-3 target |
|---|---|
| Test analysis and design | Authors a test strategy note for a sprint (not just individual test cases) - identifies which techniques apply and why |
| Defect lifecycle | Tracks defect escape rate for the owned suite over two sprints and presents the trend to the team |
| Test code conventions | Test PRs pass review first-pass on average (no convention-related revision comments) |
| Tooling depth | Has extended or configured at least one existing test-infrastructure component (e.g., added a new test tag, extended a shared fixture, or updated a CI step) |
| Communication | Written sprint test-coverage summary shared with product and engineering without prompting |
| Domain reasoning | Can identify the highest-risk user flows for a new feature with no rubric reference - asks product or engineering for confirmation, not instruction |
Mentor cadence (phase 3): Bi-weekly 30-minute check-in; mentor role shifts from reviewer to consultant. New hire sets the agenda. Formal mentor relationship closes at day 90; standard peer-review process applies thereafter.
Success criteria for phase-3 (day-90) exit - the success criteria double as the hiring manager's 90-day review inputs:
Step 4 - Emit the plan
The output is a single markdown document with:
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Identical onboarding plans regardless of seniority | A lead who spends 30 days on environment setup and basic test authoring is wasted and will disengage. | Step 2's seniority multiplier sets phase-exit expectations; senior and lead plans front-load ownership. |
| Ignoring the rubric scores | The structured interview identified the hire's weak axes; not acting on them is the most common onboarding gap. | Phase 2's targeted-development section is mandatory when any axis scored "borderline" at hire. |
| Treating "success criteria" as aspirational | If the 90-day criteria are not measurable, the hiring manager and hire will disagree on performance at day 91. | Step 3's success criteria are observable artifacts (merged tests, written documents, peer feedback), not feelings. |
| Over-loading phase 1 | New hires cannot absorb toolchain, domain, team norms, and first contribution simultaneously. | Phase 1's milestones are sequenced: access and environment first, first contribution second, ceremonies third. Defer strategy discussions to phase 2. |
| Closing the mentor relationship before day 90 | Phase-3 mentoring shifts to consulting cadence (bi-weekly), not zero. Early closure removes the safety net for the hire's first strategy-ownership attempt. | Mentor cadence is explicit per phase; the formal relationship closes only at the day-90 review. |
| Re-running the onboarding plan as a performance plan | This plan covers the ramp to independent contribution, not ongoing performance management. | If the hire meets the day-90 criteria, transition to the team's standard career-progression process. If they do not, that is a separate conversation outside this artifact's scope. |
Limitations
References
Hiring rubric authoring
View source (opens in new window)Hiring rubric authoring
Deep reference for qa-hiring-kit SKILL.md - producing the competency-anchored scoring rubric, the how to score leg of the structured-interview tripod.
Why anchored rubrics
Without a rubric, two interviewers asking the same question produce different scores; the literature on structured interviewing (opens in new window) is clear that the questions alone are not sufficient - the scoring rubric is what converts them into a comparable signal.
Anchored rubrics outperform free-form scoring because the anchor descriptions at each level (no-hire / borderline / hire / strong-hire) constrain what each score means. An interviewer who reads "level 3: candidate explains the AAA pattern with a worked example and identifies one of: assertion strength, mocking pitfalls, or fixture coupling" cannot drift the score on tone or rapport - the anchor is concrete.
Step 1 - Capture the inputs
| Input | Notes |
|---|---|
| Role + seniority | Same as the upstream question bank - manual QA / SDET / automation / test lead / quality manager × junior / mid / senior / staff+ |
| Question bank | The output of interview-questions.md (opens in new window). Each question's competency tag drives the rubric's competency-by-question matrix. |
| Team's competency model | Optional. If absent, default to the ISTQB-aligned model in Step 2. |
If a question bank is not available (e.g., an ad-hoc loop, or an existing interview set that was never written down), author one anchor set per competency dimension rather than per (competency × question) cell, mark the rubric provisional in the header, and flag this assumption explicitly. A provisional rubric must be re-run against the bank once it exists - competency-general anchors drift from the questions actually asked, which is the failure the requirement exists to prevent.
Step 2 - Pick the competency dimensions
A QA hiring rubric scores against 5 - 8 competency dimensions. The default set (drawn from ISTQB Foundation Level v4.0 (opens in new window) competencies and adapted to interviewable behaviour) per role:
manual-qa-engineer / qa-automation-engineer
sdet
test-lead
quality-manager
Emit the dimensions selected for the role; the team can add or remove dimensions before locking the rubric.
Step 3 - Author the 4-level anchors per dimension
For each (competency × question) cell, the rubric needs four behavioural anchors. The anchor describes what the candidate said or did, not what the interviewer felt - this is the load-bearing principle that reduces interviewer noise.
### Test analysis & design - Q3 (Behavioral, STAR: late-defect catch)
| Score | Anchor (what the candidate said / did) |
|---|---|
| **1 - no hire** | Cannot articulate a partition / boundary / decision-table technique. Describes the catch as "I just got lucky." Or attributes the catch to a tool ("the linter caught it"). |
| **2 - borderline** | Names one ISTQB technique correctly but cannot apply it to the catch they describe. STAR is partial: missing Result or missing the candidate's specific Action (says "we" throughout). |
| **3 - hire** | Identifies the specific technique that caught the defect (e.g., "we had no negative test for the empty-cart case - equivalence partitioning would have flagged it"). STAR complete: situation, task, the candidate's specific action, measurable result + retro learning. |
| **4 - strong hire** | Generalises beyond the specific defect: identifies a systemic gap (e.g., "we had no convention requiring a negative test per public method; I added that to our conventions doc"), and ties the change to a measurable downstream improvement. |
**Probe-trigger:** If the candidate scores 2 on STAR completeness, probe for the missing component; do not deduct further on the second pass.
**Time-budget impact:** A score of 4 typically takes 2 extra minutes; budget accordingly.Each anchor is concrete enough that two interviewers reading the same transcript would arrive at the same score - that is the only test of the anchor's quality.
Step 4 - Compute the role-level summary score
The rubric outputs a per-dimension score and a summary recommendation. The summary is not a simple average:
| Per-dimension scoring rule | Summary recommendation |
|---|---|
| All dimensions ≥ 3, ≥ 1 dimension at 4 | Strong hire |
| All dimensions ≥ 3 | Hire |
| 1 dimension at 2, all others ≥ 3 | Borderline - debrief required |
| ≥ 2 dimensions at 2, no 1s | No hire - competency gap |
| Any dimension at 1 | No hire - fundamental gap |
The summary refuses to average across competencies - a candidate weak in defect lifecycle and strong in tooling depth is not "average"; the role demands both. Per-dimension floors are the load-bearing constraint.
Step 5 - Emit the rubric
The output is a single markdown document with:
Anti-patterns
| Anti-pattern | Why it fails | Fix |
|---|---|---|
| Free-text "1 - 5 score" with no anchors | The score is the interviewer's opinion, not a behavioural observation. | Step 3 anchors are mandatory; no anchorless dimensions. |
| Anchors that describe the interviewer's feeling ("I was impressed", "the candidate seemed confident") | Tone signals; not behaviour. Interviewer noise is the dominant source. | Anchors describe what the candidate said or did verbatim. |
| Averaging dimension scores into a summary | Hides the load-bearing competency gaps. | Step 4's per-dimension floor; no averages. |
| Using the same rubric across seniority levels | A senior candidate at "score 3" is mid-level performance for that role; the absolute number means different things. | Per-seniority anchors; junior-3 ≠ senior-3. |
| Rubrics with 10+ dimensions | Interviewer can't hold them all; scoring fragments. | Cap at 5 - 8 dimensions. |
| Rubric authored without the question bank | Anchors drift from the actual questions; scoring becomes generic. | Step 1 hard-requires the question bank as input. |
| "Cultural fit" as a dimension | Documented bias amplifier; legally fraught. | Use the team's Definition of Done / engineering values translated into behavioural anchors instead. |
Limitations
References
Related skills
exec-quality-narrative
Build-an-X workflow that turns already-computed quality data - weekly digests, KPI roll-ups, DORA delivery metrics, escape-defect trends, OKR grading - into an executive or QBR narrative structured by the Minto Pyramid Principle: governing answer first, MECE-grouped support beneath it, SCQA opening (Barbara Minto, The Pyramid Principle, ISBN 978-0273710516). Distinct from single-team digest computation (which computes the RAG digest from raw CI and tracker signals; this skill consumes such digests and writes the upward story), from portfolio-review aggregation (which aggregates teams into a portfolio review; this skill is the communication layer either output feeds), and from QA OKR authoring (forward-looking commitments; this skill narrates what happened and what it means). Use before a QBR, board update, or exec review when the data exists but the story does not.
quality-status-digest
Computes a recurring quality status digest from metrics that already exist: CI pass rate with an explicit denominator rule, escape-defect count, and a flake-debt score, assigns red / amber / green per area against stated thresholds, then rolls the same per-team rows into a portfolio view with a severity-by-blast-radius heatmap, STABLE / WATCH / INVEST tags, and a capacity flag. Keeps DORA delivery metrics separate from defect-leakage and flake measures instead of blending them under one label. Produces the status artifact only: it does not instrument anything, does not define SLOs or targets, and does not decide what gets fixed first. Use when a weekly quality review, sprint check-in, or quarterly portfolio review is due and the CI history, defect tracker, and quarantine list already hold the numbers but nobody has assembled them into one page.
skill-matrix-author
Build-an-X workflow that produces a QA team skill matrix - team members crossed with competency dimensions at explicit proficiency levels, each cell backed by observable evidence - then derives the full gap analysis: classify each gap (coverage / capability / bus-factor / surplus), rank the gaps against the team's roadmap, and recommend a closing move per gap (train / peer-learn vs hire vs external expert). Competency dimensions follow ISTQB CTAL-TM v3.0 chapter 3 (Managing the Team): professional, methodological, social, and personal competence. Maps the existing team on an ongoing basis - not a point-in-time score of external candidates and not one new hire's ramp plan. Use when a QA manager needs to know what the team can do today versus what its projects demand - before quarterly planning, a training-budget decision, or opening a requisition.