Systeric / Glide Docs Open App →

Hiring

We hire for understanding, not output. A candidate who executes cleanly but cannot explain why they made each choice is a no-hire, no matter how tidy the code, because what we are paying for is judgment under new conditions, not a transcription of a known pattern. One bad-fit hire costs the team far more than a slow search, so the bar stays high and the loop is built to catch the difference. This doc gives an interviewer two things: the non-negotiables (hard filters that end the conversation) and the rubric plus the bar per level (how to score what is left and place it).

The Non-Negotiables

These are hard filters. Fail one and it is a no-hire, at any level, regardless of rubric score.

  • Critical thinking, understands why. Asks why, challenges the prompt, and can re-derive and re-explain their solution from scratch. Tell: ask them to restate the problem and justify each decision; recognizing the right answer without being able to re-explain it is the red flag, because what you cannot re-explain, you do not understand. See The Illusion of Understanding and Find the Root.
  • Honesty and integrity. Says “I don’t know” instead of bluffing, and owns a mistake mid-interview. Tell: watch what they do when stuck or wrong; do they hand-wave and fake familiarity, or name the gap plainly. See The Illusion of Understanding.
  • Ownership and accountability. Treats the problem as theirs to solve, drives it forward, and does not wait to be led. Tell: between hints, do they push the problem forward themselves, or stall until spoon-fed. See Assume It Works Out.
  • Low ego, coachable. Takes a hint without defensiveness and updates, but can still defend a good decision with reasons. Tell: give one corrective hint and one wrong-headed hint; the good candidate absorbs the first and pushes back on the second with reasoning.
  • High agency, bias to action. When blocked, makes a reasonable assumption and moves rather than freezing. Tell: do they state an assumption and proceed, or stop dead. See Assume It Works Out.

Critical thinking is the filter the whole loop is built to detect.

The Rubric

The technical screen scores four dimensions:

  • Communication — understands the problem, asks the right questions, explains and visualizes the solution, and incorporates hints.
  • Problem Solving — breaks the problem down, moves from a brute-force to an optimal solution, and reasons about time and space.
  • Coding — translates the idea into readable, bug-free code.
  • Verification — checks that the code works: dry run, sample cases, unit tests, edge cases.

The hint mechanic: the interviewer offers hints, and the candidate’s level is read from how far they get and how little help it took. The bar below is calibrated to that: an Intern is expected to need substantial hints, while a Senior reaches the optimal solution with almost none.

How to Test

You do not ask “are you a critical thinker?” You engineer situations that force the signal out. The truth shows under pressure, never under a direct question: what someone cannot re-derive on the spot, they do not actually know.

The non-negotiables: probe and verdict. These surface inside the coding problem itself, not in a separate values interview.

FilterThe move that forces it outPassFail
Critical thinking”Why does this work? What would break it?” Make them re-derive. Slip in a wrong premise and see if they catch it.Re-explains from scratch, challenges the bad premiseRecites a pattern, cannot say why, accepts the wrong premise
HonestyPush past the edge of what they know; ask them to explain something they claimedSays “I don’t know” plainlyBluffs, hand-waves with confidence
OwnershipGo quiet and give minimal guidanceDrives it forward, proposes the next stepStalls, waits to be led
Low egoGive one good hint and one wrong-headed hintTakes the good, pushes back on the bad with reasoningDefensive on the good, or blindly follows the bad
High agencyInject a blocker or an ambiguityStates an assumption and proceedsFreezes until unblocked

Digging deep on problem solving. You read level from how far they get and how hard you had to push, so push in steps and watch where they stall:

  1. Restate, do not re-explain. Give the bare problem and stay quiet. Do they ask the clarifying questions that matter, or charge in?
  2. Approach before code. Ask how they would approach it. If they jump to typing, pull them back; you are testing thinking, not typing.
  3. Brute force first. “What is the simplest thing that works, even if slow?” Confirms they can actually solve it.
  4. Push for optimal. “Can we do better? Where is the bottleneck?” The size of the nudge it takes is the level signal: a Senior needs almost none, an Intern needs you to point at the data structure.
  5. Probe the why. “Why is that O(n log n)? What dominates?” Re-derivation, not recall. This is where pattern-matchers fall apart.
  6. Curveball a constraint. “Now the input does not fit in memory.” Tests reasoning from structure versus a memorized answer; the memorizer freezes, the thinker adapts.
  7. Withhold hints on purpose. Hint only when truly stuck, and note how big a hint was needed. That note is the score.

Probing the other three dimensions.

  • Communication: make them drive the explanation. If you have to ask “why” to follow along, that is a dropped point. Test hint-incorporation by giving a deliberately vague nudge and seeing whether they find the path from it.
  • Coding: watch them translate their own stated plan, not a fresh idea. Readable means you can follow it without narration. Let a small bug ride and see whether their verification catches it.
  • Verification: never prompt “did you test it?” The signal is whether they reach for a dry run and edge cases on their own. Having to prompt it tells you they will not do it on the job either.

The Bar per Level

The same signals, read at four levels. Cells describe what you actually see in the room.

Communication

SignalInternJuniorMidSenior
Question understandingAsks a clarifying question or two when promptedRestates the problem in their own words before startingSurfaces ambiguities and constraints unpromptedReframes to the real requirement behind the prompt
Incorporating hintsApplies a direct hintCorrects course from a nudgeIntegrates feedback into the approach, not just the lineOften pre-empts the hint, asks for the constraint they need
Explaining and visualizingNarrates what they are typingWalks through the approach before codingSketches the data flow and explains tradeoffsExplains so you never have to ask “why”

Problem Solving

SignalInternJuniorMidSenior
Breaking it downNeeds the problem decomposed for themBreaks it into steps with some guidanceDecomposes cleanly on their ownFinds the core sub-problem others miss
Brute force to optimalReaches a brute-force solution with some hintsBrute force on their own, optimal with hintsReaches optimal with light hintsReaches optimal largely unaided, weighs alternatives
Time and spaceStates complexity when askedAnalyzes time and space when promptedReasons about complexity unpromptedOptimizes against the real constraint, knows when good enough is right

Coding

SignalInternJuniorMidSenior
Idea to codeTurns a clear, given plan into working codeCodes the plan with minor stumblesSmoothly turns the approach into working codeCode matches the stated plan on the first try
ReadabilityWorks, but messy naming and structureReasonable names and structureClean, idiomatic, easy to followReads like prose, the next engineer needs no explanation
Bug-freeSome bugs, finds them on a dry runA few bugs, catches most on reviewMostly correct, handles the common casesCorrect by construction, few bugs even at the edges

Verification

SignalInternJuniorMidSenior
Dry runRuns the happy path when promptedDry-runs the main path on their ownTraces the code against several inputsVerifies the invariant, not just the example
Test casesTries the given exampleAdds a couple of sample casesWrites cases that cover the branchesWrites the test that would catch the subtle bug
Edge casesMisses most edge casesNames the obvious ones (empty, null) with a nudgeEnumerates edge cases unpromptedFinds the edge case that breaks the naive solution

Lead and above: hiring shifts from the coding screen to scope, judgment, and influence, a different loop run by leadership, not scored on this rubric.

Making the Call

  • Score with evidence, not vibes. For each dimension, write the specific moment that justifies the score. “Felt strong” is not a score.
  • A failed non-negotiable ends it. Any hard filter failed is a no-hire, even with a great rubric score. Note where it showed so the debrief stays concrete.
  • Hire at the level the evidence supports, not the one they applied for. The hint-amount calibrates it: Senior-level hints with Mid-level performance is a Mid.
  • When genuinely torn, no-hire. A wrong hire costs the team more than a slow search, and that cost lands on everyone around them.

How It Maps to Growth

Each rubric dimension predicts a capability in the competency matrix, so a strong screen is also an early read on where the person will grow.

Rubric dimensionPredicts (in the matrix)
Problem SolvingDiscover’s “Getting to the root” and Define’s “Solution design”
CommunicationThe cross-cutting “Communication”
CodingBuild’s “Standards and quality”
VerificationBuild’s “Ship discipline” and Launch’s “Watching and mitigation”

The competency matrix is where a hired engineer then grows, dimension by dimension, from the bar they cleared on the way in.


Related: Engineering Levels, Product Engineer Track