There is a critical blog post about being interviewed stemming from critical tweet about being interviewed. I fully appreciate the sentiment, but I want to explore this from the other side [1].
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
The first programmer ... walks in [to start the interview]. 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 programmers hate context switches. And interviews are looong, taking at minimum 1-2 hours to prepare, perform and evaluate (and potentially much longer). The interviewer also must be mentally sharp, because the candidate is hopefully extremely talented, and the interviewer will have to be sharp to evaluate that.
So, 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 explore why he (or she) would have such an attitude. First, the process of performing the interview has already interrupted the day, will be long, and mentally taxing; IE unplesant and stressful. Then, 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, the result will likely be the same: no hire. 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 employees should be spending more time interviewing than newer/junior employees, because the sacrifice benefits senior employees moreso. 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.
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.