Nailing your next technical interview

So, you’ve got another technical interview coming up,
you get there early, feeling prepared, do your best to show them what you got and walk out of the interview thinking “That went pretty well”.
A couple of days (hopefully not weeks) later you get an email wishing you “goodbye and good luck”.

Sounds familiar?
Most engineers have experienced rejection at some point in their career and it is never a nice experience, let alone after being certain you aced the interview.
The big question that remains in our head after any rejection is:
“Where did I go wrong?”

I’ve been an R&D team leader for the past 3 years at ironSource and I have had the chance to interview hundreds of engineers from different backgrounds and levels of experience.
During this time, I’ve encountered a wide variety of mistakes made by candidates, some more often than others.

As interviewers, we don’t always get the chance to give candidates a deep and constructive feedback so I thought I’d write down some tips from my own experience as a technical interviewer in the hopes to help someone out there be better prepared for their next interview.

One last thing before we start, while I’m writing from my own experience as a technical recruiter, I strongly believe most tips can be applied to any interview in any field.

Let’s get down to business.

1. The interview starts before the interview — come prepared

“Failing To Prepare Is Preparing To Fail” — Benjamin Franklin

There’s actually plenty you can do before the interview even starts.

1. Learn about the company & department
Understanding what the company and the department do before arriving at the interview serves two purposes:
a. You can prepare better for the technical part.
If a company’s focus is security and you’re an Android developer, they’re probably going to ask you about security aspects in Android.
b. Show your interviewer that you actually have an interest in working there and it’s not just another interview on your calendar this week.

2. Get to know your interviewer
Knowing your interviewer is just as important as knowing about company.
The same position, in the same company, can have different interviewers, each with their own background and interviewing style.

Some examples of things you can learn:
Your interviewer’s technical background, how long they have been working at the company, their Github/LinkedIn profile and so on…

Talking about, for example, an open source project you both contributed to or a company you both used to work at, can shift the interview in a very different direction — in the good sense.

3. Go over previous interviews
Prior to your next interview, look at past interviews, focus on what you can learn from them and on you can work areas you are less familiar with.

4. Ask!
As soon as you get invited to a technical interview ask about your reviewer, about the interview process, the position and if there’s anything you can do to prepare for the interview.
Most of the time the recruiter will be more than willing to answer any questions you might have.

2. Stand out in the crowd

Keep in mind that your interviewer probably meets a number candidates in a given week, what you’re looking for is to stand out!

So, how do you stand out?
Wear glitter! and seriously now:

1. Show interest
If you followed the first tip (I’m sure you did), you came prepared with knowledge, use the information you have to ask further questions about the company, the position, the products — show them you did your homework!

Remember! your questions will imply on what’s important to you.

Don’t — “I heard you guys went to Cancun on the last company trip, should I renew my passport?”

Do — “Can you tell me a bit about the team’s technical goals?”

When asked at the end of the interview if you have any further questions, your answer should rarely be : “Nah I’m good” as it can be interpreted as lack of interest.

2. You are not only defined by your previous positions
Most candidates will talk about what they did as part of their previous positions and while it can lead to a good discussion, it’s also limiting.
Stand out by talking about a personal project of yours (If you don’t have one, it’s never too late to start), projects you contribute to, articles you wrote and so on…
Before the interview, pick a personal project, one you’re most proud of and familiar with, prepare for deep questions about it and be able to explain why you made certain decisions in code, architecture and so on..

3. It’s more about how you think, than what you know

Many candidates think that they should answer every technical question immediately and often get nervous when they can’t.
The actual truth is that interviewers are more interested in how you approach a problem, especially one you don’t have an answer to.

A few pointers on how to approach a technical question:

1. Don’t aim for an absolutely perfect answer at start
Start with a naive solution and optimise the solution as you go.
By doing this, you start a discussion that serves as a stepping stone to the more advanced solution.

2. Silence is your worst enemy
It creates unnecessary pressure and leaves your interviewer unaware of what’s going on in your head.
When asked a question, never answer “I don’t know” and fall into silence, instead, share your train of thought out loud, even if you only have a raw idea (which doesn’t have to be correct), talk about it and figure it out as you go.

3. Involve your reviewer in the solution process
Repeat after me: This is not my problem to solve, it’s our problem (Soviet Union style).
Pitch directions of thought and see what they think about them, share assumptions you make so they can either validate or disprove them.
Remember, your interviewer is probably going to be someone you’ll have to work out solutions with on a day to day basis if you‘ll work there one day.

4. When you don’t know, you don’t know
Make sure you don’t talk with confidence about facts you’re not sure about. It’s OK to say you don’t know or not sure, but do share your hesitation with the interviewer and try to phrase what you DO know in the best way.

In conclusion:

Don’t — “I need to think, give me 10 minutes”

Do — “What if we tried this? can we maybe improve it by..? I’m still not sure if this works”

4. Timing is key — time your interviews

You probably think I’m going to write about arriving for interviews on time, but that’s an easy one.
Actually, people don’t give enough attention to the part of the day the interview takes place in and the fact they have (some) control over it.

If you’re not a morning person, don’t do interviews in mornings.
If you work all day and reach the end of the day exhausted, don’t do interviews at 18:00.

Keep in mind your interviewer also probably has a preferred time of day.
How are you supposed to know what part of the day your interviewer prefers? Ask! before you schedule the interview.

Your interviewer only gets about an hour with you and you’ll be surprised of how much the time of day can affect the impression you leave on them.

5. Have fun, be confident and embrace your shortcomings

Don’t take interviews too hard.
When you’re nervous, the interviewer gets nervous and it creates a tense atmosphere throughout the entire interview.

Yes, I know that being relaxed and confident in interviews is easier said than done, especially when you really want the position.

Here’s how I think you should go about it:

  1. Talk about what’s important to you
    Don’t let the interviewer talk only about the position and what they’re looking for, tell them what’s important to you in your next role and what kind of tech/product you aim to work on.
  2. Embrace your shortcomings
    I often see candidates trying to hide areas they’re less good at.
    The reality is that a good interviewer will probably reach those areas anyway and talk to you about them.
    Instead, speak openly about areas you have less experience in and on parts in yourself that you wish to improve in your next role.
    Your reviewer will appreciate your honesty and will be able to tell you if they can offer you the opportunity to work on those gaps (plus, let’s be honest, nobody’s perfect, they probably have gaps of their own).
  3. Ask for feedback
    A good way to feel confident ahead of your next interview is to understand what didn’t go well in the previous ones and work on it.
    Don’t wait for a company to give you feedback, always seek for it proactively by asking.
    At my department (at ironSource), for example, I have had the chance to give feedback to dozens of candidates and I personally, as an interviewer, love the fact I can help candidates improve for their next interview.
  4. Break the ice
    When you talk about yourself, you don’t have to stay limited to your CV or LinkedIn profile.
    Talk about hobbies, stuff you like to do outside work hours and who you are in general.
    Creating a light atmosphere in the first 10 minutes of the interview can set a good tone for the entire interview.
  5. Prepare (goto first tip, you are now stuck in a recursion)
    It’s pretty straight forward, the more you prepare, the less you’ll be surprised which will eventually translate to confidence.

Summing up

Will following the above tips guarantee you pass your next interview?
Of course not.

There’s no recipe for a perfect interview, if someone tells you otherwise they are probably lying or you just clicked on a clickbait article (don’t feel bad, it happens to the best of us).
Each company interviews differently and likes to focus on different aspects and you should adjust and prepare accordingly each time.

Nevertheless, my personal experience, as both an interviewer and an interviewee, had taught me that you can place yourself in the top 10% by preparing and standing out, regardless of the company or the role.

A personal (and final) tip from me:
If you’re going to make mistakes in your next interview, make sure they’re original :)

Hope you had fun reading and took something with you (even a small piece) for your next interview.
Feel free to share your own experience and add more tips in the comments.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store