Technical Interview Preparation and Tips To Consider
Braydon Coyer / July 08, 2021
10 minute read
Do you get nervous when taking a technical interview? I assume we all do — no matter how much experience we have under our belt. The truth is - technical interviews are a process we all have to go through at some point (and usually many times) as developers. The imposter syndrome kicks in and we are tempted to think we don’t belong in the industry. Sometimes we panic and freeze, where other times we manage to hide the nerves better than others. How do you react?
When I’m preparing for an interview, I often think of things I should say or should do and perform a self-retrospective after to identify ways to improve.
Now, though, as I conduct interviews for my company that operates in an Extreme Programming environment, I’ve been given a new perspective on tips and patterns to follow in future interviews. If you're looking for a new development job, I'd like to share these interview tips and highlights with you. Let's take a look.
First, don’t oversell yourself. Don’t get me wrong - I’m not saying that you sabotage your own job interview; you have experience and worth, but there’s a difference between showing your worth and overselling yourself. Developer candidates have told me they have experience with a language, framework or agile methodology and when I ask a question to gauge their understanding, it becomes obvious that they have little to no experience at all. As an interviewer, it’s very off-putting and a waste of time - now I have to try to find where they truly are on the experience spectrum. Not a great first impression, right?
Instead of overselling yourself, be honest with the interviewer and respond accordingly. The interviewer will no doubt have reviewed your resume and has an idea of your experience, so make sure you appropriately set the expectations of the interviewer going in - and then knock their socks off. Don’t make the mistake of exaggerating your experience and as a result looking like a weak candidate.
Now - I understand that many job applications “require” that candidates have years and years of experience in certain technologies for the pertaining role. More times than not, these numbers are unrealistic and can be a deterrent for considering applicants. I believe technical hiring is broken and this article by Aline Lerner’s blog does a great job examining the problems.
Regardless of the years of experience needed for applications, if you think you can provide value to the company for that position, you should apply! Most of the interviews I’ve taken have listed requirements that I didn’t fit - and yet I did well in the interview and even got a few offers. Send in your resume with honest information, and see what happens.
Second, being a developer means that you’ve dedicated yourself to being a life-time learner. Constant learning requires discipline, time and effort as said by Thibaud Jobert in his article about the endless cycle of learning. When you’re interviewing, there will be times when you're asked a question and you don't know the answer. Perhaps it's a detailed programming problem you need to solve, or maybe a more general question about your experience with a certain framework. Either way, if you don’t know the answer or don’t have the experience, inform the interviewer while also displaying a willingness to learn.
Here's an example: “I don’t have experience in that area, but I’m a diligent learner and I know I can upscale myself to fulfill that requirement. I was previously put in a situation that allowed me to learn a new framework and by the end of the project, I was teaching other members on my team and we delivered a successful product.”
This response does a few things:
- Admitting you lack some knowledge (honesty is key, remember.)
- Expressing a willingness to learn
- Providing credibility by explain past experience
Third, please don’t cheat. I know this sounds obvious, but it hurts you in more ways than one. I can’t tell you how many times I’ve seen developers clearly referencing a solution to a coding problem and yet they can’t answer a basic question about the code they just “wrote”. By cheating they focus too much on the leaked solution and end up not understanding the implementation and what the code is actually doing.
I believe there’s a difference between researching before a technical interview and cheating during the interview itself. In fact, I commend those who dedicate some time to research my company and interview process. It shows me the candidate is (hopefully) interested in what we do. It also allows them to gain some general information about the interview and what they can expect. What did other people think of the interview? Was it difficult? Glassdoor may even have some vague description about the broad type of questions candidates are expected to answer. Researching these things are all fine, but finding a leaked solution to use during the interview is deceitful, it’s painfully obvious to the interviewer and should result in an immediate disqualification.
Don’t cheat. You’re smart! Move slowly and think through the problem or question asked of you.
Finally, don’t make assumptions about what’s being asked of you - this can cost you valuable time. Approach technical problems and coding challenges with a fresh mind and ask clarifying questions to understand the problem scope along the way.
While one of my responsibilities as an interviewer is to help guide candidates towards the finish line, sometimes I let them wander when they’re taking a coding challenge to see if they’ll make it there on their own. This, in itself, can help me gauge one’s experience and understanding, but many times a simple question directed at me from the candidate can save them time, realign their compass and highlight possible solutions.
Asking questions doesn’t shine a bad light on you. Rather, a good candidate asks directed questions at the appropriate time, revealing your engaged mindset to the interviewer. This skill only comes with practice, but performing a retrospective on past interviews and evaluating how you could have asked better questions is a great way to prepare for the future.
You should also get in the habit of preparing questions to pose to the interviewer or manager at the end of the interview. Ask about the company. Ask about methodologies and workflows. Ask about the team you’re being evaluated to join. It never hurts to show interest in the position, the company and work they’re doing.
Interview preparation helps you get ready beforehand, but it also sets you up for success as you showcase your skills during the interview. Remember - be authentic, show your willingness to learn, don’t cheat and make sure you ask good questions!
Have anything else to add? Hit me up on Twitter - I’d love to hear what you have to say!
Cover photo by Maranda Vandergriff/Unsplash
Articles delivered to your inbox!
A periodic update about my life, recent blog posts, how-tos, and discoveries.
As a thank you, I'll also send you a FREE CSS tutorial!
No spam - unsubscribe at any time!