Mistakes I see when interviewing software engineers

August 05, 2021

A few simple changes to your approach can make all the difference as a candidate.

As an early employee at a fast-growing startup, I’ve had the opportunity to interview many software engineers. Over the course of those interviews, I’ve developed a few simple heuristics for whether the interview was a success.

For aspiring software engineers, it might be useful to hear what the person across the table (or Zoom screen) is thinking.

Interviews are (possibly) pointless

Let me preface this entire article by saying that interviews may be entirely pointless.

There’s a decent amount of evidence to suggest that picking candidates via interview is no better than random chance. Flipping a coin might be a better way to decide who to hire.

Why job interviews are pointless _tatistics often sounds like a dry subject, but many judgments and decisions in everyday life would be improved by an…_www.theguardian.com

Opinion | The Utter Uselessness of Job Interviews (Published 2017) _It gets worse. Unbeknown to our subjects, we had instructed some of the interviewees to respond randomly to their…_www.nytimes.com

It’s not nice to admit, but as an interviewer, I know this in the back of my mind while I’m talking to candidates. A 30-minute conversation with a candidate isn’t likely to help me determine if they’ll be a good software engineer.

In fact, the interview may mislead me. If a candidate is especially well-spoken or likeable, I may miss or ignore red flags about their candidacy.

However, interviews are still the way we choose candidates in the corporate world. We haven’t developed a better system, and we don’t like the idea of flipping a coin to decide yes or no.

With that in mind, what can candidates do to tip the scales in their favor?

1. Smile

You’d be surprised how few software engineers smile in their interviews.

I get it. It’s nerve-racking to be in an interview, and you might not feel like smiling.

But at least in the interviews I conduct, I try hard to keep the energy light and fun. I want you to be comfortable, and I want you to succeed.

I’ve long thought that social skills are more important than technical skills for a developer. If the candidate has trouble smiling, being curious, or matching my energy, it’s difficult for me to imagine working with them.

Developers: social skills are more important than technical skills _Don’t get me wrong, you need to be able to code! But your career advancement and life happiness depend on your…_blog.usejournal.com

2. Ask Questions

At the end of the interview, there’s usually a moment where the interviewer says, “Do you have any questions for me?”

I’m not talking about that moment.

When I say that you should ask questions in a developer job interview, I mean that the entire interview should be like a conversation with a good amount of give and take.

If I’m conducting an interview and the candidate gives a thoughtful response, I’m impressed. Then I move on to the next question.

If the candidate gives a good response followed by a thoughtful question, then we have something to talk about. We can dive deeper into theory, examples, how we do things at my company, and why we made those choices.

Asking good questions makes you seem like a peer, rather than a subordinate.

A Note on Long-Winded Candidates

Sometimes, I meet candidates that are long-winded in our interview. They dominate the conversation with overly detailed responses or unrelated digressions.

As an interviewer, it’s challenging for me to stay engaged with these candidates when they don’t give me an opportunity to speak. I could interrupt to redirect the conversation (and I often do). However, that approach can be rather abrupt and sometimes the candidate still is long-winded, just on a new subject!

It’s probably nerves that contributes to candidates long-winded responses. They want to make sure they cover everything! I can empathize with that.

My advice: Remembering to ask questions is the best way to ensure that you’re not being long-winded in an interview. Turn the interviewer’s questions into conversation topics. Try to learn more about the company and why the questions are important in the first place.

3. Project Confidence

In Malcolm Gladwell’s book Talking to Strangers, there’s a section on implicit bias in who we believe and trust.

Gladwell shares a brilliantly designed research study that put ordinary people in a position where they had to either lie or tell the truth. (I’ll omit the details of the study here for brevity.)

Some research subjects in the study were confident and stated their position strongly. Others were nervous during the study and acted anxious, regardless of if they were lying or telling the truth.

The group can be split into four quadrants:

The researchers then took the videos of these liars/truth-tellers and showed them to another group of people. Could they accurately spot who was lying?

Of course not!

The study shows, pretty conclusively, that we’re bad at telling when someone is lying. Specifically, we’re bad at two things:

  • We tend to believe the confident liar
  • We tend to disbelieve the nervous truth-teller

As humans, we use confidence as a marker for competence (at least in the western world).

What does this mean for your interview?

Projecting confidence is the best way to build rapport with your interviewer. It’s a bias of human nature that even when you’re telling the truth, if you’re nervous people will think you have something to hide.

Even if you don’t feel it, practice giving answers with conviction and assuming confident body language. Your interviewer will be more likely to trust you.

4. You’re in high demand

It’s baffling to me that most companies make the interview process into a series of hurdles for the applicant to overcome.

Software engineers are in incredibly high demand. It is very difficult to hire enough engineers for our teams. Some roles take months to fill, and most of our candidates are interviewing multiple places.

As a candidate, you should know that! Use that information to your advantage in the interview process. Feel empowered to ask difficult questions of your interviewers about process and culture.

If a company has a bad interview structure or asks you to do an unreasonable take home assignment, say no! Interestingly, the interview process tells the company relatively little about you and how good you’ll be at the job. However, it can tell you a lot about the company, their processes, and how they treat engineers.

Opinion: Technical skills are less important

In an interview, I ask candidates to talk through solutions to a problem. While some of that is technical, I’m mostly looking for whether the candidate is curious and intrinsically motivated to find the solution.

I believe technical skills are way less important than social skills in an interview.

If you don’t know a certain technology or concept, we can teach it to you. But if you’re not interested in learning it, that’s a deeper issue that’s hard to fix.

Sometimes candidates show incredible technical prowess, but they act like a know-it-all or aren’t open to new questions. I have given a thumbs down to technically qualified candidates, simply based on not being able to imagine working with them.

On the other hand, I have given thumbs ups to candidates who don’t know all the technical answers but show a willingness to learn.

Maybe all companies aren’t like that — willing to take on lesser trained developers in favor of willingness to learn. However, those are teams you probably don’t want to work on. When curiosity and collaboration are missing, the work of software engineering becomes dreadfully boring and lonely.

A little perspective

I hope this article gives some perspective on the interview process. Perhaps it even challenges some of your assumptions about interviews and their effectiveness.

To recap:

  • An interview is a terrible way to decide if someone will be good at a job. As a result, think of it less like a test and more like a conversation.
  • Smile and ask questions. Avoid being long-winded in your responses. Again, it’s a conversation not a test.
  • Interviewers have a bias toward confidence. Practice giving responses assertively and with confident body language.
  • You’re in high demand as a developer. You can be discerning and selective about who you interview with and what teams you’ll join. In many ways, you hold a lot of the leverage in the interview.

Questions? Comments? Am I way off base? Feel free to leave feedback below in the comments or email me what you’re thinking about: bennettgarner.com

Like what you’ve read here?

I share my best content with my email list for free.

Join 500 other developers currently in my email series.


Profile picture

I write something new every day for 2k software developers. You should sign up for the daily email.

© 2024