Evaluate a Candidate Against Team Gaps

You need to check whether a specific candidate addresses the structural gaps in your team, not just the position description.

Prerequisites

Complete the Make Staffing Decisions You Can Defend guide first -- this page assumes you have a summit.yaml roster, have run coverage and risks, and understand where your team's gaps are.

Describe the candidate as a role

Summit evaluates a candidate by their role definition -- discipline, level, and optionally track. You are not entering a name or a CV; you are describing the position the candidate would fill.

Determine the candidate's closest match from your engineering standard:

npx fit-pathway job --list

This prints every valid discipline, level, and track combination. Find the row that matches the candidate's experience. For example, a mid-level software engineer with a platform background maps to software_engineering J060 with track platform.

If you are unsure which level applies, generate two adjacent role definitions and compare the expectations:

npx fit-pathway job software_engineering J060 --track=platform
npx fit-pathway job software_engineering J070 --track=platform

The Expectations section of each output describes impact scope, autonomy, and complexity handled. Pick the level where the candidate's experience sits today, not where you hope they will grow.

Simulate adding the candidate

Run the what-if --add command against the team where the candidate would land. The --add flag takes a flow-style YAML object describing the role:

npx fit-summit what-if platform --roster ./summit.yaml \
  --add "{ discipline: software_engineering, level: J060, track: platform }"

Expected output:

  Adding hypothetical member to Platform team

  Resolved Risks:
    observability             resolves critical gap
    infrastructure            resolves single point of failure

  Coverage Change:
    Architecture capability   ████████░░ → ██████████  (+20%)

The output answers two questions at once: which existing risks does this role resolve, and how does overall coverage shift. If the candidate's role resolves the risks you identified in the parent guide, you have evidence that this position fills the actual gap.

Narrow the focus

When the full coverage diff is too broad, focus on the capability area you care about most:

npx fit-summit what-if platform --roster ./summit.yaml \
  --add "{ discipline: software_engineering, level: J060, track: platform }" \
  --focus architecture

Expected output:

  Adding hypothetical member to Platform team (focus: architecture)

  Capability: Architecture
    system_design             ████████░░ → ████████░░  (unchanged)
    api_design                ██████████ → ██████████  (unchanged)
    infrastructure            ████░░░░░░ → ██████░░░░  (+1 depth)
    observability             ░░░░░░░░░░ → ████░░░░░░  (resolved gap)

This is useful when two candidates target different capability areas and you want to see each one's contribution in isolation.

Compare two candidates

To decide between candidates, run what-if --add once for each and compare the output. For example, one candidate is a J060 software engineer on the platform track; the other is a J070 data engineer:

npx fit-summit what-if platform --roster ./summit.yaml \
  --add "{ discipline: software_engineering, level: J060, track: platform }"
  Resolved Risks:
    observability             resolves critical gap
    infrastructure            resolves single point of failure
npx fit-summit what-if platform --roster ./summit.yaml \
  --add "{ discipline: data_engineering, level: J070, track: platform }"
  Resolved Risks:
    (none)

Compare the "Resolved Risks" section in each output. The candidate whose role resolves more structural risks is the stronger fit for the team's actual needs.

Verify

The evaluation is complete when you can answer these questions from the what-if --add output:

  • Does this role resolve the risks you identified? The "Resolved Risks" section names the specific single points of failure or critical gaps the candidate's role addresses.
  • How does coverage change? The "Coverage Change" section shows whether the candidate adds depth where the team is thin or redundancy where it is already strong.
  • Can you articulate why this candidate over another? If you compared two candidates, you can point to the structural difference -- "Candidate A resolves the observability gap; Candidate B does not" -- rather than relying on impressions.

If the what-if output shows the candidate's role resolves none of your identified risks, re-examine whether the position description matches the gap. The problem may not be the candidate -- it may be that the role was defined around the position description rather than the team's actual needs.