While it seems every few months the topic of the interview process goes around the community, and I think the general consensus is most of the time it is ineffective. At DDM, there has been a lot of thought put into our interview process, and so over the next few weeks I hope to share some ideas we’ve had.
The Status-Quo: Grill the Candidate
Traditionally, when you think of interview questions, you think of hard questions to “weed out the weak” and then you’ll find the best. However, I think this only leads to finding people who interview really well, which isn’t their job as a developer. I know many excellent developers who are poor at interviewing but are great at their profession.
The goal isn’t to have a trial by fire to find the very best. The goal is to accurately understand the current strengths and future potential of a candidate. As an interviewer, it is in my best interest to help the candidate be less nervous instead of making them more nervous. I want to get a feel for the real person.
The simple fact is nerves only obscure your understanding of the candidate’s knowledge, skills, abilities, and personality.
One of the best ways I’ve found to help a candidate get less nervous is using what I call “softball questions.”
A softball question is something that a candidate should be able to easily answer. Some examples of some PHP softball questions would be:
- “What is the open tag for PHP?”
- “What is the difference between single quotes and double quotes in PHP?”
- “What is the difference between including and requiring a file in PHP?”
- “Name a web server that can be used with PHP?”
Anyone who has ever used PHP and feels confident in getting paid to do so should be able to answer these questions.
“But if they are so easy? Why would you want to ask them? They are so easy and obvious.”
The answer is simple: I want them to warm up and feel “Hey, I’m getting these right. I can do this.” I want them to feel more relaxed and disarm their nervousness as best as possible. I want their mind to be in mode of retrieving programming knowledge and thinking about programming. So easier questions like this that are second-nature to answer help get them in this mode. It’s like a baseball player going in and warming up on some slower pitched balls before taking on a fastball or curve ball.
Softball questions also serve another purpose: they are a great & quick “bull crap” assessment. You will have people who get them wrong and struggle with them. You’ll quickly realize “seven years of PHP experience” to them was seven years of installing other people’s plugins on WordPress. If a baseball player can’t hit a single slow-pitch ball, then that is an indicator they’ve never really swung a bat before.
I don’t spent more than three to five minutes on these softball questions. If the candidate is good, they should be able to easily answer them, hopefully they are feeling a little less nervous. I can feel safe in moving to more of a “discussion” because I know they aren’t completely pulling BSing me.
If they struggle with them, I can know “Hey, they aren’t for this position” and change the interview into a teaching opportunity. In no way should I make them feel dumb or less adequate. We’re all learning, and I’ve had candidates reach out to me months later thanking me for showing them good resources and ways to improve.
Following Up the Softball Questions
After you spend a few minutes on your softball questions, start introducing more in-depth or difficult questions:
- “Explain to me what autoloading is in PHP? Why is it useful?”
- “What is the SPL in PHP?”
- “What are some “magic methods” for PHP’s classes?”
Ultimately the goal is to work the interview into more of a conversation about technology, reviewing code examples, writing code on the board, etc. Hopefully the softball questions can help them warm up so they do better.
Advice on Softball Questions
There are a few thing that will help make your softball questions effective & help your interviewing process.
- Write them down beforehand – It can actually be hard to come up with these on the fly, so writing them down before hand can save you precious time in your interview.
- Careful asking too easy questions to senior candidates – If you have a candidate which you already know is skilled (you know their previous company, you’ve seen their code, etc), you can adjust the difficulty of your softball questions so they are still easy for the candidate to answer, but don’t give the wrong impressions. Candidates will be evaluating your company as much as you’re evaluating them, so if they think “Wow, these guys are amateurs” then that is not in your favor.
- Short to ask, short to answer – You want to try and cover several questions in a short period of time, so questions that don’t require a lot of setup or explanation are better
- 5 Minutes max – Don’t spend a lot of your time on these questions, your time with your candidate is valuable since you’ll need to make a decision after this interview.
Softball questions are a great way to warm up your candidate to help them stop focusing on the fact they are interviewing. You don’t want to pass on an excellent developer because they were nervous and had it cloud their interview. A bad developer who isn’t nervous still can’t BS through good interview practices. So it is in your best interest to help your candidates be relaxed and natural as possible.