
Affirm Software Engineer interview typically runs 3-6 rounds: recruiter screen, technical screen, hiring manager, system design, and onsite or panel. It usually takes about 1-2 months and is often quick-moving but can feel drawn out.
$146K
Avg. Base Comp
$277K
Avg. Total Comp
4-6
Typical Rounds
3-8 weeks
Process Length
We’ve seen a consistent pattern at Affirm: the team cares less about flashy theory and more about whether you can turn a prompt into working code quickly and cleanly. Multiple candidates described questions that were easy to moderate on paper but still unforgiving in execution, especially when the clock was tight. One candidate was rejected after solving a medium problem correctly but not fast enough, and another noted that even small language-specific syntax mistakes were noticed in a round that otherwise felt straightforward. That tells us the bar is not just correctness — it’s crisp implementation under pressure, in the exact stack they expect.
A recurring theme is that Affirm likes problems with a real product or operations flavor. We’ve seen log filtering, user validation, payment flows, and even a design constraint around an external bank API with a limited request window. That’s a strong signal that they value engineers who can reason through business rules and edge cases, not just generic algorithms. Candidates also reported a few rounds that leaned into their internal Python ecosystem or a specific library, which can surprise people who prepare only for standard LeetCode-style interviews.
The other non-obvious factor is consistency over a longer process. Our candidates report a polite, professional experience, but also one where the evaluation stays technical all the way through and feedback can be sparse at the end. In practice, that means Affirm seems to reward candidates who can keep their answers grounded, explain tradeoffs clearly, and stay sharp across multiple coding checkpoints rather than peaking in just one interview.
Synthetized from 8 candidates reports by our editorial team.
Had an interview recently?
Share your experience. Unlock the full guide.
Real interview reports from people who went through the Affirm process.
Share your own interview experience to unlock all reports, or subscribe for full access.
Sourced from candidate reports and verified by our team.
Topics based on recent interview experiences.
Featured question at Affirm
Write a function is_subsequence to find out if string1 is a subsequence of string2
| Question | |
|---|---|
| 2nd Highest Salary | |
| Top Three Salaries | |
| Empty Neighborhoods | |
| Merge Sorted Lists | |
| Rolling Bank Transactions | |
| Comments Histogram | |
| String Shift | |
| Closest SAT Scores | |
| P-value to a Layman | |
| Prime to N | |
| Find the Missing Number | |
| Over 100 Dollars | |
| Scrambled Tickets | |
| Maximum Profit | |
| Minimum Change | |
| Hurdles In Data Projects | |
| Cumulative Distribution | |
| Rectangle Overlap | |
| Sum to N | |
| Find the First Non-Repeating Character in a String | |
| Last Transaction | |
| Size of Joins | |
| The Brackets Problem | |
| Paired Products | |
| Alphabet Sum | |
| Google Maps Improvement | |
| Level Of Rain Water In 2D Terrain | |
| Nearest Common Ancestor | |
| Unique Work Days |
Synthesized from candidate reports. Individual experiences may vary.
The process usually starts with a recruiter phone call or LinkedIn outreach. This is a fit check covering background, salary expectations, remote work or location preferences, role details, and interview logistics, along with a few basic behavioral questions. Candidates then complete a live coding interview, often in the language for the role. Questions tend to be implementation-heavy and can range from easy to medium difficulty, including LeetCode-style problems, data manipulation, hashing, graphs, or company-specific coding tasks.
A hiring manager conversation follows in many loops and is usually more conversational than the coding rounds. It focuses on past projects, teamwork, tradeoffs, conflict handling, and overall fit for the team. For some candidates, especially more experienced or senior loops, there is a system design round. Examples included designing a payment system with external API constraints, and the discussion often mixes architecture, practical tradeoffs, and real-world constraints.
Several candidates reported a second coding interview or another technical checkpoint after the first screen. This round can be similar to the first but may be more challenging or more tied to Affirm's stack, including Python-specific libraries or practical business-rule coding. The final stage is typically a virtual onsite or panel with multiple interviewers. It may include multiple technical rounds plus a hiring manager conversation, and in some cases a culture-fit or behavioral discussion with a larger panel.
Some candidates also had a final conversation with a skip manager or another senior leader. This stage appears to be a wrap-up discussion focused on fit and experience before the final decision.