The job changed.
Your interview didn’t.

The job changed.
Your interview didn’t.

The job changed.
Your interview didn’t.

Nobody writes code from a blank page anymore. TruDev tests engineers the way they actually work: a real repo, a real ticket, 70+ signals.

Painterly desert sunset over mesas, the TruDev hero backdrop
Parley AI agent Framer template interface preview

What changed

Two filters, both testing a job nobody does anymore.

Two filters, both testing a job nobody does anymore.

Your resume screen reads for keywords. Your coding round tests recall. Engineering stopped looking like either one years ago.

What they wrote

Rebuilt

Rebuilt

the

the

payments

payments

retry

retry

pipeline

pipeline

after

after

a

a

Black

Black

Friday

Friday

outage

outage

errors

errors

down

down

94%.

94%.

Three

Three

years

years

on-call

on-call

for

for

checkout

checkout

at

at

40

40

million

million

requests

requests

a

a

day.

day.

Mentored

Mentored

four

four

engineers

engineers

two

two

now

now

lead

lead

their

their

own

own

teams.

teams.

What the filter kept

payments

payments

pipeline

pipeline

checkout

checkout

engineers

engineers

Four nouns, and a decision.

Four nouns, and a decision.

The filter matches vocabulary. Everything that separates a senior engineer from a mid (context, judgment, what they would have done differently) only ever exists in sentences.

The interview

A puzzle you can rehearse.

A puzzle you can rehearse.

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

A codebase you have never seen.

A codebase you have never seen.

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.

The same tools they use on Monday, AI included.

Cannot be memorised. Only done.

One of these looks like Monday morning. Your process tests the other one.

TruDev tests the job as it is actually done.

TruDev tests the job as it is actually done.

The simulation

Real repo. Real ticket. Ninety minutes.

TruDev code explorer showing the payments-service repository and ticket TICKET-4412

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

A real production ticket in TruDev: payments return 500 on retry spike, flagged P1 with time remaining

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

TruDev session recording replaying a candidate editing retry_handler.py

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

Why TruDev

What a puzzle round
can never tell you.

None of these show up in a resume, a phone screen, or a take-home. All four come out of one ninety-minute session.

01.

Orange mosaic

Real production code

Ticket acceptance checklist

War-room pressure

Real tickets, real constraints, real time pressure. We simulate the incident, not the whiteboard, so you see how they hold up.

03.

Orange mosaic

70+ real signals

04.

Orange mosaic

Proof, not vibes

Terminal search across the repo

Real production code

Candidates work in a full IDE on a codebase they’ve never seen (file tree, terminal, debugger), the same setup they’d ship in on day one.

Ticket acceptance checklist

War-room pressure

Real tickets, real constraints, real time pressure. We simulate the incident, not the whiteboard, so you see how they hold up.

Signals captured during the session

70+ real signals

Debugging patterns, AI prompts, code quality, architecture. The same things senior engineers judge.

Score linked to its evidence

Proof, not vibes

Every number in the report links to the evidence behind it: the exact edits, prompts, and decisions that produced the score.

Terminal search across the repo

Real production code

Candidates work in a full IDE on a codebase they’ve never seen (file tree, terminal, debugger), the same setup they’d ship in on day one.

Ticket acceptance checklist

War-room pressure

Real tickets, real constraints, real time pressure. We simulate the incident, not the whiteboard, so you see how they hold up.

Signals captured during the session

70+ real signals

Debugging patterns, AI prompts, code quality, architecture. The same things senior engineers judge.

Score linked to its evidence

Proof, not vibes

Every number in the report links to the evidence behind it: the exact edits, prompts, and decisions that produced the score.

Adaptive Interviews

One engine.
Every kind of interview.

One engine.
Every kind of interview.

Resume 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

Your resume says you led the payments rewrite. What was the hardest call you had to make?

Cutting scope. We shipped without the fraud rules and carried the risk for two weeks.

A

Follow-up

You just wrote this retry. Why five seconds, every time?

Habit, honestly. It should back off. I’d change that before it shipped.

A

It’s 2am. Checkout is down and you have one engineer awake. First move?

Stop the bleeding before diagnosing. Roll back, confirm orders recover, then find out why.

A

Tell me about a time you disagreed with your lead and lost.

I pushed for a rewrite, got overruled, and it turned out fine. I’d argue it the same way but commit sooner.

A

Your resume says you led the payments rewrite. What was the hardest call you had to make?

Cutting scope. We shipped without the fraud rules and carried the risk for two weeks.

A

Follow-up

You just wrote this retry. Why five seconds, every time?

Habit, honestly. It should back off. I’d change that before it shipped.

A

It’s 2am. Checkout is down and you have one engineer awake. First move?

Stop the bleeding before diagnosing. Roll back, confirm orders recover, then find out why.

A

Tell me about a time you disagreed with your lead and lost.

I pushed for a rewrite, got overruled, and it turned out fine. I’d argue it the same way but commit sooner.

A

Type your answer. Plain, informal language is fine…

SCENARIO

Checkout is down

Error rate on checkout spiked right after the last deploy. One engineer is on call, no lead reachable.

ERROR /checkout returning 500 (94%)

WARN retry budget exhausted

IMPACT

£8k

lost per minute, live

Resume deep-dive

It starts with what they claimed.

It starts with what they claimed.

Every line on a resume is a claim. The opening round checks whether it holds up in their own words.

Every line on a resume is a claim. The opening round checks whether it holds up in their own words.

Coding follow-up

Then it looks at the work itself.

Then it looks at the work itself.

Not a puzzle. The code they wrote twenty minutes ago, while the reasoning is still fresh.

Not a puzzle. The code they wrote twenty minutes ago, while the reasoning is still fresh.

Scenario

Then it turns up the pressure.

Then it turns up the pressure.

A real incident with real constraints. You find out how someone decides when the decision costs something.

A real incident with real constraints. You find out how someone decides when the decision costs something.

Behavioral

And how they work with people.

And how they work with people.

The part that decides whether someone is good to build with, not just good at building.

The part that decides whether someone is good to build with, not just good at building.

The same engine runs every other round, too

Behavioral

System design

Debugging walkthrough

Code review

Incident retro

Take-home defence

Integrations

Integrations

Fits your hiring stack. No migration required.

Fits your hiring stack. No migration required.

Fits your hiring stack. No migration required.

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.

  • Greenhouse logo, an applicant tracking system TruDev integrates with
  • Lever logo, an applicant tracking system TruDev integrates with
  • Workday logo, an applicant tracking system TruDev integrates with
  • Ashby logo, an applicant tracking system TruDev integrates with
  • BambooHR logo, an HR platform TruDev integrates with
  • Greenhouse logo, an applicant tracking system TruDev integrates with
  • Lever logo, an applicant tracking system TruDev integrates with
  • Workday logo, an applicant tracking system TruDev integrates with
  • Ashby logo, an applicant tracking system TruDev integrates with
  • BambooHR logo, an HR platform TruDev integrates with
  • Greenhouse logo, an applicant tracking system TruDev integrates with
  • Lever logo, an applicant tracking system TruDev integrates with
  • Workday logo, an applicant tracking system TruDev integrates with
  • Ashby logo, an applicant tracking system TruDev integrates with
  • BambooHR logo, an HR platform TruDev integrates with
  • Greenhouse logo, an applicant tracking system TruDev integrates with

From the beta

From the beta

What candidates said
after their first run

Unedited, from engineers who sat a real TruDev interview during the beta.

  • Decorative background image for Parley template section

    Genuinely the first interview where I wasn’t performing. I just… worked. Strange feeling, in a good way.

    Decorative background image for Parley template section

    Genuinely the first interview where I wasn’t performing. I just… worked. Strange feeling, in a good way.

    Decorative background image for Parley template section

    Genuinely the first interview where I wasn’t performing. I just… worked. Strange feeling, in a good way.

  • Decorative background image for Parley template section

    Got dropped into a codebase I’d never seen and had to actually think. Beats reciting sorting algorithms at 9am.

    Decorative background image for Parley template section

    Got dropped into a codebase I’d never seen and had to actually think. Beats reciting sorting algorithms at 9am.

    Decorative background image for Parley template section

    Got dropped into a codebase I’d never seen and had to actually think. Beats reciting sorting algorithms at 9am.

  • Decorative background image for Parley template section

    I got one part badly wrong and still moved forward, because they could see how I got there. That’s never happened to me before.

    Decorative background image for Parley template section

    I got one part badly wrong and still moved forward, because they could see how I got there. That’s never happened to me before.

    Decorative background image for Parley template section

    I got one part badly wrong and still moved forward, because they could see how I got there. That’s never happened to me before.

  • Decorative background image for Parley template section

    Used the AI the same way I do at work, said so, and nobody treated it like cheating. Refreshing.

    Decorative background image for Parley template section

    Used the AI the same way I do at work, said so, and nobody treated it like cheating. Refreshing.

    Decorative background image for Parley template section

    Used the AI the same way I do at work, said so, and nobody treated it like cheating. Refreshing.

  • Decorative background image for Parley template section

    Ninety minutes and I somehow enjoyed it. I have never once said that about an interview.

    Decorative background image for Parley template section

    Ninety minutes and I somehow enjoyed it. I have never once said that about an interview.

    Decorative background image for Parley template section

    Ninety minutes and I somehow enjoyed it. I have never once said that about an interview.

Decorative mosaic texture in Parley AI agent Framer template

FAQ

Questions
answered.

How is this different from LeetCode tests?
Is candidate data safe with TruDev?
Do you penalize candidates for using AI?
How long does setup take?
Can we use our own codebase or material?

Watch them work
before you decide.

See how a candidate handles a real codebase under real pressure. Book a demo and run your first scenario this week.

Parley AI agent Framer template interface preview

Watch them work
before you decide.

See how a candidate handles a real codebase under real pressure. Book a demo and run your first scenario this week.

Parley AI agent Framer template interface preview

Watch them work
before you decide.

See how a candidate handles a real codebase under real pressure. Book a demo and run your first scenario this week.

Parley AI agent Framer template interface preview

TruDev

Social media

Judge engineers on real work, not resume keywords. Real codebases, real tickets, and proof behind every score.

TruDev

© 2026 TruDev

Decorative mosaic texture in Parley AI agent Framer template

TruDev

Social media

Judge engineers on real work, not resume keywords. Real codebases, real tickets, and proof behind every score.

TruDev

© 2026 TruDev

Decorative mosaic texture in Parley AI agent Framer template

TruDev

Social media

Judge engineers on real work, not resume keywords. Real codebases, real tickets, and proof behind every score.

TruDev

© 2026 TruDev

Decorative mosaic texture in Parley AI agent Framer template