Software engineer interviews lie on the easy end of the interview spectrum, as compared to interviewing, say, an artist or a politician. However, this supposedly rather mundane spot is not without its own drama — some rant about the question, other complains about the answer, and even more join the rally in search of the perfect interview question. However, this space seems to be so full of criticism that I don’t remember ever seeing an agreement — the “Why manhole covers are round” is just pointless to being stupid, along with all other brain teasers; the reverse a list exercise has little real job relevance; open-end questions are too vague and subjective; IQ tests are insulting and EQ tests are seeking insult.
I believe much of the problem lies with interview itself. Interview is the gateway to job, a very important (semi) long term commitment for mutual fulfillment and prosperity, and all is to be decided between people who never met before. In life, people can date each other for months and years before they get married, while in work, you only have 30 minutes. That doesn’t sound very fair to me. Just like the best way to test a car is to drive it, the best way to assess a candidate is to put her under similar conditions as those of the work she is applying to and evaluate her performance over a significant period of time. Unfortunately this process can not be squeezed into 30 minutes, so the whole quest for the perfect interview question is like hunting the magic dragon that does not exist.
But a bit of out-of-box thinking might help here — instead of fitting such a process into an interview session, why not expand the interview to cover such a process? Where this process we are referring to is her previous job/project. While one’s contribution/performance in a previous job is not always easy to judge, the software profession enjoys an additional level of transparency thanks to the open-source involvements and numerous technical online discussion, both are well documented and readily available. So the best interview one can have is anti-interview, i.e., interview that does not aim to assess the one’s technical skill, but takes the form of water cooler chitchat for the candidate and existing employees to meet each other casually. This is possible because by the time the interviewee is invited to the office, she has already been approved for her past performance and is highly sought after for the job — like the Nobel laureates do not need to pass a test to get the price. In fact, it now be more of the interviewers’ job to do the sale pitch to convince the candidate to work with them.
Admitted this ideology does not represent a general solution to all real-life interview scenarios. There are a whole slew of cases that do not fit into this fairy tale — How about fresh graduates without a proven track record? How about great people who are not actively involved in the public domain development/discussion? The list goes on and on.
However, I still can’t help dreaming of being in one of this ultimate interviews, and it would be such a great pleasure to be on either side of the table.
I think I will try to recommend this post to my friends and family, cuz it’s really helpful.