How Stripe built one of Silicon Valley’s best engineering teams
Stripe, the payments company that makes it simple to accept payments on the web has quietly been amassing one of the strongest engineering teams in Silicon Valley. In this First Round Capital CTO Summit talk, Greg Brockman, Founding Engineer at Stripe, pries open the black box and shares how Stripe recruits. Below is an interpretation, not a transcript, of Greg’s talk. The credit goes to him for all the good stuff and you can watch the complete talk in the video below.
Measure the performance of each of your hiring channels and double down where you find the most success
The metric you’re looking to optimize is number of high quality hires - not number of candidates. Even if one channel brings in hundreds of good candidates, another channel that results in fewer hires but requires less effort will be a more efficient use of your time. This is how Stripe’s recruiting channels have performed...
- Referrals - Referrals tend to be a really fantastic way to bring people in and should be the first place you go. If you leverage each of your first ten hires’ networks, chances are you’ll meet some excellent candidates. When done right, internal and external referrals can scale your company pretty efficiently. Sit down and get your engineers to physically list out the best and smartest people they’ve ever worked with and then go after them with crazy intensity. As an added bonus, referral candidates might be easier to close because a friend’s recommendation goes a long way.
- The Career Fair Circuit - It’s the place where you’re “supposed to look.” but unless you're setup to handle that type of top of the funnel inbound and require new grads, you're best to skip it early on.
- Outbound - If you’re creating a developer-focused product, you might be able to hire people you interact with daily. Be sure to create stimulating events for this community (i.e. online capture the flag), as it will help you identify the most promising individuals.
- Inbound - These are the people who shoot you an email after visiting your careers page. Stripe spent a significant amount of time and effort on this channel but it hasn’t delivered a proportionately effective return.
- Contingency Recruiters- although a recruiter’s job “is to get you people” it’s been spectacularly unsuccessful for Stripe. Recruiters will inevitably send lots of people your way, and while it’s a free source of people, they aren’t often the A+ players you’re trying to hire.
Recruiting is like Marketing
Once you find great people, how do you convince them join your company? The very best people are always going to be in demand, particularly in the current market for talent. Consider approaching recruiting the way you approach marketing. The end goal of each is to make your company appear more desirable. You have to build a brand.
One way to do this is to devise great recruitment emails. Involve multiple people when composing your messages in order to collect a diverse perspective. One non-obvious place to invest is your rejection calls and emails. You’ll end up rejecting people who are very talented, but just not quite a good fit. Odds are they have some friends who are.
When you’re engaging an engineer, always be cognizant of the person you’re speaking with. If you post about how you need people who are willing to dedicate their entire lives to this company, you’re basically only going to be appealing to people in their mid-20s. This extends through the entire interview process and all the way up to when you’re actually making an offer.
Transparency is another great way to convey to a candidate that your company is a great place to work, especially in the offer stage (i.e. how you calculated the numbers, outstanding shares). Do unconventional things like offering to meet candidates on weekends. Consider getting senior team members to conduct interviews. If you and your employees are willing to take time out of your day, it demonstrates how much you care about the company you’re building. Candidates should walk away knowing a) your company is building something big and b) they’ll be really happy.
Don’t take circumstantial evidence as authoritative
Don’t assume that just because someone worked at Google they’re going to have extensive knowledge of distributed systems. Google-sized companies often have pre-built infrastructure and engineers don’t need to know how to build it in order to use it. Every time Stripe has made assumptions about someone’s ability they’ve turned out to be wrong. Seek personal references from people who have worked with them.
Focus on distinguishing the great from the good
It’s easy to tell if someone's not good but it's difficult to tell the difference between someone who is good and someone who is great. Your interview should be focused on distinguishing the great from the good.
Stripe uses a collaborative hack project (typically prepared in advance to make sure they’re well suited for someone’s interests and skill set). If a candidate doesn’t want to do it, you don’t want to hire them anyway.
The Sunday Test
Stripe turns down candidates with outstanding engineering talent if they don’t fit with the team’s culture. Each candidate must pass the “Sunday test:” if this person were alone in the office on a Sunday would that make you more likely to come in and want to work with them? If the answer is not a clear yes, then don't make the hire. Hiring a few bad eggs might impact your ability to attract top talent in the future. In the short term, you might miss out on really great people, but like recruiting, you have to play the long game.
The first hire in a new role/department is incredibly important
Whenever you’re hiring the first person for a particular role or division, always hold out for the person who's mastered all the sub pieces. This person defines the trajectory for their department and will likely be responsible for building that team. They need to inspire other talented people to want to work with them.
Taking this approach can be really painful because you have to wait a lot longer before you’re able to make this hire. Finding someone who can do both the day-to-day execution of going out and selling to customers and the higher level strategy of figuring out who to sell to, for instance, is really hard.
Hire people instead of roles
One thing that's worked well for Stripe is bringing on people who didn’t have an immediately obvious role in the organization. If you can think of one thing this person can do, then there’s probably ten more you're not thinking of that he/she can do two months from now. Focusing on hiring to fill a role could make you more likely to sacrifice quality just to get someone with the right skill set.
Trust your instincts.
It turns out that when you think that someone's not good, you're almost always right.