Gotchas, Culture, and Engineering Interviews

August 23, 2024

I’ve been in some spectacularly terrible interviews. Absolutely horrible car-wrecks of interviews. As someone with extreme people-pleasing tendencies, this can be tough. I have to remember that the things that make the interview so awful are the things that I don’t want to deal with in any new position.

I may feel like a failure for a few minutes or hours, but ultimately a bad interview says just as much about the company as it does about the candidate. One of the things that I’m particularly bad at in the moment is recognizing the shibboleths that get tossed out as a way of recognizing tech credibility. When you get tossed a bunch of questions with the disclaimer “These aren’t meant to be gotcha questions”, you can usually count on them being gotchas.

As someone who has been on both sides of the desk, interviewing is hard. As an interviewer, you want to ensure that the candidate fits both the job requirements and the culture. No one wants to hire a jerk and everyone has dealt with colleagues that were not as skilled as they liked to think they were. As a candidate, you want to prove yourself worthy but you don’t want to work someplace you’re going to hate. I know everyone has heard the whole “You’re interviewing them just as much as they’re interviewing you”. My eyes are rolling as I type it, but it’s true.

An interview should feel like a conversation. You can find a lot out about a person by talking about their favorite projects: the ones that meant the most to them throughout their career. You’re not going to find out as much if you treat the interview like a quiz show or an entrance exam. Talk to them about pet projects, what work taught them the most, and why it made an impact. Get into the technologies they used. Ask about why they made certain decisions. You’ll learn a lot more than whether or not they know what the flyweight pattern is.

I never want to be the smartest person in the room: it sounds like it would be boring. I also don’t want to spend too much time around someone who constantly feels like they have to be the smartest at my expense. The one-upsmanship involved is exhausting. If you’re in an interview and you’re feeling like the interviewer is making you feel dumb, you’re in the wrong place.

One of the things I’ve learned over the years is that if I don’t know how to do something, I at least know how to learn. I know how to look something up if I don’t remember the particulars and how to share that knowledge with others. I know how to work with a team. I also know that interviews make people nervous enough to forget their own names, so I try to put people at ease. I want to know what you know, not what you can recite out of Clean Code. It’s not that I don’t care what you know, it’s that I want to know how you work and how you think. Knowing particular tech shibboleths and jargon isn’t nearly as important as being able to work with people without making them feel inferior.

Everyone will tell you their company has a spectacular culture. People will say that they stay “because of the people”. They’re representing their company and they’re trying to sell you on the idea of working there. If you feel like those phrases don’t match up with how you’re being treated during an interview, it’s because they aren’t. You can choose to address the mismatch or you can walk away.

At this point in my life, I choose to be happy. If it’s not feeling right, I’m going to find somewhere that feels good to me. I’m going to go someplace where learning, helping people, and working well together is more important than being the best.