Running a 3-person startup means every engineering hire is high-stakes. Here's the assessment framework we landed on after several failed attempts.
What didn't work
Live coding in a video call — candidates froze up, output didn't reflect their actual ability. Senior devs especially hated being watched.
Full take-home projects (3–5 hours) — good candidates dropped out because their time is valuable and they had options.
Just asking about past projects in an interview — too easy to embellish, no signal on actual implementation thinking.
What worked: a focused 90-minute async task
The format we converged on:
A real, scoped problem from our actual codebase context (not a LeetCode puzzle)
90-minute time limit , explicitly communicated upfront
Asynchronous — they pick a 2-hour window, we review async
Evaluated on reasoning, not perfection
We send a single file: a TypeScript module with a bug, a missing feature, and some intentionally messy code.…