Do you remember the good old days? When you were a child, the days of looking up at the sky, seeing the huge constellation Orion, wondering about life on other planets ... I do :) Life was so simple then.
Fast forward, and many of us have discovered computers, the internet, programming. In the late 90s and early 2000s, differentiating yourself in tech was kind of a land grab, the wild wild west of what the web would be and become. Would open source prevail? Was Apple a real thing we should pay attention to? Microsoft was obviously a big player, and then Google became a verb. During this time, I was a budding hiring manager, trying my best to apply lessons that my VP level father taught me. New ways of interviewing people were being talked about all over companies, big and small.
Surely, you have heard the stories, too. "I had an interview with Google, and I failed miserably, because I could not answer what I would do if I was the size of a nickel, put into a blender, and had the blender turned on", or "I could not answer how many gas stations there are in the US". We were told that these techniques were radical new ways for employers to figure out how people solve problems, and that the point of the interview wasn't at all about solving the problem, but rather how one would go about figuring out *how* to solve the problem. Even Google has abandoned these exercises now.
At this point, I have been a hiring manager for about 17 years, and I think I have amassed a decent diversity of experiences. Once, I was a QA Lead, interviewing for an Office Manager position. Why not, right?
So, can we talk about these live coding exercises? "Hey, let's get on Notepad++ and you write me some code that creates a screen of arbitrary size, and can automatically flip the bit of each pixel on the screen to the opposite of what it is to begin with" (this was an interview that I failed miserably with Microsoft, until 10 minutes after the interviewer cut me off and ended the interview, when I could breathe, and solved it easily). Or the favorite of many ... FizzBuzz! But are they valuable?
Here are the obvious issues with exercises like this:
- Relevance: Is the person interviewing going to be solving problems like this in their day to day work on this job? 99% of the time, the answer is no.
- Judgment: Is this going to be an environment where the candidate is going to be live coding in front of judgmental eyes?
- Pressure: Will employees be working under conditions regularly where they must solve a problem to a satisfactory level within an hour (or whatever the time restriction is on the interview) or be considered a failure?
- Isolation: Are day to day exercises expected to be solved in a vacuum, agnostic of the fact that these problems have usually been solved many times over by others? Is a candidate expected to solve problems without reaching out to obvious resources on the team who have experience with something they may not be familiar with?
Live coding interviews are as useless as the unsolvable problem questions for these reasons. All they do is put a person into an environment that is outside their norm, and has no analogy to how they will do work at the interviewing company. They are analogous to standardized tests- they only exclude some people from being considered successful based on their ability (or lack thereof) to handle an unfamiliar, high-pressure situation.
At UNspecified, we believe that these kinds of exercises do not help us to understand whether a potential hire will work well for our team. We believe that these kinds of exercises set people up for failure, and that is never our goal. We believe in setting people up for success. We believe in collaboration, in coaching, in effectively utilizing available resources.
We strongly believe in a safe working environment, free of judgement, with a whole team approach to every problem that needs solving, whether it is the best way to deploy a serverless environment to Docker containers in the cloud, or how to be sure that we keep our beer fridge stocked.
Our experience shows success with as much relevant interaction as possible, while respecting the time of both parties. We enjoy having our candidates work on some open source projects with us before they make a leap, and invite them to come and spend an afternoon or even a full day with us as we complete our day to day work.
by Dawn Code