Interviewing
Here are some things I have learned about software engineering interviews over the course of my career. I hope these learnings can bring others the same peace they have brought me.
Nerves
No matter how often I do it, I find that interviewing makes me nervous. While I have found ways to be less nervous, the inherent power dynamics and uncertainty always have some kind of nervous effect.
Having designed and participated in many types of interview panels, here are some things to keep in mind that should help you be a little less nervous while interviewing:
- Interviewers themselves may also be nervous, even if they seem super confident. They might be self-conscious about an interview process they don’t completely love or the power dynamic of interviews.
- You might feel like an imposter, but the interviewer might also feel like an imposter interviewing you! You might have gone to a better school, worked at an interesting company, or built a cool project.
- The company’s interview process might be disorganized or new. If an interview goes long or short, or if you aren’t sure if you are answering their questions in the best way, it probably has nothing to do with you.
- Interview formats and questions are likely less thought through than you think. This is particularly true when you are an interviewing at a startup (or any environment with lots of new people and processes), but it can be true at any company of any size. If you aren’t sure what they are trying to evaluate in a particular interview, just ask! Don’t be afraid to ask lots of questions - after all, that’s what you’d do in the actual job they are hiring you for. That way you can hone your responses to what the person is looking for.
- There is a lot of mythology that interviewers inherit from past jobs and blindly carry to their next jobs. Most of this mythology is flawed if not altogether wrong.
- Interviewing is inherently awkward. There are power dynamics that make both parties uncomfortable. Some people have interview styles they love giving, while others are more ambivalent. Recruiters and hiring managers can be organized or disorganized. Try to keep a cheery attitude throughout the process.
Hard truths
You might be feeling better about interviewing after reading the first section of this post, and you should! But there are also some hard truths.
- For some software engineering interviews, you might have to jump through hoops. One such hoop is an algorithms interview. Most of my worst interview experiences have been algorithm interviews. Unfortunately, some excellent companies have people that firmly believe these kinds of interviews are the best way to evaluate candidates. Be prepared for these kinds of interviews if you want to maximize the number of job offers you will receive, or accept that you will receive fewer offers if you are not willing to spend the time prepping for these kinds of interviews.
- Companies, typically large ones, will put daunting lists of requirements on a job posting. You can mostly ignore these. It’s ok if you have half the number of “years of experience” with certain technologies, or you only check half the boxes on a list of ideal candidate attributes. If you feel directionally aligned with the job role, just apply.