
Affirm Software Engineer interviews typically start with a recruiter call, then live coding, a hiring manager conversation and, for some candidates, system design or a virtual onsite. Reports stress practical, Python-leaning coding.
$170K
Avg. Base Comp
$245K
Avg. Total Comp
3-6 rounds
Typical Rounds
Not reported
Process Length
Candidates describing Affirm's Software Engineer loop most often mention a recruiter call, a live coding screen, and a hiring manager conversation. Some also report system design or a virtual onsite. The coding is often described as easier than classic LeetCode, but practical, language-specific coding is the recurring theme.
Several candidates describe business-flavored tasks. These include filtering log-like user inputs under business rules, fixing an ordering bug in a HashMap-based problem, completing a partially written Python class for fraud detection, and joining three CSV tables in Python. One candidate reported that feedback focused on Python syntax even though Java had been accepted as their background, and another said the team was Python-based. If the role is Python, practice writing and reading it fluently under time pressure.
System design reports lean toward payments. One candidate designed a loan repayment system that had to call a bank API available only a few hours per day. Another designed a simple data model for a peer-to-peer payment system, and said they had prepared for far heavier distributed-systems topics. Prepare clean data modeling and failure handling first.
Behavioral and hiring manager rounds cover past projects, teamwork, conflict, and giving difficult feedback. Reports of total length vary, with two candidates describing about two months or more, so expect some waiting between stages. Most reported processes ended without an offer, though one candidate reported an offer.
Synthesized from 35 candidate 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
How would you improve Google Maps?
| Question | |
|---|---|
| String Subsequence | |
| Hurdles In Data Projects | |
| Alternative Vendor Tradeoff | |
| LRU Cache 1 | |
| Reddit-like Notifications | |
| 2nd Highest Salary | |
| Employee Salaries | |
| Empty Neighborhoods | |
| Top Three Salaries | |
| Closest SAT Scores | |
| Subscription Overlap | |
| Monthly Customer Report | |
| Rolling Bank Transactions | |
| Top 5 Turnover Risk | |
| Payments Received | |
| Total Spent on Products | |
| Merge Sorted Lists | |
| Top 3 Users | |
| String Shift | |
| Find the Missing Number | |
| Scrambled Tickets | |
| Comments Histogram | |
| Get Top N Frequent Words | |
| Last Transaction | |
| Like Tracker | |
| Find the First Non-Repeating Character in a String | |
| Bagging vs Boosting | |
| P-value to a Layman | |
| Maximum Profit |
Synthesized from candidate reports. Individual experiences may vary.
Candidates report a short recruiter call covering background, the role and team, and the process ahead. One said it also touched on salary expectations and remote work. Reported lengths range from about 15 to 30 minutes, and it is generally described as straightforward.
Candidates report a live coding round, with lengths from 30 to 60 minutes. It is often described as easy to medium. Tasks reported include dictionary-based problems, log filtering under business rules, fixing an ordering bug, and joining CSV tables in Python. One candidate described Python library familiarity as a factor. Practice in the role's language.
Candidates report a hiring manager round of about an hour that focuses on past projects, ownership, tradeoffs, teamwork, and conflict, sometimes mixed with technical questions. Be ready to explain one past project in depth and to give concrete examples. One candidate found this round the most consequential.
Some candidates report a second coding session or a roughly one-hour system design round. Reported prompts include a loan repayment flow with a time-limited bank API and a peer-to-peer payment data model. Candidates typically describe practical modeling rather than deep distributed-systems work, though expectations may vary by level.
Some candidates report a virtual onsite or panel with several technical and hiring manager conversations. Decision timing varies: one candidate reported about a two-week wait and a standard rejection, and another said the role had been filled by the final round. Total length of about two months or more was reported by two candidates.