I spoke with a recruiter who set up the initial phone screen. Their interview platform worked well, and I enjoyed the exercise, which was to build a caching system. The interviewer was pleasant and gave me an opportunity to ask questions as well.
Four follow-up interviews were then scheduled soon after:
The manager on the fit call was very open and easy to talk to. They told me a lot about the team, and I felt like I got a good sense of what the job would be like. The design challenge was to build a system architecture, a database ERD, and a basic API spec. I wasn't asked any particularly difficult questions; it all went smoothly and seemed like pretty basic stuff.
The technical interview presented a great problem that seemed simple at first but quickly revealed itself to be complex as you dug into it. The task was to build a simple storage and retrieval system, but with the catch that it must have O(1) time complexity. After clearing up the requirements and exploring a naive approach, it became clear that something more was needed. I suggested a doubly-linked list, but the interviewer immediately shot that down and suggested I stick with arrays. I didn't argue, but I still don't understand why that suggestion was made, as it resulted in a much more complex solution. The interviewer gave me a couple of hints in the right direction, and I put together a seemingly working solution. After writing a series of tests, I found some edge cases and was still a few lines short of finishing them when time was called. The interviewer reassured me that I did great and most people never even discover those edge cases.
Shortly after the third interview, I got a notice from the recruiter saying they had decided not to move forward. No other feedback was given, so I'm not sure what the decision was based on. I was given no indication that my performance was lacking; in fact, I was told the opposite.
I'm hesitant to even bring this up, but just in case there is a pattern that other candidates might be able to see, it's worth noting that my identity as LGBTQ+ would have been apparent in the video calls. I don't intend this as any sort of accusation, as without any feedback about why their decision was made, there's no reason to believe this was a consideration over anything else.
If others had a similar experience and mention it here, then maybe a pattern can be identified and it should be questioned. If that doesn't happen, I think it's safe to ignore this bit and chalk up the whole experience to simply not having been a good fit for some other reason.
I don't like to reveal specific interview questions because it's frustrating as an interviewer to have to switch questions every time they get leaked. One that was already mentioned here was building a caching system.
The other programming challenge was pretty standard, and if you spend some time on HackerRank, you should be prepared for it.
The following metrics were computed from 26 interview experiences for the Patreon Software Engineer role in United States.
Patreon's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having negative feelings for Patreon's Software Engineer interview process in United States.