The most practical interview loop in tech — no LeetCode puzzles, just realistic coding, debugging, and integration work at a high bar.
From the recruiter screen to the offer call. Median duration is shown in each badge.
Background walk; they route hard toward team needs.
Realistic multi-part problem in your own editor and language; tests encouraged.
Read real-style API docs and build against them; handling edge cases is the point.
Find bugs in an unfamiliar codebase; design a payments-adjacent system.
Trajectory, collaboration, 'why Stripe'.
Drawn from reader interview reports. Frequency = how often the question (or a close variant) was reported.
Implement rate limiting for an API client from a written spec, then extend it twice.
A currency-conversion module returns wrong totals for some locales — find out why.
Build a small client against a mock payments API with retries and idempotency keys.
Reader-reported offers. Verify against Levels.fyi for your location and level before you negotiate.
| Level | Base | Bonus | RSUs | Total / year |
|---|---|---|---|---|
| L2 (mid) | $200K | — | $220K / 4yr | ~$255K |
| L3 (senior) | $240K | — | $380K / 4yr | ~$335K |
I got through two of four parts on Stripe's coding screen and spent the next nine days assuming I had blown it. I had not. The recruiter emailed on a Tuesday to book the virtual onsite. That gap — between how the Stripe software engineer interview feels while you are inside the timer and how it is actually scored — is the most expensive misunderstanding you can carry into this process, and it shows up at the assessment stage, before you have met a single person who would be on your team.
So let me walk the thing in the order it actually happens to you.
When you searched for this, you were probably bracing for a link to an autograded platform: 90 minutes, three problems, a webcam watching you, a score you never see. The data I have on Stripe's loop as of July 2026 does not describe that. What it describes is a 60-minute coding screen where you work a realistic multi-part problem in your own editor, in your own language, with tests encouraged.
I want to be straight about the limits of that: I do not have a field confirming Stripe never sends an autograded assessment for any req. Pipelines vary by org and by year, and if you got a link to a timed platform, your process is not the one described here. But the round nearly everyone means when they say "the Stripe OA" is that 60-minute practical screen, and it is where the largest share of candidates stop.
The headline everyone repeats — no LeetCode at Stripe — is true and it is also the trap. Nobody is going to ask you to invert a binary tree. They are going to ask you to write software, and being asked to write software under observation is harder than being asked to recall an algorithm.
Before the code, there is a 30-minute background walk. It is not a formality, and it is not primarily about you — recruiters here route hard toward team needs. What you say about the systems you have actually operated determines which team's rubric your coding screen gets read against.
The practical move: pick the two most infrastructure-flavored things you have shipped and describe them in terms of failure, not features. "I owned the retry logic for our billing webhook consumer and here is the bug we shipped in March" places you. "I worked on the payments team" does not.
The format is a single realistic problem delivered in parts. Part one is small and deliberately non-tricky. Then it gets extended. Then it gets extended again. The extensions are the interview; part one is the setup.
The first five minutes are yours to spend on environment. Have your editor open, a scratch file created, your test runner already able to run an empty test. I lost real minutes once fighting a Python virtualenv on a screen share while the interviewer watched politely. That is time taken from part three, and part three is where the signal is.
During part one, resist the urge to build for the future. You do not know what the extension is. Candidates who over-abstract on the first part routinely have to unwind it when the second requirement lands, and unwinding under a clock reads as thrash. Write the small, clean, obvious version. Then write a test for it. Tests are the single clearest separator I have seen between people who advance and people who do not — not because Stripe grades coverage, but because a candidate who writes an assertion is a candidate who has defined correctness out loud.
Talk while you type, but talk about decisions, not narration. "I am storing timestamps rather than a counter because the extension might ask for a sliding window" is signal. "Now I am writing a for loop" is noise.
From reader reports through 2026, three question shapes recur, and they are not disguised algorithm puzzles:
If you want one afternoon of preparation that maps directly onto all three, it is this: write an HTTP client that retries with backoff, dedupes with an idempotency key, and has tests proving that a duplicated request produces one charge. Do it in the language you would use at work. Time yourself at 60 minutes.
Three failure modes, in rough order of frequency.
Silent debugging. When you hit a bug, most people go quiet and start scanning. The debugging round later in the loop is explicitly about finding bugs in an unfamiliar codebase, and the screen previews that skill. Say what you believe, say how you will check it, then check it.
No edge cases mentioned. Not necessarily handled — mentioned. "I am not handling clock skew here; in production I would" costs eight seconds and demonstrates you know the boundary exists.
Finishing everything but finishing it dirty. A candidate who completes three parts with named variables, a passing test, and one honest TODO beats a candidate who completes four parts of unreadable code. Polish is the bar. That is what "practical" means here — it does not mean easier.
What comes after, so you can size the screen properly: a 90-minute integration round where you read real-style API docs and build against them, a two-hour block combining debugging in an unfamiliar codebase with a payments-adjacent system design, and a 45-minute hiring manager conversation about trajectory and why Stripe. Five rounds total, virtual. The coding screen is the filter that decides whether you get to spend a full day proving you can do the job.
Base range runs $180K–$260K. Here is what the levels look like:
| Level | Base | Equity | Approx. total |
|---|---|---|---|
| L2 (mid) | $200K | $220K over 4 years | ~$255K |
| L3 (senior) | $240K | $380K over 4 years | ~$335K |
No cash bonus line is listed for either level, which means your negotiation surface is base and equity, not a target bonus you can argue up. Stripe sponsors H1B, which narrows your realistic options less than you have been told it does.
Read the equity number carefully rather than adding it to base and celebrating. Private-company equity is a real number attached to a liquidity event you do not control the timing of. Compare offers on base first, then treat equity as weighted upside.
Send this application if your strength is shipping working software — if you have debugged production, written tests because you wanted them, and read API docs closely enough to catch the paragraph that contradicts the example. Do not send it if your interview prep to date is a LeetCode streak and nothing you can point to that runs. This loop cannot be pattern-matched, which is exactly why it is the highest-expected-value stretch application available to someone who was not born into the FAANG pipeline.
Highest-leverage single prep item: build that idempotent, retrying API client with tests, in 60 minutes, twice.
Two of four parts is what I finished, and I advanced — because the two I finished had tests, named things honestly, and I said out loud what I had not covered. They are not counting your parts. They are reading your code.
Stripe pays Big Tech money for a loop that never asks you to invert a binary tree. That doesn't make it easy — the practical bar is the highest on this list, and polish matters: clean code, tests, edge cases, reading the docs carefully. If your strength is shipping real software, this is the highest-EV stretch application you can send.