Why Interviews Are Failing Developers AND Companies

                                                                  Photo by Jeremy Bishop @jeremybishop on Unsplash

In some respects everything is changing in the world of software development. AI is making our job easier by the day, and the amount of resources available on the web make it easier than it has ever been to learn a new language.

Yet interviews…interviews are failing us all in the tech industry. That means for candidates and companies interviews are unable to pick the best candidates and put them into position.

I’ve worked out what the problems is. Here is the what, why, and what software developers can do about this.

What The Problem Actually Is

Candidates are spending time completing LeetCode problems that have little to nothing to do with the job of being a software engineer. I know devs who spend hours each week grinding problems so they are “interview ready”, at the expense of performing well in their current job. These data structure and algorithm questions are often coupled with trivia questions around the target language also have little relationship to the job a candidate is interviewing for.

Candidates waste time on irrelevant questions to pass interviews at best tangentially related to the job.

Companies want a simple way to filter candidates, and a predictable interview process. So many companies have a set of standard problems and questions they cycle through during interviews. The answers are on a shared drive, and interviewers pull them up as the candidate joins the Zoom call.

The Result

Candidates can memorize problems featured on HackerRank and GeeksforGeeks, and trivia questions are posted on Glassdoor and the like.

If a candidate comes up with an answer not on the list it will be noted as wrong by the interviewer.

We reward candidates for their memory or (even) skill in memorizing answers. This simply can’t be a good way of finding successful developers.

My Experience

Scripted Questions

At one interview I got the famous 25 horses problem, cribbed from Google. In my prep for the interview, I’d actually solved this puzzle and memorized the solution.

I would say I was rather naive, so I told them I knew how to solve the problem.

I still haven’t recovered from their response:

“We just want to see how you think.”

They then proceeded with the interview. I proceeded by retrieving the answer from my memory and they really liked it.

I told the interviewers that I knew how to solve the problem from my prep. They said it didn’t matter as they repeated they wanted to ‘see how you think’.

Of course, I retrieved the answers from my medium-term memory and got the answer ‘correct’. I have no idea how that relates to ‘see how you think’.

The situation was absurd. The interviewers were unable to think about the situation, change the question or adapt to what I said. As a candidate I had concerns that the interviewers were only able to function with scripted questions and were inflexible and poorly educated — surely not the impression an interview should give to a candidate.

Sitting Quietly

Consider the experience from my own career (anonymized, of course). I once faced a tech interview where I was asked to implement a heap from scratch. Midway through the process, it became clear the interviewers had no intention of providing any hints or feedback. We sat in awkward silence for 15 minutes.

Instead of ending the session early, I was left to feel like a deer in headlights. It wasn’t about assessing my problem-solving skills but rather my ability to perform under stress.

Spoiler: I didn’t get the job.

Multiple Choice

I’ve completed multiple choice trivia questions on the web as a “candidate screen” (and I wish they’d stop naming them that, and making that name visible to the candidate).

50 questions, no time limit.

The questions were littered with typos, some unintentionally had no correct answer and others tested for things like shortcuts used in Visual Studio Code.

This was the only technical test for a well-paying software engineer job. I shudder to think about the quality of their code.

The Solution

If you’ve been following this blog for any time you’ll be aware that I think that the software developer interview process requires changing.

Companies need to define what they actually want candidates to be able to do, and filter them based on this knowledge.

They could go even better and run technical tests with existing staff to both improve the tests, and to implement training programs to reduce any skills gap.

How Developers Can Solve This

I understand developers read this blog, and we seldom have the political power to actually change the interview process in our current companies. So what can we actually do?

Developers are part of the interview process, so we have an opportunity.

We can change how technical interviews are run, since often we are the people who run these parts of the interview process.

Only Ask Questions You Know the Answers to

I’ve been in many interviews where the interviewer reads the question from a list of possible questions. The candidate gives an answer and it’s deemed to be ‘wrong’ since it does not match the one given.

We can stop this. Before interviewing candidates become familiar with the questions and have a go at answering them yourself. This would also be great interview practice for you and shouldn’t take too long.

This will make you much more professional in the interview process. You’ll know the stuff and come across as confident.

Read the Resume

I’ve been in a few interviews where the interviewer hasn’t read my resume. Actually, I need to be more realistic about this, it’s actually pretty much every interviewer hasn’t read my resume.

You see, I’ve loads of evidence about being awesome in there from a previous career. I don’t feel able to mention it because it might be perceived negatively, but if anyone would like to have evidence of communication skills it’s there to see.

I mentioned my experience in my last interview, and they gave me a blank look. I said, “it’s on the resume”!

I didn’t get the job. FWIW I’d looked at their LinkedIn to understand their experience and route to working their current job.

Conclusion

Tech interviewers should be holistic, fair and reflective of real jobs.

That might be something we are not able to change as software developers, so until then can we do a better job for the interviews we take part in?

Is that too much to ask?

“I just want to see how you think”

Previous
Previous

My Colleague’s Double Life

Next
Next

Software Development Jobs Suck. Here is Why