tl/dr - seems like a great organization, but interview process a little silly and doesn't match job description.
First I should point out that everyone I talked to was gracious, professional, and seemed top rate. The recruiter in particular was outstanding and kind (even when I was venting my frustration at the follow up call).
I was pretty excited about this one after taking a look at their products and organization, so I put in extra effort to prepare. The job description described the position's 'core responsibilities' as:
- Become an expert on Stripe’s APIs and how to best deploy them.
- Help Stripe customers integrate with our APIs and products.
- Own and drive relationships with external technical audiences
- Be the technical relationship owner and subject-matter expert with the customer
- Educate customer technical teams on Stripe products.
With these responsibilities in mind, I was under the impression that the job required a deep knowledge of their products/API's. So in preparation I:
- Read through their complete set of documentation
- Walked through/tried all of their requests from the payment and billing API using both Python and Java. ( I found a quirk in their list subscription items functionality in Python)
- spent time understanding/trying out error responses, idempotency, metadata.
- used a dummy webhook endpoint to capture events and take a look at them as I was working through the UI.
- built a mini project with a web front end that hit against my sample Stripe account using the API.
I brought my laptop to show what I had learned up to that point.
I completely wasted my time. No one at any point in the interview process had any interest in what I knew. There was a role playing session that I thought was a little silly, another session that went over some customer situational hypotheticals, a high level SQL session, a presentation session and a talk with the hiring manager. For the most part I enjoyed the day, but it didn't seem to match what I thought the interview process would be for a technical role.
The feedback I received ("not enough client facing experience") was a little insulting. I have more than a decade of customer facing experience as a technical consultant, trainer, escalation manager, technical account manager, and product manager.