Passing the generic tech interview
The software industry sucks at interviews. Most companies don’t have a standardized way of comparing candidates and those that do don’t put much thought into them. It’s usually convening the hiring panel and getting a thumbs-up from everyone. This means that the job of an interviewee is not to demonstrate that they have the skills needed for the job at hand. Instead, an interviewee’s primary goal is to get the interviewer to like them.
I hate this. I’d much rather be judged by my ability to do the job at hand instead of playing these psychological games. Unfortunately, that’s the reality we live in. Here’s a few lessons I’ve learned over the years. While the advice in this post is very “works on my machine”, I hope you can pick up a few things that’ll help you in your future job-seeking endeavours.
I’ve interviewed a lot, thanks to my status as “the Typhoid Mary of startups” requiring that I find a new job a little too often for my own comfort. When I’m sitting down for an interview, my initial goal is to figure out what the interviewer across the table wants. Usually, I do some backchannel communication to figure out what the interview culture is like at the company. Occasionally, the company has put some thought into interviewing and the following doesn’t apply (i.e. Netflix).
In most cases, I need to gear up and reread How To Win Friends and Influence People. Once I’m at the interviewing table, it’s all about making the person across from me happy. I’ve found that interviewers usually fall into a few broad categories:
Here because they were told to
The company has done nothing to help this person become a good interviewer. They almost certainly googled “JavaScript Interview Questions” five minutes ago. It helps to know the answers to the interviewer’s questions, but it’s more about making them relaxed. Crack jokes, lob softball questions at them, add comments about how cool the company is. I want them to walk out thinking “that wasn’t so bad, Randall’s a pretty cool guy”. Bonus points if you’ve got something impressive to show off (open source work, a neat tech talk). Try to work that in somewhere if possible.
Here to show off how smart they are
Oh boy. They’re here to interrogate you and “prove” they’re smarter than you are with tricky questions. These questions usually take the form of a simple task, with increasingly-difficult-yet-absurd burdens added in (“now do it without if statements”). Other times it’s time for JavaScript Pub Trivia, with a side helping of sneering disdain if you get anything wrong. If I’m interviewed by someone in this category, the company immediately gets tossed into the “absolutely not” bucket. Usually I just go with rote answers or, if I’m feeling cheeky, dance around the tricky questions they ask.
Here to ask The Specific Question
Often, interviewers have one big question they ask at every interview. These can be fun. I try to make it a back-and-forth thing, instead of me sitting there silently solving away. They’ve probably seen dozens of solutions, so I try to ask questions around the problem (“what about this?” “What happens when X?“). Even if we don’t cover those areas, I want to stand out in their mind from everyone else who just followed instructions.
(When I’m interviewing without guidance, this is the style I use)
The Culture Fit Interview
“Tell me about a time when….“. Luckily I’ve got tons of stories (see Typhoid Mary). The key is to spend about 40% of the storytelling time talking about my own failings and what I’ve learned. Bonus points if I can follow it up with another story where I applied what I learned. Most folks on my side of the table only talk about their successes, which makes sense on the surface (it’s an interview, show off your good side) but from a “make this person like me” standpoint, it just comes off as arrogant.
One common thing I do in all but the showoff category is that I ask about what they do at the company. This helps me figure out a bit more about the company itself but the primary purpose is to get the interviewer talking about something that’s important to them. (People who feel their job isn’t important usually don’t get picked for interview panels). Once I know what their role is, I can reflectively listen. This ends up being pretty flattering to the interviewer without actually coming across as such.
Usually, I’m asked for feedback immediately after the interview. If asked for feedback, I’m not going to be honest. That doesn’t mean I’m going to lie, it means I’m going to give the feedback I think the interviewer wants to hear. In most places, that means something that looks like:
- “Oh, that was great!”
- “I especially appreciated… (point out something that was nice)” Some examples: “Everyone made time for me to ask questions” or “thanks for bringing me water, my throat was parched!”
- “One concern I have is… (here’s a great opportunity to provide a layup for the interviewer/recruiter to answer)” Usually I mention something I know they can solve (commute => WFH/shuttles) that hasn’t been mentioned yet in the interviews.
Again, all of this is a moot point if the company’s put some serious thought into what sort of candidates they’re looking for and how their interview process selects for that. But that’s a rarity, and this philosophy has worked out for me - I haven’t had trouble finding a job in my 7(!) job searches. Caveats apply, but this post is already too long.
Also notable is that this strategy optimizes for offers, not finding the best fit for me. I’ve pretty much given up on determining the latter via interview, as everyone’s faking it on all sides of the table. The only effective thing I’ve found is knowing someone on the inside who can be blunt with me about the real culture (and even that doesn’t always work).