As per my previous blog post, hiring software engineers gets more competitive every year. Now that you’ve read the first step in our process, Step 0: Who Are You, here’s the next step:
Hiring is a lot like sales, and just like a good salesperson, you need a well-honed pitch. For recruiting purposes, you’ll want to break this into two parts: first, the company pitch and then, the engineering team pitch. A good recruiting pitch should tie in with Dan Pink’s “The Surprising Truth About What Motivates Us”, namely: autonomy, mastery and purpose. Explaining your company’s big idea should create a sense of purpose: what is your mission? And why should your candidate support this mission? This part of the pitch must be short, compelling and make sense to anyone. Can you explain why your company matters to your mom or a 12-year old nephew?
If you can hook a candidate with your company’s big idea, the next step is to hook them on the engineering team. Explain how your process and technologies afford opportunities for autonomy and mastery. To demonstrate the opportunities for autonomy, be prepared to explain your development processes and how you empower your engineers while also holding them accountable. Be sure to have a compelling story about your team’s freedom to make and live with their own choices. Use your technology stack and interesting engineering problems for mastery. You’ll want to prepare for the different types of engineers you are hiring. What appeals to a front-end engineer is going to differ to what appears to an automation engineer or a data scientist.
I recommend practicing this pitch often. Going to a career fair (see below) is a great way to force yourself to deliver the pitch dozens of times.
Now think through your hiring process, from resume screening all the way to making the offer and closing a candidate. While the details will vary there are a few best practices to keep in mind:
Limit total interactions:
This benefits both you and the candidate; you both save time and this should allow you to move faster and make offers sooner relative to your competitors. There is evidence (see the chapter on hiring from How Google Works) that beyond 5 or 6 total interactions, the insights gained start to diminish rapidly.
Constantly check on “close-ability”:
From the start, make sure this is a candidate you can close. The worst thing you can do is waste your own and your team’s time on a candidate who is not that interested. I recommend checking for disqualifications from the start, but you should also follow up on this at every step. Some suggested disqualifying questions:
Time box the offer:
Putting a limit on your offer can be painful, as the best candidates may have weeks of interviews left. Still, this is a worthwhile discipline. Ask them to get back to you when they are ready to work with a 3-day offer expiry – this is a final double check on their interest in working with you. You do not want to hire someone who is “meh” about your company.
Tracking:
You are going to want to learn from your hiring efforts. Minimally, which resume sources result in the most hires. To do this you’ll need a way to track every candidate by source and outcome. There are various tools available that allow you to measure your hiring process. We use a Google Sheet with formulas that automatically sum up the totals per hiring manager and by source, process step (initial screen to offer) and outcome.
Last Notes On Process:
Now check out out final post about Lessons Learned Hiring Software Engineers During a Bubble!