The world of tech and software development has created, for quite some time now, a dichotomy. Companies and teams are almost always looking to grow and hire.
Yet, far too often they have interviewing processes that contradict everything they are trying to do.
The technical interview in particular seems broken.
It focuses on the wrong things when it comes to hiring intelligent and diverse developers.
From my own experiences and observations, it often starts with the technical interview being far too different from what an individual will do on a day-to-day basis.
Often companies create technical interviews that are in total contrast to what working at that company is really like. They look for specific answers to their questions and if that answer is missing, the candidate fails.
They don't just rule out people based on their technical skills. They can rule out people based on the fact that you interpret the problem differently. That you work through solutions differently. That the given language is not your first language and so you don't fully understand.
The reasons are endless for why a technical interview that you just plop down in front of a candidate, simply doesn't work.
If you're a company that doesn't want to follow this path, thank you for recognizing that there are better ways.
The solution, in my mind, isn't complicated. We can have interviews that gauge a person's technical aptitude. But they must be collaborative and based on the problems they will be hired to work on.
Welcome candidates to leverage the tools, frameworks, etc that they know. Encourage them to talk through their thought process and collaborate with them as you build out a solution to a given problem together. Ask questions, propose different ideas, and work together to form a solution.
This doesn't have to be a laborious process. It can be a free-flowing interview that the candidate steers. There are no wrong answers here. You are working on a hypothetical problem nonetheless.
Real-world collaborative interviews allow you to gauge a person's technical skills within the context of an actual problem they would work on. The collaboration can help determine what it would be like to work together daily. The latter being much more important than the former, in my opinion.
The process of technical interviews today, where candidates solve complex problems with very little collaboration or resources, is broken. They have turned into a way of examining a candidate purely on their technical aptitude. A measure that leaves out many other important qualities.
It's time that the technical interview becomes a collaborative interview. One where the candidate and interviewer work side by side on a realistic problem. There is no limit on the tools, resources, or knowledge sharing. There is only building a solution to a problem together. In this interview, the key isn't how technically savvy someone is. The key is to determine if they would be a good fit for the work, the team, and the culture. An opportunity to see what unique traits this unique individual can bring to the team.
There are going to be companies that will stick with the status quo. Large companies like Google, Amazon, etc are likely not going to remove the problematic culture of the technical interview. But perhaps this can serve as a reminder that there is a better way of assessing someone's capabilities. A collaborative approach that respects that each candidate is a unique individual that brings their own perspective, knowledge, and resources to problems.