Ahh technical interviews! Do you love them or hate them? I'm guessing there's probably a sizeable number of us who find them challenging. I certainly do. In fact, despite having a successful careers as a Software Engineer, even taking technical lead on a recent project, I always fail technical tests.
You might be asking, "so how come you have a successful career as a developer, yet you say you consistently fail tech interviews?"
The reason for that is that the first handful of firms were small enough that the didn't have a stringent technical interview processes. And in a more recent job I didn't receive the tech test because they were in the middle of revamping it. I still went through their regular hiring process and they offered me the job. I worked at that firm for over two years.
I never had any complaints, disciplinary action, nor was I sacked due to not having the skills I needed to do my job.
Yet, whenever I go through the interview at other companies, I fail at the technical interview.
A recent interview went something like this.
I had an initial call with a recruiter to make sure I was human. Then I got a technical tests. I worked hard to complete this test, researching concepts I wasn't familiar with so that my code reflected the tools and concepts I know the company uses.
Then comes the technical interview. The people who interviewed me were very complimentary about my tech test. We got on very well together.
But then they opened a REPL and dumped in around 200 lines of code, and asked me to explain what this code was doing.
I started going through the code line by line, explaining imports and what the fetchAPI did. "That's not what we're asking here ..."
I was ready to run by that point.
All I was seeing was the black screen with loads of colours. It was a haze.
"I'm sorry," I said, "I'm not good at this sort of thing". I tried to explain why, but I don't know if they could see things from my point of view.
"I'm not sure how to proceed from here", said my interviewer. I could see he was distracted doing his own analysis of what just happened.
I suggested I could ask some questions I'd prepared for them about the SDLC and their organisation structure. After a while, the call ended abruptly.
I'm not going to get this job, am I?
I'm not the kind of person who thinks on their feet. I have to have time to think first, and only after I've internalised it, can I proceed to explain it to others.
I also find that I break under pressure to display or perform in front of others. Perhaps it's one of the reason I find it panic-inducing to even think about getting up in front of people to play an instrument or act: "what if it goes wrong? What if I lose my instrument? What if I forget my lines? What if they hate me and I can't understand why?"
It's the stuff of nightmares.
Given that there are probably more introverted developers than there are extrovert, can we do better here?
Idea 1: Personality Assessment First
At the first stage, the recruiter asks the candidate some basic questions to assess whether they are more comfortable with face-to-face tests in front of an audience, or take-home tech tests. Then they are given a test that best fits their personality style.
Idea 2: A more Holistic View
A candidate is assessed not only on how they perform at interview, but also on their background. If they've held a job as an Engineer for a reasonable period of time, if they've got a blog / GitHub profile / Side project that could be an indication (you never know!) that they can actually do the job you're hiring them for.
Idea 3: A vetting platform
This is a free business idea for someone with the time and the money to invest in it: perhaps there could be a platform which hosts a range of technical tests, the company wishing to hire selects one (or a few) that they feel are a good fit for their organisation, and see which individuals have already completed them. They could then approach those candidates with to further the interview process.
That way less time is wasted (a) for individual devs who haven't got time to do tech tests, and (b) for the hiring organisation who's devs struggle to find time to properly review tech test submissions.
Thousands of organisations are missing out on skilled candidates because of a poor hiring process. Hundreds more devs are stuck in jobs they hate because they can't pass technical interviews.
Other people, like I did, get successfully placed at jobs without even having to do a tech interview or test.
The whole thing is broken, in my opinion.
How do you think we can fix it?