Performance Review Cycle
Leading People is the cadence and the posture. This is the review itself, and it runs on one open sheet the whole team can see.
Two things make it work. It is open — one visible standard, no back-room grading, no surprise on the day. And the colour is computed, not asserted — nobody paints a cell by hand. Each person scores themselves; the reviewers above them enter where the person actually is; the cell lights up from the difference. It is a self-awareness read, not a grade — what they think they are against what they are. That keeps it honest and forces the reason to be sharp.
The rubric is the role’s radar. For engineers that is the Product Engineer framework — seven attributes, scored 1 to 8: 1 Intern · 2 Junior · 3 Mid · 4 Senior · 5 Lead, then 6, 7, 8 above Lead as each spoke climbs toward its ceiling — the technical spokes top out at Architect, the people spokes at VP, and the CTO tops all seven. Score each spoke where it actually sits, so a profile above Lead reads high on its track’s spokes and holds the Lead floor on the rest.
| Attribute | What it measures |
|---|---|
| Product Sense | Is this the right thing to build? Finds problems worth solving, not just executes requests. |
| Critical Thinking | Reasons from first principles to the root cause, backed by data, not pattern-matching. |
| Engineering Craft | Designs the smallest thing that solves the problem and builds it well. |
| Delivery & Operations | Gets it live safely — instrumented rollouts, proactive mitigation. |
| Communication | Status and explanations land the first time. |
| Ownership & Drive | Treats the problem as their own; moves when blocked, closes it out. |
| Leverage | Multiplies the people and systems around them, not just their own output. |
Scoring above Lead
The rung a 6, 7, or 8 names depends on the spoke’s family; the criteria live in Product Engineer (the “Above the fork” section), not here.
- Technical spokes (Product Sense, Critical Thinking, Craft, Delivery) — 6 Staff · 7 Principal · 8 Architect
- People spokes (Communication, Ownership, Leverage) — 6 Manager · 7 Director · 8 VP
- CTO — all seven at 8.
So a 6 on Craft is Staff; a 6 on Leverage is Manager. Same number, different rung by family.
Read Communication in Systeric’s async context. We work different hours on purpose (see Scheduling), so the bar is not reply speed. It is the Communicate Up standard — status, risks, and blockers pushed early, and availability kept honest so people can reach you — plus responsiveness inside your own stated windows. Someone fully async who pushes up well clears the bar; someone reachable who sits on a blocker does not.
Two views
At a glance — the matrix. One row per person, one column per attribute. Everyone fills their own row with a self-score, 1 to 8. This is the overview the room reads from.
| Person | Prod Sense | Crit Thinking | Eng Craft | Delivery | Comms | Ownership | Leverage |
|---|---|---|---|---|---|---|---|
| Rin | 3 | 4 | 3 | 2 | 3 | 4 | 3 |
| Tomas | 2 | 3 | 3 | 3 | 2 | 3 | 2 |
Per row — the detail. A formula unpivots that matrix into one row per person per attribute. The reviewers own two columns: Actual (their read of the level the person has actually shown) and Why (a one-liner on every gap). The colour is auto-formatted from Self vs Actual — what they think they are, against what they are:
- Self = Actual → 🟢 green — calibrated. Their self-view matches reality.
- Self > Actual → 🔴 red — overrates. They see a level they have not yet shown.
- Self < Actual → 🟡 yellow — underrates. They are better than they think.
| Person | Attribute | Self | Actual | Gap | Why (required on any gap) |
|---|---|---|---|---|---|
| Rin | Product Sense | 3 | 3 | 🟢 | |
| Rin | Critical Thinking | 4 | 3 | 🔴 | scores senior, still ships fixes without the root cause — 14 May retry storm |
| Rin | Delivery & Ops | 2 | 3 | 🟡 | ran the checkout rollout solo and clean; that is a 3 |
| Rin | Leverage | 3 | 2 | 🔴 | no reviews given, mentored no one this quarter |
| Tomas | Engineering Craft | 3 | 2 | 🔴 | big unsplit PRs, three bounced by review |
| Tomas | Communication | 2 | 3 | 🟡 | quiet, but the launch-sync notes were the clearest on the team |
The greens carry no note and take no time. The reds and yellows, with their one-liners, are the entire agenda.
Who scores whom
Self-scores come from everyone, on themselves. The actual read comes only from above — never a peer, never yourself. You are read by the two people over you: the lead directly above you, and the manager one skip-level above them. From the reviewer’s side, the rule is the same seen the other way: you read the actual level of your direct reports and of the people one level below them — the person right under you and the one skip below.
So a Junior is read by the lead and the manager; a Lead, by the manager alone. The higher you sit, the fewer eyes above you, and the more senior the read — as it should be. Where two reviewers read the same person, they reconcile to one actual before the session; the sheet shows a settled number, not a spread.
The template
Do not build it from scratch — copy the ready-made one:
It has both tabs wired: the Matrix, an auto-growing Detail (the unpivot plus Actual, Gap, Why, and a Check that flags any gap missing a one-liner), and the traffic-light conditional formatting. After copying, delete the two (example) rows in Matrix and clear Detail’s Actual and Why columns to start clean.
How it is wired
In case you ever rebuild it or want to understand it:
-
Matrix tab — people down column A, the seven attributes across row 1; everyone fills their own row 1 to 8.
-
Detail tab,
A2— one formula unpivots the matrix, skips blank rows, and grows with the roster:=QUERY(ARRAYFORMULA(SPLIT(FLATTEN(Matrix!A2:A31&"|"&Matrix!B1:H1&"|"&Matrix!B2:H31),"|",TRUE,FALSE)),"where Col1 <> '' ",0) -
Actual — column
D, the reviewers’ read. A cell reads as a full gap until Actual is entered, so the colours only mean something once it is in. -
Gap — column
E:=ARRAYFORMULA(IFERROR(IF((C2:C1000="")+(D2:D1000=""),"",VALUE(C2:C1000)-D2:D1000),""))— theVALUEturns the split text back into a number. -
Why — column
F, a one-liner on every gap. Check — columnG:=ARRAYFORMULA(IF((ISNUMBER(E2:E1000))*(E2:E1000<>0)*(F2:F1000=""),"needs a one-liner",""))flags any gap missing its reason. -
Colour — conditional-format
A2:F1000from the Gap sign, so the whole row lights up:=AND(ISNUMBER($E2),$E2>0) → red (overrates — self above actual) =AND(ISNUMBER($E2),$E2<0) → yellow (underrates — self below actual) =AND(ISNUMBER($E2),$E2=0) → green (calibrated)
How to run it
1 · Everyone self-scores. Owner: each person. Timing: the week before the session. Fill your own row, 1 to 8 per attribute, against the rubric. Honest, not modest and not inflated — both show up as colour, and both are signal.
2 · The reviewers enter the actual read. Owner: the lead and the skip-level manager above each person. Timing: before the session. Enter the level the person has actually shown, attribute by attribute, for your direct reports and the level below them. Reconcile any read the two reviewers disagree on before the session — the sheet the team sees is settled. Write the one-liner on every gap.
3 · Draft the development plan. Owner: the reviewers. Timing: before the 1:1. From the matrix, each reviewer drafts one private plan per person: the reds become growth targets, the yellows become scope to hand over, and the target role gets named. This is the homework you bring into the room, not something you write after it (template below).
4 · The 1:1. The grid is open — the standard and every score sit where the whole team can see them, and that is what kills the ambush. The conversation is personal. Bring the draft, walk the reds and yellows (the gap, the one-liner, the one thing that closes each), reconcile where their self-read and your read differ, and shape the plan together. Finalize it right after. What is public is the bar and where they stand; what is personal is the plan and the conversation about it.
Writing the one-liner
One line. Clean, clear, concise, no weasel. It names what the score is missing, in something you could observe, not a mood.
- No: “could be stronger on ownership.” Yes: “owns the merge, drops the aftermath — closed none of the three incidents he opened.”
- No: “not quite at senior critical thinking.” Yes: “ships the fix, skips the root cause — 14 May retry storm recurred twice.”
- Yellow is not a soft green. “Underselling; ran the checkout rollout solo and clean” is a real correction, and it usually means hand them more.
Reading the colours
The colour is not a grade. It is the gap between what a person thinks they are and what they actually are — self-awareness, not standing. The conversation it opens is about reality: where the two reads differ, and what the evidence says.
- Green — calibrated. Their self-view matches reality. Nothing to reconcile; most cells are green.
- Yellow — they underrate themselves. They are better than they think. Show them the evidence and hand them the scope they are not yet claiming. It is the most-missed signal in a review.
- Red — they overrate themselves. They see a level they have not yet shown. The one-liner names the reality in something observable. This is the harder conversation, and the honest one.
Two reads sit on the sheet, and they are not the same. The colour is calibration — self against actual. The Actual column on its own, held against the person’s title, is their standing: under, meeting, or over the bar. Someone can be perfectly calibrated (green) and still sit below title, or overrate one attribute (red) while standing above title overall — keep the two apart. And where they should get to next — the expected role and the path — is not on the matrix at all. That is the development plan’s job.
The development plan — one per person
The grid is shared; the plan is not. The reviewers draft one private plan per person before the 1:1, bring it into the room, and finalize it once the conversation has shaped it. It is the homework, not an afterthought. It is a performance improvement plan with the teeth pulled: it keeps the bones — where you stand, the target, the work, the timeline — and drops only the consequence and the exit clause. A growth plan, not a warning, but a real plan with real dates.
Development Plan — [name] · Current level: [Mid, Product Engineer] · Period: [Q3]
- Where you stand. Your actual level from the matrix — the spike to build on, the gaps that hold it down, and where your own read and the reviewers’ differed. Plain, specific, growth-framed.
- The target. The role or level you are growing toward, and by when. The expected role lives here, not on the matrix: the matrix says where you are, the plan says where you are headed.
- What good looks like there. Two or three expectations at the target level, in the rubric’s language — the bar you are being grown toward.
- Where to grow. The reds from the matrix, each with its one-liner and the one thing that closes it. A PIP’s “areas of concern,” named as growth rather than fault.
- Scope to take on. The yellows — the strengths you undersell and are ready to be handed more of. This is where the stretch lives.
- Targets. Three to five outcomes, weighted toward the biggest gap. Each: a deliverable, a number, a deadline, and a reason it matters. Outcomes, never activity, always pointed at the target.
- Timeline. Checkpoints with dates — a mid-quarter review and an end-of-quarter review at least — where each target is checked against its deadline. The weekly or biweekly 1:1 carries it between checkpoints (see Leading People).
What it drops from a PIP: the consequence, the exit clause, and the pass/fail scoring bands. What it keeps: the target, the targets, and the timeline. The frame is growth. The rare perform-or-exit case is a different instrument (below).
When it is not growth
Almost every review ends in a development plan. The rare one does not. When a person’s actual level sits below their title across the load-bearing attributes and the honest read is perform-or-exit, the review hands off to a formal improvement plan, and the manager owns that read from there. That decision is secondary and downstream: the matrix is for growth; the re-level or the improvement plan is the exception, reached for only when the growth plan is not the honest answer. Leading People covers the wider performance conversation and the no-surprises rule that must hold before any of it.
Cadence
| Who | When | |
|---|---|---|
| Self-scores | everyone | every review (quarterly) |
| Actual read + one-liners | the reviewers above each person | before each session |
| Peer round | 2–3 peers, behavioural questions | twice a year, the half-year review |
The quarterly review is self-scores plus the reviewers’ actual read. The half-year review adds a peer round, weighted hardest on the peer-facing attributes — Communication, Ownership, Leverage — which a manager sees worst. Reinforcement runs underneath it all at the biweekly 1:1 (see Leading People): the matrix sets the arc, the reinforcement runs it.
Apprentices skip the formal round. Part-timers on a fixed runway do not overlap enough for honest peer signal, and the buddy who pairs daily is already the read.
Related: Leading People, Product Engineer