It feels like I’ve been recruiting non-stop for the last 2 years. Through all this I’ve learned some valuable lessons.
Your success starts with the right people. There is no doubt in my mind that the best way to avoid problems in your career is to surround yourself with good people. Good people will elevate your game, bad people will drag you down. It all starts when you recruit. You need to approach it as if your job depends on it. It probably does.
I have never been in the position where I am recruiting for future growth. I’ve alway been under the gun and needed someone yesterday. The temptation to hire quickly is strong, especially if your busy. It’s is important to think about how much trouble it actually is to terminate someone if you need to. It’s much easier not hire than to hire the wrong person.
Take some time and think out your approach. Treat recruiting like a project; think through your goals and your success criteria. Formulate a systematic approach for how you will screen applicants. \
My approach looks like this:
1. Filter resumes using education and work experience.
2. Phone screen
a. Assess language.
b. Determine salary requirements.
c. Ask one simple yet deep technical question. This is called the gateway question.
3. Technical interview with my senior team leads.
4. Final interview with me.
The gateway question has been an amazing tool for me. It’s usually 1 or 2 sentences and can be answered with one or two sentences so it works well over the phone. It’s an extremely basic programming question that tests whether the candidate really knows the fundamentals. You will find that many applicants are proficient with the tools but don’t understand the core principles of software engineering. The people who don’t understand the fundamentals will only take you so far, they won’t be able to offer real innovation or problem solving.
It’s amazing how many so called seasoned professionals will blow it during the gateway question. They must answer correctly to move to the next step. It’s tempting to cut people a break because they almost got it, or because they were nervous. That’s not your problem, if they can’t answer the gateway they will definitely not be a star performer. You also don’t want to waste your team’s time during the next step with weak candidates.
It’s important that your team does a good job interviewing candidates. They must come prepared with an array of technical questions. If the candidate is able to wow your team then it’s likely they will be accepted by his peers. I’ve paired 2 senior architects together for my peer interviews. I’ve encouraged some healthy competition between the two by getting them each to prepare their own technical questions and taking turns grilling the candidate. This is a tough hurdle for your candidate, if they get over it you can be confident that they’ve got what it takes technically.
The last step is assessing fit. You must assess whether or not this person will fit into your team and your organization. Do you like them? Do you think you can work with them over the long term? These are all questions you need to answer. Don’t hold back, ask them tough questions about their failures and successes and what they want out of life. I always ask people what they do for fun. For some reason the best software developers also seem to be musicians. Above all else, trust your gut. If you are suspicious don’t be afraid to walk away from a candidate.
Your approach my vary, the key thing is that you approach it systematically, throw in some gateway questions along the way and trust your instincts.
Here are some resources that helped me along the way:
1. http://steve.yegge.googlepages.com/five-essential-phone-screen-questions – This guy used to interview / recruit for amazon. This particular posting talks about some good phone screen/gateway questions.
2. http://www.stickyminds.com/sitewide.asp?Function=edetail&ObjectType=COL&ObjectId=8439 – Some more phone screen tips.
3. Top Grading – My former mentor is using this recruiting system. He raves about it. If you don’t want to create your own, you may want to give it a try.