I applied online. The process took 2 weeks. I interviewed at Affirm (San Francisco, CA) in June 2019
Interview
initial call with recruiter, purely behavioral, asking about what im looking for in a new role, why im looking to leave, what's an ideal role, etc. etc.
setup a tech screen with a senior software engineer. wasn't prepared. Just like anyone else who hasn't interviewed in a while, tech interviewing is a skill. You may need a refresher if you haven't done it in a while. I was given a prompt which was directly related to something you might do on the actual job which I really enjoyed. The recruiter explained the prompt, which was very long and also took a little while explaining too. Make sure to read it very carefully. After setting up some initial code, he pointed out I missed something in the prompt, which I began trying to change. I asked all of the right questions about clarifying what edges cases I needed to check, which he seemed pleased. He then gave a suggestion on using recursion to cover the edge case in question we needed to check. Since I've been primarily front end in my current job and haven't done anything back end in a while, my memory on recursion was a bit hazy. I had written out some code with some of my thought process from what I remember, but he pointed out that I just needed to add something small which I had completely missed. It was at this point we ran out of time and he made sure we had some time for questions to ask him. I received a rejection email the next day which I believe was because of not remembering recursion very well. Think the next step after this was the final onsite
Overall, although I forgot recursion, he was one of the most professional engineers I've interviewed with and this felt much more like a pair programming situation rather than an interview. From comparing how they train interviewers at my current job, I would say Affirm is a company other companies should look at when it comes to how to train engineers for interviewing. I'd also like to applaud Affirm for actual using questions that may be an on the job task you might have to do. Often times, some companies out there will ask silly irrelevant things like "implement bubble sort" which is something purely from a college cs textbook which has no relevance to how well you'll do on an actual job (if you remember bubble sort or not).
This experience should be a good reminder for everyone that although you may not use concept X or concept Y at your current job or at previous jobs, that doesn't mean you can't find success as an engineer, but you'll have to take a refresher on concepts like recursion.
Interview questions [1]
Question 1
Without being too specific about the tech question, it was a graph problem involving creating a class where one of the methods was finding a path inside the graph.
Thanks for providing feedback on your interview experience. We're glad to hear you had a positive experience and wish you the best of luck in your job search!
Other Software Engineer interview reviews for Affirm
Took roughly 2 months total. Recruiter was very fast to respond and the interviewers were all very nice and collaborative during the interview. Typical HR call, two technical rounds, and behavorial round.
Live coding #1 focuses on algorithms and data structures, testing problem-solving skills and efficiency. Live coding #2 emphasizes coding challenges and practical problem-solving. The behavioral round assesses experience, teamwork, and culture fit.
Interview questions [1]
Question 1
They asked a coding problem on arrays and hashing to test problem-solving and algorithmic skills.
There were three interviews: one with HR, and two technical ones. Quick process, the recruiter was very responsive. Leetcode style questions in the technical interviews, the first one was easy while the second one was medium/hard.