4 Problems with Software Interviews
Earlier this week I posted a tweet about my frustrations with software interviews. After seeing so many of the stories that were shared with me, I want to summarize my beef with software interviews.
I do think that interviews should be challenging and companies should have a high standard for the candidates they offer roles at their company. Recruiting and hiring is very hard, and it's even harder when you have 100s or 1000s of candidates in the pool. I'm very proud of how my current team and organization interview candidates, we have very high standards but do our best to set clear expectations.
This post is not about making hiring decisions, even though it kind of comes with the territory. I've had many great interviews that I was proud of that didn't result in an offer. That's a story for another time.
Problem #1: Candidates are evaluated on material they weren't able to prepare for, material that doesn't match the role
This is probably the #1 problem that I come across.
Typically when talking to a recruiter or hiring manager the first thing you'll hear about technical interviews is: "data structures and algorithms". The range for this is very broad. Even if you read all of Cracking the Coding Interview there's a risk you'll be asked questions beyond what you've prepared for.
It's really all luck. If you do 20 interviews you're bound to get one where you know all the questions.
— Joshua Berenhaus 🐻🏠 (@JBerenhaus) September 19, 2021
It's still rediculous and has low correlation to how the engineer will do in the actual job
As Joshua calls out, the pool of coding questions you're prepared to answer is much smaller than the possible questions you might be asked. Does this luck really translate into better data when evaluating a candidate? I don't really think so.
Hi, welcome to this interview for a frontend dev role. Now invert this binary tree with C#.
— William J. Ghelfi - the Nx guy 🐬➕🦄 (@trumbitta) September 20, 2021
As William has pointed out, it's really frustrating to come in with a certain skillset and knowing something about what the role entails... and being evaluated on something completely different. In my opinion, the format of the interviews should not be a surprise to candidates.
It's fair to ask really challenging questions that shows how a candidate works through a new problem. If you're a hiring manager, you can reduce interview churn by giving candidates a chance to prepare for these interviews.
If you find that complex problem solving and using computer science or math domain knowledge helps give you better insight into candidates, just make clear that that's the case. If I was interviewing for a web UI role (as an experienced web UI engineer) and I was asked questions about iOS development or combinatorics, I'd be pretty upset and confused if nothing told me to prepare for that.
Recommend: Set realistic expectations with candidates & standardize question pool with interviewers
If your team has a pool of interview questions that you pick from, let candidates know some of the things that will/won't be expected for them to know. Things like "data structures and algorithms" doesn't really narrow down what a candidate should brush up on.
Picking a few areas of interest that are relevant to the team gives candidates a chance to brush up on topics and show up better during interviews. When I interview, I try to minimize the number of "prior-knowledge" questions I ask that can't be worked out during the interview.
When I do use prior-knowledge questions, it's because I think it will help a candidate shine. If someone says they know a lot about React, I'll ask really specific questions about it and it always blows me away. However, I wouldn't ask those questions to someone who says they're vaguely familiar with it.
Problem #2: Candidates are put through intimidation trials or 'gauntlet' challenges
I've been through plenty of technical interviews, and 99% of them have been 1:1 with an engineer, designer, agile coach, or engineering leader. During my internship interviews with Goldman Sachs I had 2 separate interviews with 2 engineers interviewing me. It wasn't awkward and even maybe felt a little more social and comfortable.
In high school, I had an interview where a team of 5 engineers sat on one side of the table and interviewed me from the other. It was a bunch of questions and was all over the board. The interview went well, but I was definitely in a defensive posture the whole time.
When interviews are described as intentionally making you uncomfortable, that's a red flag for me. There's anxiety that comes with the territory, and I really do not believe intentionally stressful interviews demonstrates "how you work under pressure".
Here are some other stories:
They said this:
— Dan Poxton (@DanPoxton) September 20, 2021
"The next stage has been described as 'gruelling'. Five of us will bombard you with quickfire questions for an hour. You won't know the answers to most of them. It will test you to your limit. We want to see how you react."
I had a remote interview last year where there were no smiles or introductions, just 30 minutes of 2 guys tag-teaming a speed round of technical questions at me while I tried to keep up. Of course, I did terribly, and I left feeling humiliated and in need of a shower.
— Dylan Frye (@Pixiestiks) September 20, 2021
I’ll never *not* mention my contenders. This was all in one interview:
— Zack Z. (@eanx) September 20, 2021
- Hiring manager was asking questions about SSH keys while messing with his phone.
- Senior leader comes in and says, “It’s my job to make people uncomfortable.”
- Ghosted without a, “Thanks but no thanks”
oh the guy that ran people through "the gauntlet" he created, which was an 8 hour timed test he monitored and commented on in real time, involving Java, SQL, and ColdFusion, none of which were involved in their day to day. He told me "I could code what you did"
— now on my 7th apocalypse AMA (@vexedAndVaxxed) September 20, 2021
Most of these are pretty cringeworthy on their own. I always go back to the question: does this interview give me any signal about how this candidate will perform at this role?
I'm not against pop-quiz style questions to start out an interview; I use them myself a lot. However, I explicitly state that my questions cover a range of topics with the intention of probing for depth and breadth on technical subjects. It's not a pass/fail evaluation.
Recommend: Review your interviewing practices & optimize for getting useful signals from candidates
- If your team values the traditional "work under pressure", "think on your feet", etc. values; ask yourself whether or not intentionally making the interviews more stressful is the right way to gain that signal.
- If you're an engineering leader, do you know how folks in your organization are interviewing candidates? Could changes be made to get more useful data from these interviews?
- In my experience, getting the anxious energy out of a candidate in the first few minutes usually pays off for the rest of the conversation. They're much more willing to share relevant knowledge and experience when they're comfortable.
- Would your hiring loops produce different results if the interviewing methods were changed? Is it possible you're passing on skilled talent?
Problem #3: Some people are assumed to be non-technical or "not technical enough". Companies ghosting candidates.
I've seen this one play out a lot too. It basically comes down to recruiters and interviewers having a bias for what a "technical person" looks like. Many times women and other underrepresented folks in tech are assumed to be "non-technical".
On the surface, I don't think there's anything with finding other roles within the company when the one they're interviewing for doesn't match. However, it's important to be aware of when this makes a candidate feel like they're being typecast into a non-technical role.
There are lots of reasons to not offer someone a role, and that's normal. That's business. However, when providing feedback to candidates it's important to consider what message is being sent. Sometimes the feedback sent to candidates is incongruent with the actual hiring decision that was made.
After interviewing for an engineering job and not successfully passing the CS whiteboarding portion, was told I didn’t get the engineering position but that they’d let me know if a non-technical role opened up.
— Kim Maida (@KimMaida) September 21, 2021
i got the word search problem and ran out of time, so i explained to the interviewer exactly how to solve it. he was like “you’re right, and you’re very smart, but you’re not ready. try again next year”.
— meezy 👩🏾💻 (@almeezyuh) September 19, 2021
As an indigenous-presenting Latina: I get mistaken for the cleaning lady/catering cleanup. When I worked in Morocco, it regularly happened that I'd be asked for coffee by the people I was meeting with. I'd get them the coffee, welcome them to the meeting and they'd turn red.
— adriana (@av) September 21, 2021
Recommend: Check your biases. Think about how they impact your decisions and actions.
- If someone in your company makes a candidate feel stereotyped or marginalized, they will remember it forever.
- During one of my interviews, I was mistaken for the coffee guy (innocent mistake) and was berated at the door for being late (not so innocent). I'll remember that story forever, and I'll tell it forever.
- Educate yourself and your employees about the biases that show up in recruiting and hiring, re-think your interview and evaluation process to ensure the process is equitable for candidates.
Problem #4: Lack of professionalism during interviews and failure to communicate with candidates
These are pretty self explanatory.
One time, I got invited for interviews at a big name tech company. I drive to their campus, and there's no parking left. I have to park a half mile away and walk in. Then most of the interviews are video calls. Why make me go to your office if your employees are distributed?
— Justin Hutchings (@jhutchings0) September 19, 2021
there was the one that wanted an 8-hour day of unpaid internship as a part of the "interview" (lol)
— now on my 7th apocalypse AMA (@vexedAndVaxxed) September 20, 2021
Went for an interview, walked into the entrance and had security escort me off site because they failed to communicate my interview was rescheduled. They never bothered to reschedule, neither did I.
— Stephanie Swearingen (@ChefSteph407) September 21, 2021
I had a Google on-sight interview where 2/4 rounds were in a room with a whiteboard that went from my shoulders to the floor so I had to do most of the interview literally on my knees…
— Rebecca Gold 💅🏻👩🏼💻🔮 (@RebeccaSGold) September 19, 2021
Yes of course all my interviewers were men 🙃
Asked to teach a technical topic. Third slide included “why i am teaching this topic.”
— Is Jess Alive? (@IsJessAlive) September 21, 2021
First question, clearly canned: why did you choose this topic?
My first interview out of college was at Microsoft and the guy handed me a piece of paper with a coding problem and then kept working on his desktop with his back to me.
— Kevin M Mangan (@kevinmmangan) September 20, 2021
I should have been able to solve it, but that was so stressful I just sat there for like 5 minutes then left.
Interviewed at a #FAANG company doing #DevOps tooling and generally answered their questions well enough. Was at the whiteboard discussing how to use logarithmic functions to determine the amount of digits in an integer, turn to find the hiring mgr gaming on his phone. #hardpass
— Chris Anderson (@RiddleMeThrice) May 7, 2021
Recommend: Do better.
These stories will permeate and be shared with friends, families, and coworkers. I have a friend who once heard his interviewer take a Snapchat video of the interview (because the audio of it started to play back before he could mute it).
These are first impressions that last a life time. Regardless whether or not a candidate is going to move forward or not, it's important to treat them with dignity throughout the process.
I know I personally have a short list of companies/individuals I'll never interview or work with based on these kinds of bad interactions.
If your interview process is the front door to your engineering organization, how do you feel about how people are greeted at your door?