The interview process is always a big topic in engineering teams.
One thing I care deeply about is the “paring” interview. No white boarding or conversation, or even online coding test tells you so much about how a candidate is going to perform as an engineer on your team.
Three things you cannot find out any other way:
- How soon does the candidate attempt to run their code?
- Does the candidate copy and paste code?
- How does the candidate research things like less-frequently used libraries?
A smart candidate who is not a well-practiced, hands-on developer can wing it on the white board but will show a lack of practice when it comes to questions like those above.
Three tips for successful “live coding” interviews:
- Ask the candidate to bring their lap top.
- Schedule at least 90 minutes for live coding.
- Try to code the problem yourself.
If you ask a good engineering candidate to bring their own laptop they will be comfortable writing code in their favorite IDE or editor and executing, testing and refactoring it quickly. You should allow at least 90 minutes for the live-coding interview. Do the math. You may need 15 minutes for logistics, greetings and other unrelated activities. You probably need 15 minutes to explain the problem and another 15 minutes at the white board or note pad sketching examples and solutions. That leaves 45 minutes at the keyboard. Of course, you will want to try coding the problem yourself to sanity-check whether your problem is not too hard and not too easy.
Three rules for the “live coding” session:
- Internet search is OK.
- Tell the candidate the session should be just like paring once they get hired.
- Start with an easy test case that can pass quickly with shortcuts.
Searching the Internet during the live-coding interview is OK. I have not once seen a candidate try to grab the whole solution from the Internet. Make the candidate feel comfortable by telling them your on their side. Lastly, there is no better booster to your live-coding interview than having a test pass quickly.
Let me know what you think! How are these tips working for you?