As I discussed in the maiden voyage of this blogoseries, as a manager you are no longer an engineer — you are an indirect engineer. Equivalently, your successes are largely indirect successes — your team has done a bunch of great work and achieved their goals, and therefore you too are successful. No matter how brilliant and charismatic and creative you may be, if your team doesn’t achieve success, you have failed. It’s your obligation to the company and to yourself to build the strongest team possible, to optimize your chance of success! Therefore, you need to be able to recruit great engineers.
In this document we will cover some of the actions that you can take
to do just that. Before we start, here are some high level points:
- There are a number of amazing HR and recruiting superstars in the world. You may have some of them at your company. If you do, follow their advice. They are experts.
- A good number of companies decouple the recruiting process from
engineering managers like yourself, with a recruiting team that handles all the heavy lifting. That is great, but be sure they do this in a way that builds a stellar team for you.
- Whether or not you have a recruiting team helping you, make sure you spend an extreme amount of time on recruiting. This is probably the biggest factor to your success in your role: building a great team.
Please adapt the advice below according to your situation!
Action Item #1: Make sure your company is a great place to work
The first thing to do seems like it has nothing to do with recruiting, but it is critical: you need to make your company and team awesome. No amount of recruiting excellence can overcome a disheartening workplace. Candidates will be able to consciously or subconsciously detect how happy their interviewers are. A mission-driven, motivating, high-growth environment will permeate how your team interacts with candidates. This is one of the best weapons in your arsenal — so make sure it works!
Action Item #2: Identify who you are seeking
If you don’t know what you’re looking for, you’ll never find it. This is true for relationships and Where’s Waldo books, and for recruiting as well. Do these things:
- Write down the key technical abilities you are looking for. This may be specific programming languages, or frameworks, or layers of the stack, or otherwise.
- Visualize what kinds of past experiences you want in your candidates. Figure out what parts of the role are most challenging: Maybe you are at a startup, so the challenge is being responsive to ever-changing business needs. Maybe you are at Amazgoogbook, and working at megascale is the most important attribute. Maybe your company is building a self-aware killer robot army, so experience with complex AI is critical. Whatever it is, you need to characterize what candidates should already have done, to be able to step into this role successfully.
- Find some profiles on LinkedIn of people who would be perfect for the job. This will help you get a sense for the high water mark of what’s out there, and help in your sourcing efforts.
- Spend some time articulating the cultural attributes you are seeking in candidates. This may be exactly the same for all your roles, or for your whole company. But it is important to get granular on these. If you just want “a good culture fit”, then every interviewer will apply their own subjective viewpoint on this.
Once you have thought through these and other aspects, it is wise to write it all down, so you can socialize and align with your interviewers, recruiters, management, etc. Additionally, whether there are 3 or 5 or 20 attributes you are seeking, you need to prioritize these. There are no unicorns in the world: no engineer will be perfect on every axis. But that doesn’t mean they can’t do the job!
Action Item #3: Perfect your sales pitch
Talk to candidates on the phone: lots of them. Initial phone screens set the momentum for the candidate’s time in your recruiting pipeline, so you want to jump start that as best you can. Make sure you can succinctly describe the following things:
- Your company’s mission and why it will be successful
- What your team does and how it directly contributes to the mission
- The role they are interviewing for, and what success in that role looks like
After you give them the 5 minute run-through, ask them how they feel about what you’ve described. If you aren’t getting enthusiastic responses, then you aren’t selling well enough. Fix that. You are most certainly a salesperson here, so do what salespeople do: sell.
Open it up for questions — see what interests them, where they need more clarity. If you find that a bunch of candidates ask more questions about revenue growth, then make sure you add more of that to your pitch. Make sure you are continually improving how you sell the opportunity.
Action Item #4: Articulate how they are a perfect fit
Find out what growth they are pursuing in their career, and describe how your company and team can help them get there. Get really good at triangulating where your company is, where the candidate is career-wise, and a vision of the future where both the company and the candidate are mutually successful. Being able to paint this picture to the candidate is critical.
Action Item #5: Strategerize your interview plan
What data do you need to determine whether a candidate is a hire? How will you get this data? You need to be very deliberate in designing an interview plan that answers these questions. Your interviewers need to have a specific set of assessments, criteria, questions, and areas of focus, all of which must contribute to giving you a clear picture of the candidate.
Some big companies do this across three days onsite and 15–20 interviewers. This is unnecessary; after four or five interviews, the value of the data you are yielding diminishes. So take everything you want to assess about the candidate, and break it across those five interviews. Give each interview a name, and make it clear to the interviewers what they are supposed to ask. Most ATS systems these days make this easy to do, and will provide your interviewers with your predefined list of questions.
Without an interview plan, interviewers tend to come up with their own ideas of what is important for a role, and then ask questions about that. In doing so, they may get information you need, but they also very well may not. Multiple people may end up probing on the same areas, wasting their time and the candidate’s. It is your job to ensure that you have what you need to make a hiring decision, and therefore it is your job to define the interview plan.
Doing this — establishing a strict set of interviews, and prescribing the questions that each interviewer should ask — will make sure you get the data you need to make a hiring decision. It also ensures that each slot can be conducted by different members of your team — which is important, if you are interviewing a lot of candidates.
Action Item #6: Make sure your interviewers are getting the intel you need
Interviewing is hard, and it takes a lot of experience to do it well. One reason is that humans are pattern-matching algorithms — when assessing something, we liken it to what we have seen in the past. Perhaps there are good anthropological reasons for this; when we see a saber-toothed tiger out in the wild, it reminds us of that time a tiger came into our cave and ate the rest of our tribe.
But this manifests as bias: both the horrible illegal kind, and the more subtle positive or negative biases that can affect the outcome of the interview. The former category must be absent from your recruiting, but the latter kind should be avoided as well. Here are some examples of the latter kind, and why they are bad:
- “Sarah and I went to the same school! We spent twenty minutes talking about it. I really like her.” Because of this coincidence, Sarah got to sidestep 20 minutes of evaluation that every other candidate is going through, and yet Sarah will yield a high score from the interviewer. This is not a level playing field.
- “When I asked Sarah to balance the tree, she froze for three minutes. All good engineers can balance a tree. We shouldn’t hire Sarah.” Maybe it is indeed bad that Sarah flubbed the tree balancing, and maybe that should count against her. But the interviewer here is drawing an overly-broad conclusion from a single data point. That is bias. Whenever I see an interviewer do that, I know that they are the worst human in the world. (Haha, see what I did there?)
- “I saw on Sarah’s resume that she has built a flux capacitor, so we spent the whole time talking about that, since I’ve worked with flux capacitors before.” This interviewer went off the rails. If flux capacitor coding experience was important for the role, you would have put it in the Interview Plan! The interviewer skipped your questions and got a different set of data: Sarah’s flux capacitor skills, which may or may not be important for the role. This is bad. Now, seasoned interviewers will be able to take your Interview Plan, and adapt it to a candidate’s experiences, but this is Pro-level interviewing.
These are just a few of the myriad biases that can creep into your interview process. Your job as a leader is to guard against biases so that your process yields the best hiring decisions. Here is a terrifying depiction of all the ways our brains can mess with us:
You formalized the interview plan above, so first and foremost you need to ensure your interviewers are following it. To that end, they should be submitting very in-depth feedback after the interview. This feedback should itemize the questions they asked (which should conform to the Plan), what the candidate’s response was, and separately what they thought about that feedback.
Action Item #7: Ensure candidates have a great experience
Interviewing is super stressful for candidates. It is an artificial environment: being interrogated on any arbitrary question with no supporting resources, where every error, pause, or misstatement could be held against you. This is not what our real life jobs are like (hopefully!). I wish the software industry’s recruiting process was to have a candidate spend three paid weeks working with the team, to get a sense for skill level, team fit, and impact, and then both sides can determine if it is a good fit. But, unless all companies do this, it can’t work.
So, we are stuck with these bottle episodes of anxiety. Your job in driving the recruiting process is to make sure candidates have the best experience possible.
Support different problem solving styles
In real life, people solve problems in different ways. Some people are the kind that shoot from the hip with their first guess, and then iterate aloud as they think it through. Other people like to take a problem, mull on it, do some deep studying, and then diligently construct their solution. Still others like to take a problem, uplevel it to a larger scale meta-problem, solve that one, and then apply the meta-solution to the original problem. And guess what — all these types of problem solvers are very valuable to companies, and all in different ways!
But here’s the rub — the first type of person is the kind that does great at whiteboard interviews. So, our industry’s interview approach is unfairly biased towards those types of problem solvers. And it turns out that people from different backgrounds or cultures or genders or otherwise might have different correlations to the different problem solving strategies. Which means: there is an industry-wide bias that is baked right in to tech industry interviewing. This, when you think about it, is truly horrifying. If you do nothing else good in your career, please do help me fight that bias.
Make sure that people with different problem-solving approaches can find ways to succeed in your interview process. If people mention (or you detect) they might not fare well on a telephonic technical interview, offer them the chance to do it in person. If someone doesn’t do well with the whiteboard interrogation, offer them an offline homework problem. You need to establish multiple paths to success, or you will fill your team solely with the quickdraw problem solvers, which does not optimize your team’s business impact. The best software teams are heterogenous groups of folks with differing backgrounds, problem solving approaches, and past experiences. So don’t optimize your interviews for brogrammers.
Support different personalities
You also need to instruct your interviewers as to how to accommodate different personalities. People’s anxieties are heightened when they are being scrutinized, and even more so when the atmosphere of the room is pressurized. Sitting forward and staring when a candidate is struggling at a whiteboard will doom that candidate to failure. Does that mean they would fail on the job? Of course not. Have your interviewer stand up next to them, do some of the first writing on the board, and make it feel like two college classmates collaborating on some homework. The body language of two people facing the same direction is worlds better than a standoff across a table. Introduce a technical problem with “Hey, I have a cool problem for us to solve together”, and make it feel like both people are learning through this. Remind your interviewers that their job is to find ways to get the candidate to succeed, not to intimidate the candidate to failure.
And, most importantly, the candidate is evaluating your company just as much as your company is evaluating them. The candidate will have six other job offers, but yours will stand out if they had a great experience with you.
Action Item #8: Make data-driven decisions
Here is a comparison of Sally and Jensen as interviewers:
Make sure you have no Jensens on the team. Interviewers’ jobs are to collect data, not to pronounce a verdict on the candidate. A hiring decision is not a democracy — you are the final judge of what the outcome will be. You need all the evidence you can get to make that decision, so make sure your interviewers are providing that to you.
Also: having an absolute scale by which your interviewers rate candidates often yields unreliable data. Wait, what? Absolute scale ⇒ unreliable data? Usually relativism is the unreliable one. What gives?
Observe: A typical candidate grading scale is 1–4, from Strong No-Hire to Strong Hire. Most interviewers tend to be nice, and so will give average people a 3. Those interviewers often also reserve the 4 for superstars, which means great (but not amazing) candidates will also get 3. Meaning, that interviewer’s “3” rating ranges from “Just barely hire” to “Excellent but not phenomenal”. As you can see, this is a very bad thing. That 3 covers a lot of ground.
Some companies introduce a more granular scale — 1 to 10, say. This doesn’t help; it increases the perceived precision of something that is very subjective. One day they might rate someone a 6 and another day someone a 7. But is that 7 deterministically better than the 6? Absolutely not — people are prone to innumerable factors that can impact their perspective from day to day, so adding more granularity doesn’t increase the data’s value.
The real solution is to make ratings relative — i.e., compare candidates directly. If you have a single role to fill and you interview 10 candidates, stack rank them to determine who is the best fit. Or, if you have ongoing open hires, pick 3 candidates that stand out (top of the stack, pretty good, and medium), and have interviewers compare future candidates against these three benchmark candidates. This can seem overly critical or injurious, but keep in mind the scale on which you are evaluating is the candidates’ fit for the role, not their worth as humans.
Recruiting is hard. It takes a ton of effort, and is more art than science. Hopefully, these tips will help you make it as scientific as possible so that you get the right outcome.
And, remember — it is better to have false negatives than false positives. You don’t want to hire someone who is just an okay fit for the role — you need to ensure that you keep the bar high and that you hire for excellence. If everyone on the hiring panel likes the candidate but only gives a mild Yes, and no one is willing to fight for the candidate to join, maybe you need to decline that candidate. Keep your bar high.
Eng Mgmt series by Matthew Vanderzee
- eng mgmt ep1: Should I become an Engineering Manager?
- eng mgmt ep2: What should I do today?
- eng mgmt ep3: Making tech things happen
- eng mgmt ep4: Goal-driven development
- eng mgmt ep5: Recruit great engineers or die tryin’
- eng mgmt ep6: Growth-oriented leadership
- eng mgmt ep7: Am I a good manager?
- eng mgmt ep8: So you want to be a Director (Quiz Show edition)