- Don’t ask them to do an overly time-consuming assignment, unless you’re going to pay them. If they need to spend more than a couple of hours and you expect the solution to ship a full suite of tests, you’re doing it wrong.
- Live-coding is fine, but tell them in advance. Some people get very stressed during those interviews, so make sure they can prepare, technically and emotionally (also they may need a drink or seven, which I think is totally fine).
- Don’t make the live-coding or any technical interview into a dick contest. It’s meant to test your candidate’s coding and thinking, and to be a discussion about technology, programming, and software design. You’re not there to prove the interviewee wrong or to show them who’s smarter.
- To that point, try not to make it about a particular programming language or a particular technology. Make it generic, skills are transferrable. (There are exceptions of course).
- Don’t come to the interview unprepared. Have a plan for what you expect from that interview and, ideally, tell it to the interviewee.
See? Not that hard, or at least it shouldn’t be. It’s unbelievable that only few companies are able to heed to that advice. Remember that if you’re a software engineer involved in recruitment, you have a say about the design and execution of this process.
Be an agent of change! 🙌
Yes, I’ve been interviewing recently. I went through many interviews. I am astounded how many companies fail miserably at recruiting.