A solid, reusable loop for hiring backend engineers: a quick screen, a
system-design Round, and a coding Round, with the bar rising as candidates
advance and a human approving before the last step.
Step 1 — Build the Interviewers (once)
| Interviewer | Persona | Scores on |
|---|
| Friendly Screener | ”Hi, I’m Riya — a few quick questions to start.” | Motivation, communication, basics |
| System Design Interviewer | ”I’m Alex, a staff engineer — let’s design a system.” | Scalability, data modeling, trade-offs |
| Coding Interviewer | ”I’m Sam — we’ll work through a coding problem together.” | Correctness, clarity, complexity, testing |
Reuse the Friendly Screener across every Role — backend, frontend, data,
anything. That’s the point of Interviewers being separate from Roles.
Step 2 — Create the Role
Role: Senior Backend Engineer
- Objective: “Can this person own backend system design and ship correct,
maintainable services?”
- Skills:
Go, PostgreSQL, Distributed Systems, APIs, Kafka
- Use case: Hiring
Step 3 — Add the Rounds
| # | Round | Interviewer | Pass mark | On pass |
|---|
| 1 | Phone Screen | Friendly Screener | 60 | Auto-advance |
| 2 | System Design | System Design Interviewer | 75 | Require reviewer approval |
| 3 | Coding | Coding Interviewer | 80 | Final |
The rising pass mark (60 → 75 → 80) filters progressively, and reviewer
approval before the final keeps a human in the loop where it matters.
Step 4 — Add candidates and go
Add candidates to the Role (or share its apply link). Upload resumes so the AI
can reference real projects — and so the applications page can rank candidates by
interview score with CV match as the tiebreaker.
Turn on coding for the Coding Round so candidates write and run real code
during the interview, not just talk about it.
Variations
- Junior role? Drop the System Design Round and lower pass marks (50 / 65).
- Take-home instead of live coding? Swap the Coding Round’s type to an async
assessment and let the Coding Interviewer review the submission.