TruDev drops candidates into a real production codebase with real tickets, then captures 70+ signals on how they actually debug, build, and ship.
The problem
Keyword filters and puzzle rounds measure how well someone interviews. The job never comes up.
What they wrote
What the filter kept
The filter read what it could match and threw away the rest. Everything that made this person worth hiring was written in sentences.
The interview
Q3 — Invert a binary tree.
You have 45 minutes.
function invert(root) {
|
}
Blank editor. No context.
No internet, no tools, no teammates.
Seen it before? You pass.
The job
TICKET-4412 payments 500s on retry
payments-service · 847 files
$ pytest tests/
FAILED test_retry_backoff
1 failed, 211 passed — go.
213,004 lines they did not write.
Real tooling — terminal, debugger, AI.
Cannot be memorised. Only done.
One of these looks like Monday morning. Your process tests the other one.
Why TruDev
Real codebases,
not whiteboard puzzles
LeetCode tests recall. Production tests judgment. TruDev hands candidates an unfamiliar repo, a real ticket, and a clock that’s running.
The simulation
Real repo. Real ticket. Ninety minutes.

payments-service
TICKET-4412
EXPLORER
▾
payments-service
▾
api
▾
payments
retry_handler.py
webhook.py
models.py
▸
queue
▸
lib
▸
tests
config/retry.yaml
847 files · 213,004 lines
retry_handler.py
webhook.py
retry.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
from queue import Consumer
from lib.backoff import compute_delay
MAX_ATTEMPTS = 5
def handle(event, attempt=0):
“””Retry a failed payment webhook.”””
if attempt >= MAX_ATTEMPTS:
raise MaxRetriesExceeded(event.id)
delay = compute_delay(attempt)
if not event.idempotency_key:
event.idempotency_key = derive_key(event)
return schedule(event, delay)
Python 3.11 · main
Ln 88, Col 12
An unfamiliar production repo
847 files they didn’t write, in a service they’ve never opened. No blank editor, no greenfield — the same cold start as their first week on the job.
See a sample session
A real ticket, and a clock
A genuine incident from a production backlog, with the constraints that come with it. They triage, reproduce and fix under time — the way an on-call morning actually goes.
How scenarios are built

payments-service
18:24
left
TICKET-4412
Payments return 500 on retry spike
P1
payments
on-call
Retries fire every 5s regardless of
attempt count. Queue backs up under
load and the consumer times out.
ACCEPTANCE
✓
Backoff grows per attempt
✓
No duplicate charges
Regression test added
retry_handler.py
test_retry.py
86
87
88
89
90
91
def compute_delay(attempt):
return 5 # TODO: exponential
# attempt 0 → 5s
# attempt 1 → 5s
# attempt 2 → 5s ← never grows
TERMINAL
$ pytest tests/test_retry.py
FAILED test_retry_backoff
assert 5 == 10
1 failed, 211 passed in 4.21s

payments-service
RECORDING
retry_handler.py
86
87
88
89
90
def compute_delay(attempt):
base = 5
return base * (2 ** attempt)
# grows 5s → 10s → 20s
SESSION ACTIVITY
70+ signals
14:02
opened retry_handler.py
14:06
grep MaxRetriesExceeded · 14 hits
14:16
breakpoint set · line 88
14:19
stepped through retry loop ×6
14:21
asked AI: why constant backoff?
14:34
edited compute_delay()
14:47
pytest -k backoff · failed
15:07
pytest -k backoff · passed
15:26
added regression test
Every move on the record
Seventy-plus signals captured while they work: which files they opened, how they debugged, what they asked the AI, what they kept. Every score points back to a moment you can replay.
See a sample report
Adaptive Interviews
Résumé deep dives, behavioral rounds, coding follow-ups, or questions from your own material — all on the same calibrated bar.
TruDev
Backend engineer · Senior
Question 4 of 9
18:24
left
Type your answer — plain, informal language is fine…
Résumé deep-dive
Coding follow-up
Scenario
Behavioral
The same engine runs every other round, too
Behavioral
System design
Debugging walkthrough
Code review
Incident retro
Take-home defence
Your ATS keeps the pipeline. TruDev slots in where the interview happens, sends the result back automatically, and changes nothing else about how your team already works.
What candidates said
after their first run
Unedited, from engineers who sat a real TruDev interview during the beta.

FAQ
Questions
answered.
Still curious?











