Developing a Bench

Building a solid bench involves years of preparation with no immediate reward. Hiring a team from scratch is a beautiful dream. I got to do it once at a startup before I had much experience as a manager. In many ways I’d love to re-live that experience, but I haven’t worked at a startup in almost 10 years now.

If you’re not at a fast expanding startup you’re hiring opportunities are going to be an uncommon occurrence. Unfortunately they’re probably the most critical aspect of your job. Nothing is more important than building a team with the right people. Management success is all about people.

Building your bench is the process of making sure when you do get the rare open req that you have some great people just a phone call or email away.

I’m still working on techniques here and my networking skills need to grow, but this has been the tips I’ve picked up over the years:

  1. Keep in touch with your high performers from previous jobs. Obvious, but this means you have to make a habit of making the occasional phone call or email and making sure you know how there career and life are going.
  2. Stay in the same area. I’ve violated this one before and it can hurt. I’ve worked for some great companies in the Bay area and in Las Vegas and had a good network of people in both locations. When I moved up to Sacramento 8 years ago I still kept in touch with many of them, but a remote bench just isn’t effective compared to having a local one.
  3. Attend conferences, local user groups, and meetups. Passionate software developers show up at user groups and meetups. The local java and ruby user groups have been a great source of motivated talent as well as a nice social gathering. And yes this means when the group goes out after the presentation you should tag along.
  4. Keep old resumes and interview notes. I’m in a medium size city, but there are only so many software developers in a town this size. You will run into people again. Often they’ll be developers who you thought had potential 7 years ago, but were too inexperienced to bring on board. It always feels like deja-vu, but it’s happened to me more than once.
  5. When opportunities arise be frank about the minuses. Good recruiters know this well. You’re dealing with a long term relationship so you don’t want to get someone excited or bring them into a situation that is too risky or just wrong for them. They need to know if the company is generally slow paced, doesn’t have that many benefits, or they’ll be working with a largely junior team that will need a lot of mentoring. Selling the upside is fine, but give them the downsides.
  6. Don’t get frustrated if some of your bench turns you down. Maybe the opportunity was great, but someone’s comfort level in a downturn is to stay with their current company. The situation may be very different a few years later.