I have interviewed a lot of people over the years. I've been the interviewer much more often than the interviewee. If I had to guess, I think that is true for most of us. So it's easy to forget how nerve racking the process can be for the person sitting on the other side of the table.
One unfortunate technique in interviewing is whiteboarding. If you're unfamiliar with whiteboarding, it is a portion of the interview where you are given some coding questions or tasks. The expectation is for you to work out the solution on a whiteboard while someone watches you. If you're not quite sure how to solve the problem, you are often encouraged to "think out loud" to give some ideas on how your thought process works. You then go over your solution with the interviewer and they assess your technical skills on how well you did during this session.
Whiteboarding interviews suck.
I have to admit, I've been guilty of giving them in the past even though I know they do not necessarily accurately assess the skills of a candidate. I've been thinking about better ways to interview candidates on the things I care about without putting them through so much stress and feeling like I'm lording over them. It's important to me to meet people where they are at and I don't think whiteboarding accomplishes that.
There is one question that always comes up in my mind when interviewing:
Can I work with this person?
During the interview, I told the candidate that I had a question but I didn't know the answer to it. I took a whiteboard marker and said, "Let's figure it out together."
Not only did that put the candidate at ease, I leveled the playing field by putting myself in a vulnerable position. This made the interview experience much richer and I felt the ending assessment became much more in line with the things that are valuable to me. Instead of making a candidate feel like they are being tested (which I know is still the case), it redirects the tone of the time being spent to that of teamwork and a truer problem solving environment.
I now do this every time I interview someone.
The results have been really positive. It makes the interview process a little more fun (and fair) for the person interviewing and it doesn't neglect the need to assess technical skills. If anything, it gives a more accurate view of it.
If you find yourself in a position where you have to give a technical interview to a candidate, give Reverse Whiteboarding a try. I think in general you'll find it to be a more positive experience for everyone.
Make better choices about your code and your career.