Every tech company tries to hire the best talent available, but there is a lot more to building a great team than just putting a group of talented individuals in a room. I’ve worked on a number of teams and witnessed varying degrees of cohesion. So when I joined Stripe as our first engineer, I brought with me a conviction that we should obsess over our team’s personal interactions. And when I started building our recruiting program, I made sure we spent as much time thinking about how new hires would affect our culture as how they would perform at their jobs.
I’ve strived to create an environment of happy, productive people who are excited to show up to work in the morning (or afternoon, as appropriate!). I’ve found that this environment, while being extremely positive in its own right, also gives us a competitive advantage in recruiting. The following points are the most important takeaways that I’ve learned while heading up recruiting.
1. Only hire people who make others want to be around them.
We apply what we call the “Sunday test” to every candidate. If this person was alone in the office on a Sunday, would that make you more likely to come in just to hang out with him? We only make a hire if the answer is a strong yes. Not only should working with your coworkers be tolerable, it should be something you actively enjoy.
This principle is easy enough to espouse, but it took me a long time to become comfortable with sticking to it in practice. We have often needed to make a hiring decision on an otherwise great engineer who failed this test. And I sometimes have to remind myself that no matter how talented an engineer might be, if I know in my gut that our team would be less happy with this person on board, then it’s not worth it. Bringing someone on board who isn’t a good fit will only make it harder to hire other talented engineers in the future.
2. Each new hire should increase the team’s quality.
Every additional hire has the ability to slightly increase or decrease your team’s quality. By always pushing forward the quality, you can make a good team great. (See the Lake Wobegon strategy for a detailed discussion of this technique.)
Early in Stripe’s history, we ensured that each new hire had a skill set that was missing from our existing team. I brought my experience designing and running large-scale systems to the team; one of our subsequent employees had negotiated deals with all the major record labels. Now that we have about twenty people on staff and have covered most of our needed skill sets, the standard has shifted towards making sure the candidate can do some task better than anyone currently at Stripe.
3. Never make a hire simply for an immediate need.
As a fast-growing company, we often find ourselves with pain points that feel increasingly urgent. For example, after Stripe came out of beta, the company had to deal with skyrocketing support requests from users. I knew we had to hire fulltime support engineers, and it was extremely tempting to lower the bar. But if I had, our culture, happiness and team quality would have suffered. Ultimately, making short-term optimizations at the expense of long-term goals does more harm than good.
4. Take time to integrate new team members.
For a long time, I didn’t think we needed to do anything special to integrate new employees. But as we grew, I noticed that new hires were spending an increasing amount of time trying to figure out how our internal processes and structures worked. And even worse, I would often talk to a new hire and find that she had accumulated a slew of questions, and she wasn’t sure whom she should ask.
Now, when a new hire starts at Stripe, we put a lot of work into helping her acclimatize and become as happy, productive and effective as possible. From day one, she is assigned an experienced employee to serve as a mentor. We ensure that lots of team members spend time with her, even if they don’t work directly with her. We aid her in exploring the space of possible projects she could work on, as well as spinning her up on the skills and tools needed to do the job.
5. Be willing to let people go, but hate it when you do.
Occasionally, a hire doesn’t work out. Sometimes, the issue isn’t with the hire directly — it’s just a problem of fit with the rest of the company. In these cases, I’ve found that you need to summon the will to part ways. When we’ve done this, we’ve always felt much better about the long-term prospects of the company afterwards.
At the same time, a firing should never be regarded as a positive outcome. They are painful for everyone involved, and indicate a miscalculation made somewhere along the way. So whenever you let someone go, you should go back and determine how you could have avoided the situation in the first place.
6. Everyone gets a veto.
As the number of participants in the Stripe hiring process has grown, it’s become increasingly difficult to achieve unanimity on hiring decisions. However, we’ve been careful to preserve the principle that a single person’s strong objections are sufficient to result in not hiring a candidate. This forces us to make sure we’ve addressed all of the issues on the table, rather than simply sweeping one person’s criticisms under the rug. Additionally, we ensure that we don’t sacrifice the happiness of an existing team member for the sake of a potential new one.
We’ve worked hard to build the kind of team we’ve always wanted to work with, and I’ve been extremely happy with the results to date. We’re still learning and adjusting our principles with every additional hiring decision. But I’m convinced that building an amazing team takes discipline and strategy far beyond the ability to hire talent.
The good news about building a great team is that it’s really easy to determine if you’ve been successful. If you love working with the team you’ve built, then chances are other people will feel the same way.