Sample artifact · vetting write-up
Vetting write-up: senior backend engineer
- Role
- Senior backend engineer · payments
- Session
- 2 h 05 m, live, screen shared
- Run by
- Andrés
- Stack
- Go, Postgres, Kafka, AWS
- Recommendation
- Shortlist, with one caveat below
This is a real session write-up with the candidate's name, employer history and repository links removed, published with his permission. Every shortlisted candidate arrives with one of these attached. Nothing in it is edited to flatter the candidate or us.
Summary
Shortlist. He is the strongest reasoner we have run through the gate on write-path problems, and he argues with you in a way that will be useful in a design review. He is not the fastest typist in the working session and he will ask more questions in week one than a US hire at the same level.
One caveat, stated plainly: he has never operated Kafka in production. He has read about it and reasoned about it well, but if your role needs someone to own the existing Kafka cluster from day one, he is the wrong person and we would rather tell you now.
Axis by axis
Systems reasoning
Strong
Given 4M events/day on one Postgres box, he went to the write path before the read path and named lock contention on the ledger table as the first thing to break. We did not prompt for it. He was wrong about the index that would help and said so once he thought about it.
Working session
Strong
Ninety minutes in his own editor on a double-entry bug. Formed a hypothesis, wrote a failing test to confirm it, then fixed it. Did not reach for the debugger until the test told him where to look.
AI-assisted development
Strong
Used Claude for the migration script. Read the output, caught that it did not wrap the backfill in a transaction, and rewrote that part by hand. Did not use it for the ledger logic and said he does not trust it there yet.
Code he defends
Pass
Walked us through a rate limiter he shipped in 2023. Explained why he chose a token bucket over a sliding window, then said he would use the sliding window now because the burst behaviour caused a support load he had not predicted.
Written communication
Pass
One-page brief, written after the session, unedited by us. Structured, hedged where he was uncertain about our traffic shape. Two typos. English is clear in writing and slightly slower in speech.
Collaboration signal
Strong
Told us the retry design in the prompt was wrong and explained why, without being asked to critique it. When we pushed back he held the position and then conceded a narrower version. This is the axis he scored highest on.
What he got wrong
He proposed a covering index that would not have helped the query he was worried about, because the predicate was on an expression rather than a column. He noticed this himself about four minutes later, unprompted, and corrected it.
He also assumed our idempotency keys were unique per request rather than per operation, and built two minutes of reasoning on top of that assumption before checking it. The lesson we take from this is that he will move on a bad premise if nobody states the premise, so state your invariants in writing when you brief him.
On the AI axis he initially accepted a generated backfill script that would have run outside a transaction. He caught it on his own read-back, which is what we score, but the first instinct was to accept.
How to work with him
Give him the constraint, not the solution. He performed noticeably worse on the one task where we handed him a prescribed approach, because he spent the first ten minutes trying to work out why we had chosen it.
Overlap is six to seven hours with US Eastern. He starts early and is offline by mid-afternoon Eastern, so put anything synchronous in your morning.
What we did not test
Frontend work of any kind. Incident command under real production pressure. We can simulate the reasoning but not the stress. Anything to do with your specific compliance surface. If those matter for the role, test them yourself in the live session with your tech lead, which happens before anyone signs anything and costs nothing.