We have done hundreds of technical interviews this past year at Remotesome. Doing so, we spotted a few patterns where many talented engineers fall short to pass a technical interview. Surprisingly, many developers easily pass their interview in their second attempt.
Reason: they know what to expect on the interview.
This is why preparation for technical interviews is key.
Before we start, I would like to emphasize one thing: being a good developer is not correlated to performing well in a technical interview.
Working on difficult problems or working on architecture and app scalability for thousands of users takes weeks of time.
However, during the interview, you usually have about an hour to show-off your knowledge and skill. And this is why at technical interviews, two things are paramount:
In some ways, this is very different from most of the work you are tackling every day.
Mastering an interview takes practice and it is a skill on its own. Like coding (or anything else really), working on a similar problem for the second or third time will result in you performing better and faster than the first time. There’s a pattern, but sometimes you need to learn to recognize it. And then it unfolds perfectly.
Mastering an interview takes practice and it is a skill on its own.
That’s why we prepared this guide - to help you prepare for the technical interview. Or any other interview you might have in the future. We believe that with some preparation every talented engineer can easily pass the technical interview. As with everything, it takes practice to make perfect, but good is usually enough. Just put in work to practice presenting yourself properly.
We have split the guide into two categories: hard skills and soft skills.
Hard skills are basically everything related to what you are intellectually or physically able to do - code, calculate, analyze … in other words, hard skills are quite internalized, they pertain to you and you alone. You make an input, out comes the output. End.
Soft skills are in reality hard to explain but pertain to everything else on the spectrum of your interaction with the world. How well do you communicate? Do you tend to be short on explanations or water down every argument with unnecessary talking? Do you know how to read what your interviewer wants from you, face mimics? These skills are undervalued because they tend to sound a bit esoteric. But they are essential as they reflect your interactions with other people.
In other words - that’s how you show you are a good fit for the company.
We included both segments, but both in relation to real-life coding interviews, so you can prepare for your technical interview accordingly.
P.S.: None of the links in the article are affiliate and we do not get any proceedings from your potential purchase or usage. It's there solely to save you a click.
Nearly 100% of software engineers are running remote nowadays. Due to the nature of running remote interviews, you must make sure there are no connection issues and that your computer is ready for the interview.
Surprisingly, one of the most common issues is related to your internet connection. Test your connection and check whether your internet is stable. No amount of excellence and talent will help you if your screen lags and connection drops every fifth second. Test your connection and an app where your technical interview will be held.
Just in case you need it, here are some top places to check your connection:
There are roughly two ways on how companies prefer to handle technical interviews. Some want to see you coding on apps such as HackerRank and some want to see how you code in your own environment.
If the latter is the case, get your coding environment and IDE ready so you don't lose precious time during the interview. Better have everything in place so you don’t lose precious time.
Since interviews are running 100% remotely nowadays, get your microphone and camera ready. A laptop or basic camera will be just fine for a start. If you are looking to upgrade your setup, you can buy a separate microphone and camera. For everyone who is thinking about working remote long term, we suggest investing in a good microphone and camera.
At Remotesome we tend to avoid typical questions in the technical interview. On the other hand, the majority of companies still use algorithms and data structures as the main source of questions for the interview.
There are few resources on which you can go through to prepare for the interview. These resources will help you prepare yourself for the technical interview and work on the issues you might have.
There’s a number of platforms for you to practice code. We would recommend these four:
Though the society is increasingly screen-centric, there's still enough space for the good old paper book. Here's a couple of books where you can find a lot of common technical interview questions, tips and tricks:
One book on coding interviews to rule them all. In it you will find questions and answers used by Google, Apple, Microsoft and other tech giants. You can get it on Amazon, Barnes & Noble, Book Depository results and a Goodreads review of the book.
It comes in C++ and Java versions. Usually cited alongside Cracking the coding interview. Here's the Amazon listing, Barnes & Noble, Book Depository and a list of Goodreads reviews for different issues of the book.
Here’s the part that pertains more to your communication skills than anything else. As stated numerous times - scout’s honor - it has been tried and tested and is a pain point in many interviews we’ve had over the last two years.
They can be challenging to develop, as it is difficult to pinpoint them sometimes, but it can be done and it’s a worthwhile effort.
This is something we continuously see many developers are struggling with. During the interview, there are 2 ways for you to display your knowledge. One way is to write code. Another is to explain your thoughts behind the decisions you made.
All interviewers will like this for a very simple reason. You are helping them understand the decisions you make and your thought process behind them. There are multiple ways to go about the problem, explaining why you took your route is highly appreciated. It also shows that you are more than capable of critical thinking, which is a must at any modern workplace.
Explaining when working on a problem will show your knowledge beyond showing a single solution. Talking and coding at the same time is hard. And nobody wants you to do that. You can take your time, explain why you are making each decision, and then write your solution down.
There are a couple of techniques you could use to answer spontaneous questions more effectively:
These two videos may be of some help. One is Alan Alda presenting his three tips for clear communication (on a more humorous note).
The second one is Matt Abrahams, a Stanford lecturer of Strategic Communication.
Communication and asking questions is an important part of work in every team. If you are wondering about something, you can always ask. More, it is preferred.
Never be afraid to ask. Interviewers will try to help you as much as possible. Sometimes, a small tip or additional explanation might help you a lot.
And there is another reason for asking questions. If you’re stuck, the connection you have with your interviewer breaks. You know the feeling when two people are stuck inside a crammed space together, and nobody wants to start talking about the weather? That.
Once you’re stuck, that problem is an elephant in the room. It is best you address it as fast as possible. That doesn’t only help you solve your problem, but also proves you can work in a team and seek to find the quickest solution to the problem. Everyone needs a nudge in the right direction here and there. It’s completely normal.
Ask questions and express your opinions. It is vital for the growth of both you and the company.
Your technical interview will usually last an hour or two. Interviewers understand that sometimes you will need to take shortcuts to come up with a solution to the problem. Thing is, taking shortcuts is not a problem in itself. However, not explaining the reasoning behind taking a shortcut might raise some red flags with the interviewer.
This is why explaining tradeoffs and showing to an interviewer that you know that there are other (better) solutions will score you additional points.
A lot of candidates are nervous during their technical interviews. We see that a lot. It makes sense. A technical interview is a high-pressure situation. If you are not used to working in high-pressure situations, it results in you being nervous and not being able to perform at your best.
Luckily this can be avoided. One way you can improve is by practicing technical interviews. Simply, include interview simulations in your preparation for a technical interview. Train it like any other skill. Practice makes perfect.
If you are not used to interviews, practicing for an interview will help you a lot. It will simulate an interview environment and you will understand how to code under the pressure of time restraints. There are many ways to go about it.
You can practice interviews with your friend by giving them a set of questions or a problem to work on and restricted time.
You can ask your relatives to do a role-play in which they impersonate different interviewer personalities, so you know how to react to different types of people.
Just practicing a technical interview a couple of times increases your chances to pass a technical interview. It will also help you to present your best self.
If you feel nervous about going on a technical interview, this is one of the most efficient ways to reduce anxiety and stress levels.
Just knowing you prepared well for the technical interview will make you more confident and increase your chances of success.
This sounds bogus, but really, it’s not. Being excited and positive will influence your interviewer.
It doesn’t pertain to your coding skills in itself. Still, usually the candidates who show more excitement during the technical interview have a higher chance of passing. Positive energy is contagious.
This doesn't mean that you need to fake your smile and be too ecstatic. But, if you are coming to an interview, try to have a positive attitude and show why you decided to attend the technical interview in the first place.
We know that objectively speaking, this shouldn't matter. But interviewers, in general, are biased towards a positive attitude and enthusiasm which influences them in a positive way. It is a psychological fact that interviewer bias will affect the outcome of the technical interview.
There are also other tips you might want to consider, though we understand everybody has their own routine. It may be a little out of your comfort zone, but a bunch of people swear by them. It helps you relax before stressful situations and aid you in your success. We split these into a couple of quick fixes in case your interview is very near, and longer term techniques that can help your overall stress management (preparing for technical interviews included).
As you can see, being good at interviews takes practice and skill. It takes some new concepts to learn and practice to master crushing interviews.
Your best play is to adapt to the rules of the game.
Most people (like me) are nervous before interviews, talks, or presentations. That's perfectly natural. You are not alone. The good part about this is that with some practice and experience you will be able to perform great on interviews.
You surely must be asking yourself: Why do I need to go through all this? I just want to code and work.
Reality is that this is the current state on how the majority of companies are approaching interviews and hiring.
Your best play here (as in general in life) is to adapt to the rules of the game and show your worth.
We understand that learning how to interview sounds like you are wasting time. But, looking from another perspective, interviews are the best moment for you to leave a great impression. That, in turn, will get you a great job. And a better salary.
There are a couple of platforms that aim to make this process as painless and as short as possible.
We know how to help you shine and show your true skill. And that’s what matters in the end. Through Remotesome, fancy resumes are out of the picture. Skill isn’t.
Otherwise, learn the rules of the game. It will make passing technical interviews much easier for you.