OK. Time to take a break from the “best” or “worst” interview questions and take a walk through problematic landscape of tech interviews. Rather than engage in false narrative that only serves to reaffirm the battle between good vs. evil, I’m going to tackle the problems from a different perspective.
Who is this guy trying to tell me the way I conduct a tech interview is problematic? I'm not just a principal or senior level engineer at most corporations, but I am also certified in university teaching from Syracuse University. Part of that certification involved clearly understanding techniques for evaluating a student's progress. In my opinion, the tech industry is just repeating a lot of the problems in education. I've been on both sides of the interview. I've interviewed at virtually every large tech company at one time or another. Household names like Amazon, Google, Microsoft, Facebook, SpaceX and Apple. I've also sat in the interviewer's chair plenty of times. Sometimes I mentor others going through this ridiculous process on Codementor.
Some of the problems outlined below are not problems everywhere. If you happen to work at a company where there is a fair and balanced interview then congratulations. Please take on what you have learned about interviewing to your next job and make the process better there.
For the rest of us it can be really hard to identify problems in the interview process.
We don't feel empowered to change it, particularly when everyone at work is running around from meeting to meeting like a chicken with their head cut off. Who has the time to change the interview process? Hopefully this post will start a conversation geared toward changing the interview process where you work and give you tools to make a better interview.
Why do we need to change? Let's get through the first uncomfortable bit. Racism and sexism are rampant in the technology industry. Things are changing slowly, but it's a thing. More people need to act in order to make the entire process more fair and balanced at most corporations to ensure there isn't racial or sexist bias in the interview process. There are too many of one racial or gender profile or not enough of others. Looking at you white men.
The second reason we need to change is worth mentioning because it prohibits getting really good talent, but it relies on a simple proposition. Someone may be a poor test taker, but could be the most brilliant programmer you've ever met. People don't often fit in the molds we craft for them. Anyone going through public education could probably understand this, unless you got a perfect scores on all the tests. Standardized tests are actually poor evaluators of a person's ability in my opinion. A lot of the problems in education are reflected in the tech industry. We start teaching to the test, learning how to do well on the test rather than sharpening our skills as programmers. Questions that involve a simple answer are just that. Too simple. Trivia can be memorized. Problem solving requires experience.
Just remember less of this.
More of this.
The third reason for change is a less obvious one, but worth mentioning. Interviews are too stressful for a lot of people. I bet the sheer mention you are taking a test would make your blood pressure jump a little bit. Interviews are a first impression. When the candidate is stressed they won't perform as well or could act differently than they would under normal working conditions. The interviewers don't help the matter sometimes looking over the candidates shoulder or watching them code. This makes some people nervous. Do you code all the time with someone looking over your shoulder? Sometimes observation is unavoidable to ensure the candidate is genuine and that's fine but maybe try not to be so obvious or creepy about it.
How can you know something is broken in your company's tech interview?
That's alright, because here are some indicators of how the interview process at your company may be broken.
Questions amount to nothing more than trivia.
Candidate isn’t allowed to perform the tasks as they would in the course of a normal day’s work.
Process isn't standardized across the company or organization.
Content has no direct correlation to the function of the position.
Candidate isn't given a sufficient amount of time to complete the problem without someone looking over their shoulder the entire time.
How do we solve these problems? Below are some quick ideas for making the interview process more fair.
Clearly define a rubric in order to gauge the candidate's success.
Give the candidate a series of problems to solve in increasingly complexity.
Keep the trivia questions to the first round and use them to screen the candidate.
Allow the candidate to solve the problem in the environment they are used to. In the case of programmers their IDE or similar interface.
Give the candidate a project they can complete in 4 hours or less that reflects the position they are interviewing for.
Include a roundtable discussion as part of the interview. Avoid every step of the process being 1 on 1.
Add questions that aren't technical in nature to evaluate how well the candidate will work in a team.
As an interviewee if the process makes you want to convert to paganism and start making human sacrifices to the gods in order to get a new job just remember it’s not you who is broken. It’s most likely the process. No offense to the pagans. Keep up the good work.
If there’s one thing I’ve learned about human beings in my short time on this planet is that we are great imitators but not so great at innovation. It takes a lot of effort to change something, especially when that change requires combating sexism, racism, bias, and just sheer lack of will. So while y’all are talking about what is a good question or what is a nightmare question in an interview how about looking at how we can change the process altogether? Instead of trying to make the current process better let's offer a new vision for how it can be done. What are you doing to fix technical interview process at your company? Do you have any ideas on how to make it better for everyone involved?