The Problem With Interviews – Part I

The Problem With Interviews
This article is a part of Steve’s Guide to Conducting Software Interviews.

So what’s the problem with interviews? The problem is….it’s HARD to do them well!!

Before I get into the explanations of the hiring template from my previous post, I want to point out some general dynamics that are present in any interview, and which make the interviewer’s job even harder.

Assessing A Candidate in an Interview is Impossible!

Let’s get right into it, shall we? The number one reason why doing good hiring is difficult is that as human beings we have no tools that we can use to accurately assess a candidate’s ability. They just don’t exist! If you believe that it is possible to accurately assess a candidate’s ability on the basis of an interview than in my view you are already proceeding on bad assumptions!

How can I justify this? Let me start by trying to define the purpose of the hiring process:

"The hiring process attempts to identify the candidate from a pool of available candidates who, after serving in a role within the company environment over an arbitrary period, will be deemed to have produced the best work."

This is my best attempt at stating the ostensible purpose of the hiring process, and hopefully from this statement the problem is already pretty clear. There are so many variables in this statement that it almost sounds ludicrous.

First of all, both “the role” and “the company environment” refer to concepts that are not only nebulous to begin with, but also guaranteed to change over time. Who is the arbiter who deems the value of the person’s work, and over what period is the assessment made? And how on earth could you possibly measure that work in any meaningful way against the work that would have been performed by one of the other candidates in the same environment over the same period?? And consequently, in what possible way could we design a process which can effectively identify this candidate in advance of any of these events transpiring??!!

The clear answer is that it is impossible to design such a process, and it is impossible to know who the “best” candidate is, especially on the basis of a half hour interview! Anyone who has confidence that their hiring process is infallible, and puts complete faith in their own interviewing skills, is probably doing a bad job, because they clearly don’t understand some basic realities around hiring. By contrast, to my mind a good interviewer should have some doubts about his/her choice of candidate, and whether he/she might be overlooking superior candidates, because those doubts reflect a more accurate picture of reality!

So why bother interviewing at all then? Well it’s not all bad news…Interviewing is an opportunity to try and improve your chances of picking this “best” candidate (if you do accept the terms that there is theoretically one candidate that owns this designation). One of the main functions of an interview, in my view, is to eliminate candidates who exhibit some kind of “show-stopping” characteristic that would prevent them from doing a good job – for example, having a history of creating negative conflict with their co-workers. Also it is an opportunity to get more information to flesh out the items in the hiring template. More on that in the posts to follow.


So in addition to starting from the premise of doing the impossible, there are a plethora of factors that additionally complicate and obscure the process of trying to assess candidates for a job. One of the most prevalent, to my mind, is the candidates’ nerves.

I included the image at the top of this post because it reflects a stereotypical interview scenario, and also because in my view it illustrates a bad approach to interviewing! Look at that guy being interviewed – how do you think he feels right now? If he isn’t breaking a serious sweat then he is a better man than I.

Any candidate coming in for an interview is at a serious disadvantage in relation to the interviewers, and is keenly aware of it. Candidates naturally react to this situation by experiencing stress, and becoming nervous.

So what benefits do these nerves create for the employer? In the majority of interviews for software jobs, I would argue that the answer is: none at all! A nervous candidate is not going to represent themselves effectively, and so they are going to obfuscate the interviewer’s job of assessing them. Candidates’ nerves have the very counter-productive consequence of concealing the truth about the candidate from the employer.

It seems to me that many, many interviewers out there seem to be completely oblivious to this important dynamic that’s present in any interview situation. I wonder at why that is, and I think that maybe some people are thinking something similar to the following: “We want someone who is going to continue to perform well in a high-stress environment, because our job involves many different stressors that a successful candidate will need to contend with.”

In my opinion, for most software jobs this justification for allowing a candidate to stress out is flat out fallacious! It makes the incorrect association between the stress of needing to perform under time pressures, for example, with the ability to remain calm when being scrutinized by a room full of strangers. It seems obvious to me that someone’s ability to excel in one of these situations has absolutely nothing to do with their ability to cope with the other.

We’ve all heard that public speaking is the #1 most prevalent human fear, above even death! Interviews where you have to sit in front of a panel of strangers and present yourself are a form of public speaking. I personally have seen many examples of people with an excellent ability to pull the situation out of the bag under time pressures who completely lose their marbles when faced with the need to do public speaking on any scale whatsoever. The two abilities are completely orthogonal and do not relate to each other. So if you are intentionally trying to make your candidates nervous, you are testing them on the wrong criteria. This does nothing but create a lot of negative vibes, leads to poor hiring decisions, and is, in short, bad interviewing technique.

I recently applied for a job online where, as a condition of submitting my resume, the employer’s website suddenly powered up my webcam with a directive similar to “Tell us what makes you special in 30 seconds!!! GO!!” with my recorded answer getting submitted to the employer as some kind of artifact alongside my resume that’s supposed to indicate….what? I’m not sure. The experience was highly unsettling – I blurted out some silly response (to what is IMO a useless interview question) and felt embarrassed. Not only did the employer learn nothing useful about me with that exercise, but they instilled in me a very negative feeling about their company as my first impression. But seriously….Don’t DO that!! (Interestingly in this case I pointed out in my recorded response that I didn’t like their application format, and ended up getting called for an interview anyway…go figure!)

To the contrary, employers should be seeking to settle a candidate’s nerves as much as possible, because it is in their best interest. By making a candidate feel relaxed they are much more likely to be able to get an accurate read on the candidate, unencumbered by the random effects of a fear response. Given the basic difficulties covered in the last section around hiring in general, it is completely beyond me why employers would seek to complicate their own lives by exacerbating confounding situational factors in the interview. And yet it happens as a matter of course in many interviews, and is not the exception to the rule.

Additionally, note that nerves are such a big factor in an interview that even the most enlightened of interviewers needs to keep them in mind at all times. Any interaction you have in an interview, even if you’ve sought to relax your candidate, is going to be influenced in some way by their nerves. Chances are the same candidate is going to look very different sitting in the interview chair than they will sitting in their office chair, on the job. This is just a basic imperfection of interviews as a tool for candidate assessment.

So why don’t many interviewers understand and try hard to mitigate the effect of candidates’ nerves in an interview? In my view, it is often a consequence of an inherent power imbalance, which I’ll explore in the next post.

Steve’s Guide To Conducting Software Interviews: An Interview Template

Interview in progress
This article is a part of Steve’s Guide to Conducting Software Interviews.

For the past several weeks I’ve been engaged in a full-time job hunt and have been attending many interviews for Software development positions at various companies. Job interviewing in any industry is stressful, I’m sure, and software is no different. It adds to the stress when I am sometimes surprised at encountering interview approaches which are ineffective, missing the point of the interview process, and sometimes downright dysfunctional, in my opinion. So I thought I’d weigh in here with some of my own thoughts on how to conduct an interview which has the best possible chance of resulting in a quality outcome – that is, optimally matching a candidate to the advertised position, on the off-chance that my thoughts on the subject can benefit someone out there.

What the @*!#$ do I know?

Am I an experienced HR manager? No. I’m simply a guy with opinions who has attended a fair number of interviews. I’ve also conducted many interviews throughout my career and probably hired ten or so people. Looking back on those experiences my track record seems pretty good. Many of the people I hired went on to become highly valued team members and have long productive careers at the company (BlackBerry).

So I don’t have specialized skills in this area, only a bit of experience. However I have found that most of the tech interviews I attend are conducted by people like me – developers without any specialized HR training and often no hiring experience. So it is for that audience that I write my thoughts here, as a member of this community with a decent track record. In short: I’m not an expert, and if you disagree with my thoughts here feel free to comment and give me an alternate point of view.

Type of Job and Hiring Approach

I should also note that any thoughts I share here are with respect to the type of interview and position with which I am most intimately acquainted, that is to say, development jobs from junior to senior level, and low-level management jobs in Software Development. Human Resources Management is a huge field spanning all industries and sectors and situations, and I would never hope to make general statements that apply to all interviews. Rather, my advice is geared, like I said, to people like me interviewing within the Software business.

Also, I assume here that the goal of anyone’s hiring process is to build a highly effective development team that will grow and flourish over time. I understand that companies at times hire for very specific reasons and for very specific short-term goals, and for example may not care about aspects of an applicant’s candidacy other than a very narrow skill set. Still, I would tend to think that such an approach to hiring is ill-advised if the person you hire is going to remain on as a permanent team member following the completion of whatever project necessitated the hiring.

Looking back on my own experiences, there is only one hiring decision I made that in retrospect probably was not the best one. The individual I hired was a nice guy who got on well with the rest of the team, but was not a strong producer and in fact ended up requiring a lot of oversight by me. In that case, my reasons for hiring were based almost purely on Technology Fit (which as you will see shortly, now rates as my least compelling reason to hire someone), because at the time our project immediately required a resource with a specific skill set which this person possessed. So now I am a strong advocate of building great teams, and I think there is no hiring situation where the goal of fulfilling a short-term resource need should trump the goal of finding quality individuals who will add long-term value to the team and organization.

A Template for Interviews

So with my disclaimers out of the way, allow me to present here a general template that I would follow for most interviews.

The following tools are the ones I rely on when choosing a candidate for a position, in order of importance (NOTE: not in the order that they’d necessarily appear in during the hiring process):

  1. Gut Feeling
  2. The Resume
  3. References
  4. Examples of Previous Work
  5. Toy Coding Problems
  6. On-the-Spot Thought Exploration Problems
  7. Interview Questions
  8. Technology Fit

In subsequent posts I’ll go deeper into my reasons for each of the items on this list.