I had been at a 4,000-engineer scale-up for 3 years and wanted out. A friend forwarded me a Series A devtools startup (12 engineers, NYC, Sequoia-backed, just past their A) and I went into the loop expecting it to feel like a smaller version of the loops I had been through. It did not. The shape was three rounds in 9 days, the technical bar was high but unsurprising, and the founder round at the end was the one that actually decided whether I got an offer. Most of what I want to write down is about that round.
The loop, end to end
The recruiter (one of the co-founders, doubling as recruiter because the team was 12) sent me a one-page brief on day zero. I appreciated this enormously: company, current stage, engineering org chart (literally 12 names and what they did), the role, the loop shape, the comp band. The loop:
- Round 1, day 2: 60 minute pair-programming round with a senior engineer (videocall, my IDE, a real bug from their issue tracker rewritten as a self-contained repro)
- Round 2, day 5: 90 minute architecture round with the head of engineering (one of the co-founders)
- Round 3, day 9: 45 minute founder round with the CEO (the other co-founder, formerly an engineer)
No behavioral round. No coding screen. The pair-programming round replaced both. I asked the recruiter why; she said "behavioral comes out in the founder round, and if you cannot pair on a real bug we will not move forward anyway".
Round 1: pairing on a real bug
The bug: their CLI tool was occasionally producing duplicate log lines on stderr when run inside a container with a TTY. The senior engineer pasted me a 200 line Go file that wrapped a bufio.Scanner and called it on a pipe. The bug was that under certain pipe-buffer pressure, the wrapper was double-flushing.
I did not know Go well (I had written some at my previous job, never a primary language), and I said so up front. The interviewer said "good, that means you cannot pattern-match the answer". We worked through it together. I did the thing I would do in any language: print the inputs, narrow the surface, write a test that reproduces it, then read the docs for bufio.Scanner carefully (specifically Buffer and the default 64KB cap). The bug came down to a select block that was reading from two channels, one of which was the flush ticker, and on rare interleavings both fired.
We did not fully fix it in the hour. We isolated it, wrote a failing test, and sketched the fix. The interviewer told me at minute 55 that he was going to recommend moving forward. The round was not grading whether I knew Go. It was grading whether I could be useful inside a real codebase on day one without pretending to know things I did not.
Round 2: the architecture round
This was the textbook-shaped round, with one twist. The head of engineering walked me through their current ingestion pipeline (a write path that fanned out to a queue, a worker pool, and a Postgres table, with some custom rate limiting) and asked me to redesign it for 100x throughput. The twist: he kept stopping me to ask "what would you do this week, what would you do in three months, what would you do in a year".
The round was grading sequencing. I drew the same target architecture I would have drawn at any company (queue, partitioned consumers, a write-ahead step, a separate analytics fork via change-data-capture), but the answer he wanted was the order. "This week" was "raise the worker pool size and add a SLO dashboard so we can tell what is actually broken". "Three months" was "split the ingestion into a fast path and a slow path". "A year" was "introduce CDC and build the analytics consumers off the change stream". When I tried to rush to the year-out architecture in minute 20, he said "no, we will not survive long enough to need that if we ship that next sprint".
I moved forward. Round 3 was scheduled before I logged off the call.
Round 3: the founder round
45 minutes with the CEO. Calendar invite, no agenda, no prep doc. I had read every blog post on their company site before the call, plus a podcast the CEO had done two months earlier where he talked about why they had killed a feature that 30% of their customers were asking for. I also had two questions of my own that mattered to me: how decisions were made when the founders disagreed, and what the worst week at the company in the last year had looked like.
He opened with "tell me about the last time you disagreed with your manager and were right". I told a story from my previous job about pushing back on a third-party SDK adoption that turned out to have been the wrong call (we adopted it; it broke the migration). The story took 4 minutes. He asked one follow-up: "what did you do after you found out you had been right and it had been adopted anyway". This is the question I think actually decided the loop.
The honest answer was "I was bitter for two weeks, then I helped my teammate who owned the SDK migration write the rollback plan because he was the one who was going to get blamed otherwise". I told him exactly that. He said "that is the answer I was hoping for" and moved on.
The rest of the round was him asking me what I would not want to work on for two years, and what I thought their company was going to get wrong in the next 18 months based on what I had read. The first question I answered honestly (I do not want to be the only person on the platform team again; I would like at least one peer at my level). The second question is where I had to swing: I told him that the killed-feature decision he had described on the podcast was probably going to come back as a competitor's wedge, and I told him what I would do about it. He pushed back hard. The pushback was the round. I held my ground on the parts I thought were defensible and conceded the parts that turned out, in his telling, to be downstream of context I did not have. We went 8 minutes over.
He sent the offer 4 hours later.
What the founder round was grading, distilled
The founder round was not a behavioral round. It was a 45 minute calibration test on three things: do you tell the truth when the truth is unflattering, can you hold an opinion under pushback without losing your mind, and have you done your homework on what they are doing. I had been treating it as a behavioral round and I almost over-prepared. The thing that worked was preparing to have an actual conversation rather than answering a script.
The two prep mistakes I would not repeat
I took the offer. Two things I would do differently if I ran this loop again. The first is I would have asked the recruiter to put me on a 30 minute call with one engineer who was not interviewing me, before round 3. The CEO told me later they would have happily done this; I just did not ask. The second is I would have written down my two questions for the founder before the call instead of relying on remembering them. I forgot the second one until the last 90 seconds of the call and ran out of time to actually get the answer.
