No tricks. No surprises. Here’s the entire process.
1 — Talk with us about the role
This is completely open ended and we’re just trying to see who you are, what you want to do, and where you wanna go.
2 — Work on a small project to discuss in the interview
Asynchronously design a system that scales. You choose the domain — pick whichever shows your thinking best:
•
A usage metering and billing pipeline that meters CPU/RAM for millions of workloads and bills accurately (you may depend on third parties such as Stripe), or
•
A stream-processing system that ingests high-cardinality observability events in real time, or
Whatever you pick, come ready to defend the architecture end-to-end. We’ll dig into:
•
Polling vs. stream processing, and how you avoid losing data when streaming
•
Correctness under concurrency and partial failure: idempotency, retries, reconciliation, what happens when a step fails halfway through
•
How you handle cardinality, and which tools you lean on and why
•
The scalability of the things you depend on — what happens when Postgres becomes the bottleneck
•
Interview Structure to expect (60 Minutes):
•
Prework (submitted before your interview): Your design
•
0–5 minutes: Introductions
•
5–35 minutes: Walking through the design and how you’d extend it — new failure modes, 10x load, a fraud signal
•
35–50 minutes: Noodling on technology, data modeling, and how you think about scale, money-movement, and abuse
•
50–60 minutes: Time for you to ask your interviewers questions
You can, and SHOULD! ask us questions ahead of time. Ask away!
3 — Review your solution with the Team
You’ll sit down with someone on the team and go over the above. We’ll poke into your solution, as well as get you acquainted with two more members of the team.
Looking for: Learn about your problem solving skills. How you break down a problem and how you present a solution.
You’ll meet the Team, which will be comprised of 4 people from vastly different sections of the company.
Looking for: How you work with the rest of the team and communicate.
Sit down with our founder and CEO for 30 minutes. This is a 1:1, open ended conversation.
Finally, we will present the offers, hammer out the details about your position, tee up onboarding, and start our journey together.
Final Note: The interview goes both ways. Once again, please ask us things. Many things! Hard things. That’s what we’re here for.