Perhaps technical interviews suck because technical interviewing sucks.
I’m not going to talk about particular style of interviewing (whiteboard, pair programming, etc), though I’m going to assume we are talking about an on-site interview. I just want to explore the fundamentals of why technical interviewing sucks, and offer a few suggestions:
Context switching into a time sink
He’s quite annoyed, because he was neck deep in jira or git or debugging some hairy stack-trace on eclipse
To put this more nicely, an interview is a context switch, and software engineers hate context switches. And interviews are looong, taking at minimum 1-2 hours to prepare, perform and evaluate (and potentially much longer). You also have to be mentally sharp, because you are hopefully hiring people who are extremely talented, and you’ll have to be sharp to evaluate that. Every interview I performed was among the most stressful parts of my day.
What’s in it for the interviewer?
and he’s been unceremoniously yanked off to interview YOU - the new dude, who has no fucking idea how things really work here.
Before we write off this interviewer as a terrible person, let’s look at it from his (or her) perspective. First, regardless of the talent level of an individual candidate, the aggregate hire rate is likely far below 50%. So if the interviewer gives a great interview, or a terrible interview, or an in-between interview, it probably doesn’t matter anyways. Why spend the effort to deliver a great interview if a satisfactory one will suffice?
And if you aren’t a very senior person in the company, does hiring another talented person really help you that much? If it is a big company, you might never work with the person you are hiring, or not hiring. The potential hire probably won’t have much impact on the company anyways, unless their role is very senior. If it is a small company, wouldn’t you rather be building stuff than interviewing people? Did you choose to work at a small company to interview people?
Rationally speaking, the only people who should prefer interviewing to other things are the people that benefit from hiring talented people, which primarily is equity holders of the company. Some people will just really like interviewing, or care about being a great interviewer as a personal mission, but clearly they are in the minority given the complaints about technical interviews.
Ideas for improvement
So based on theory that nobody should like interviewing other than equity holders in the company, here are some suggestions:
Interview slots should be allocated based on seniority/equity in the company. Senior team members should be spending more time interviewing than more recent team members, because the benefits of the sacrifice accure moreso to them. If this devolves into senior members spending 100% of their time interviewing, so be it.
Interviewers should get an additional bonus per completed interview. At a small company, equity should suffice, but at a larger company more incentive is needed. A $100 bonus, a coupon for a massage, whatever. Though the amount is likely a minor part of an employee’s total compensation, the idea is to shift the mentality of doing an interview from a negative thing to a positive thing. Nobody should be doing an interview if they don’t want to be.
Speaking of which, let employees opt-out of interviewing. If an employee doesn’t want to interview, don’t force them too. In practice this will be difficult and there will be a lot of social pressure on an employee who opts-out, but at least it should be an option. Maybe they will miss out on bonuses (or promotions), but if an employee really doesn’t want to do interviews then they shouldn’t be forced to.
Treat interviews as a fixed and limited resource. A company should brag about how few interviews it is doing, not how many. If there are too many talented candidates in a given week, too bad. Maybe you’ll miss out on hiring somebody, but a hard constraint will force the hiring funnel to improve.
Unified theory of hiring
Unfortunately I don’t have one. I applaud the people who are thinking outside the box and trying to create new methods of hiring people that try to both find talented candidates, but do so in an time-efficient way for current employees. It gets talked about often how much being an interviewing candidate sucks, but probably not often enough that performing interviews also sucks. Perhaps if work were done to improve the interviewer side of the equation, it might benefit the interviewee side as well.
1: As background, I’ve performed somewhere around 100 interviews at a large tech company and a startup, and I put in a lot of effort to attempt to do a good job; whether or not I did a good job I don’t know. Interviewing was among my least favorite activities.