"Dread it. Run from it. Destiny arrives all the same." - Thanos 2018
We know the technical interview can be extensive, but is undoubtedly one of the most important parts of the hiring process for jobs in software engineering and other top jobs in tech. It allows a company to assess how you work in different environments and helps them get a better understanding of your technical knowledge and skill set.
We’ve successfully guided thousands of candidates over the years through technical interviews and picked up some invaluable tips and preparation along the way. In this mini-guide, we’ll take you through some quick tips within various stages of a technical interview.
Stage 1: The Technical Phone Screen
This stage is typically the more informal part of the process focusing on finding out about your interest in the job and your soft skills. Arguably for some, this may be the more challenging part of the process.
Be honest. Tell the interviewer about your interests, the projects you would like to work on and the skills you have that make you suitable. Be sure to keep it relevant to the role and company you are interviewing for and try not to waffle. Sharing this information early on will prevent you from being caught off guard at a later stage of the interview process.
Tell the interviewer about what you know as opposed to what you don’t know. Be honest but don’t talk yourself out of the job which is very easy to do in technical interviews.
Show, don’t tell. If you are asked any questions about your skills or CV, make sure you have answers that demonstrate where you have your experience; be as specific and succinct as you can. For example, if you are asked about any projects you have worked on, show the interviewer how you were involved and how your skills and abilities supported your work.
Don’t assume anything. Remember the interviewer needs to understand how you communicate as well as the depth of your experience. This is to check your suitability against similar candidates and the ability to learn in potentially a new environment. If you are a developer, reference or show the interviewer your GitHub if you have one. Be proud of your work if applicable and appropriate. Don’t shy away from your hobbies and that Linux box you have in the garage. That might be the work that lands you the role.
Tailor all your answers to the interviewer. If you have prepared generic answers or are using answers from a previous interview, your chances of getting the job may fall flat. If you are speaking with someone technical make sure to elaborate on your answers in terms they are familiar with. Equally, if you are speaking with a non-technical hiring manager, make use of highlighting your soft skills. It is important to appeal to the person in front of you and ensure they understand what you are talking about. If you have done your homework you should have researched the company. Not just looking at the company website but LinkedIn, you might have downloaded their product/app, researched their competitors or looked at what Glassdoor says.
It's good to have GOOD questions for the interviewer. If you are naturally curious this will be easy but not having questions can be a real dampener. It shows you are thinking if you ask sensible questions and are taking your career seriously. You don’t just want a job at the end of the day – you want to make a good career choice.
Stage 2: Take-Home Task
This stage is all about assessing your technical skills. It may require a few hours/day of your attention. On many occasions its to see who is really interested and not just kicking tyres. Some companies choose to opt-out of these take-home challenges, but you should be prepared for one in case it comes up. You may be given a tool by the company such as CoderPad, or third party programming test like Codility. These can be challenges to solve in real-time, over a video or something times over a few days.
If you have been given a take-home coding assignment with a time limit, there are a few things you should take on board. Take some time to read and understand the challenge before jumping in. Having a plan will leave you more likely to cover all the bases and write an efficient solution. Make sure you read the instructions carefully at the start, and again as you are making progress to ensure you are sticking within the parameters of the assignment. Make sure you find out what they are marking the test on. Efficiency, performance, coding etiquette etc. You could write brilliant code but not answer the question and score 0.
If you are doing real-time coding, you need to be deliberate when doing the coding challenge. These are usually not timed so you will be able to take your time to work through and solve the challenge. Make a short plan detailing how you will solve the challenge before you begin. This will ensure you stay on track throughout the challenge and increase the chance that you will have a good solution to present at the end.
Stage 3: The Technical Interview Itself
You should be as prepared for the technical coding interview as you can. Before you start the interview you should practice using platforms such as HackerRank and Codewars to refine your programming skills. This will allow you to review the basics such as algorithms and data structures that come up in most interviews. These interviews usually last about an hour and most of that time will be spent on technical questions. You may also be asked a whiteboard question which will involve you solving a particular technical challenge. Before you go in, make sure you have well-practised answering these types of questions.
Think out loud. It's important that you talk through your code so that the interviewer understands your process. Explain why you are using a certain approach to solve a problem and remember that the interviewer wants to gain an understanding of how you work and think.
Make sure you understand the question. If you need any clarifications, ask questions. This highlights to the employer that you value clarity and that you are focused on the task at hand.
Study your basics. Most technical positions across most tech stacks require a good knowledge of CS fundamentals, such as data structures, algorithms and basic OO programming concepts. Make sure you are familiar with the basics so that if any of these questions come up, you’ll be prepared to answer them. Interviewers don’t JUST want you to memorize abstraction and inheritance from a textbook, they want to know you fully get it and are able to relate it to the real world or projects you have worked on. Long term you want to be a chef in software not just a cook following recipes. If you get your head properly around the basics early in your career you will excel successfully.
Interview preparation can make or break the job search, so it’s vital to practice as much as possible. If you can, don’t forget to ask if your potential employer has any technical interview practice or study material available to help you prepare. When you team up with VANRATH, we are able to give you much more in-depth and specific technical interview preparation with great success.
AT VANRATH all of our recruitment consultants are experts within their specialist sectors. They have in-depth knowledge of the local recruitment market which is unrivalled in Northern Ireland.
Want to read more articles like this? Be sure to visit VANRATH’s Advice, which features industry insights and career advice. We post regularly on our LinkedIn page too, follow us to keep up to date. If you’re seeking immediate career advice call 028 9033 0250 or e-mail firstname.lastname@example.org.