How to Ace Your Tech Interview and Land Your Dream Role
Tech interviews are notoriously rigorous and challenging processes, testing your technical and problem-solving abilities, whilst making sure you’re the right fit for their team.
So, nailing a tech interview, isn’t a walk in the park.
That’s why we sat down with our Associate Director Tom Shannon. With over ten years of experience, he knows what you can expect from a technical interview, what hiring managers are looking for and how you can make a great impression. And he’s here to share it all…
Don’t underestimate the introduction call
After reviewing and short-listing CV’s, most businesses will start their hiring process with a 30-45 minute intro call. Their key purpose is to share general information about the role and the company. But they’ll also be looking to find out more about you, the projects you’ve worked on and what opportunities you’re looking for next.
It’s easy to get complacent and not prepare as, on paper, this is the easiest interview to pass. But do so at your peril, as this is your chance to make a great first impression.
So, here’s how to best prepare for your intro call:
- Do your research. Check their website, read 2-3 recent articles about them, see if they have a company blog and check their social media accounts.
Crunchbase is also a great resource to check their funding. You want to make sure you have a really good understanding of what they do and what their mission is.
- If they have a product, test it! If they have an app… you guessed it, download it! See what they have and offer your feedback. Constructive criticism is welcomed and valued - they want to hire people that’ll make an impact and help them improve.
- Have several questions prepared. Avoid asking about salary or benefits, instead ask about key challenges the company is facing, their USP, their mission and how they plan to scale.
- Have a clear reason as to why the company is of interest. Try to relate it to the product as much as possible and avoid factors such as salary and/or convenience!
Time to showcase your technical skills
Stage two is typically where your coding skills will be assessed. Not every company conducts this the same way, but it tends to be one of the following:
The tech test:
Despite being all the rage two or three years ago, it’s become a little less common recently. In most cases they'll give you a list of requirements and asked to build a ‘simple app’.
Although I can’t advise on the exact implementation, here are some common areas that we see people fall short:
- The submission doesn’t follow the requirements set out in the spec.
- The code is over-engineered/uses unnecessary tech. Most companies value pragmatism over shiny new technologies. So, unless you’re specifically asked to, it’s best to stick to what you know, rather than using the latest framework 'just because' - despite how tempting it might be!
- Not adding any unit tests - even if it’s not specifically mentioned, I’d strongly advise doing this.
- There’s limited/no documentation - a relatively small thing but a good readme goes a long way.
Most clients allow a week to complete it, but can be flexible. Although, once you commit to a date it's important you stick to it.
This method is hit or miss with candidates, as live coding in an interview is very different to coding day to day. However, it is becoming more popular and over the last few years, most clients favour this method.
How to navigate a live coding interview:
- Have your environment set up ready to go. It doesn’t create a good first impression if you’re faffing about during the first 5-10 minutes.
- Your communication and collaboration skills are being tested alongside your technical ability. Explain your approach to the interviewer and, most importantly, why you’re taking that approach.
- Lead the conversation where possible, but don’t shy away from asking questions. The interviewer is there to help you!
- Most companies are fine with you using Google. If so, take advantage of it.
- Often, the interviewer will challenge your decisions to test your ability to take feedback on board. Make sure you listen carefully and avoid getting defensive.
This approach is slightly more high-level than the previous two and focuses primarily on design and architecture.
The most common question tends to be around how you’d implement a new feature into an existing app and the steps you’d take to ensure its success. For example: ‘How would you go about implementing an instant messaging feature into company x’s product?’
How to navigate a system design question:
- Firstly, take a couple of minutes to clarify the question - it’s so easy to go down a rabbit hole!
- Lead the conversation as much as possible. This often contributes to how your seniority is benchmarked.
- Clarify the criteria that your solution will be judged against. In most cases interviewers look at testability, scalability, metrics you’d use to evaluate performance, which databases, backend languages, how you’d deploy it, any third party libs etc. (Source)
- Unless you’re specifically asked, try to use tools you’re familiar with.
- You’ll be challenged by the interviewers, take their feedback onboard and avoid getting defensive.
Q&A Tech interview:
Although these are less common nowadays, some companies will still favour the Q+A approach. This is often after you’ve submitted a tech test and can be combined with a code review discussion.
So, if you’ve done a coding test prior, make sure you look over it beforehand. Be prepared to talk through edge cases and how you’d vary your approach with slightly different parameters.
Another other starting point for these interviews is the tech listed on your CV. If you’ve described yourself as an ‘expert’ on a certain topic, expect a grilling on this.
Make this interview easier for yourself and check your CV for Common Resume Mistakes.
Value & culture round
This can often be the hardest part to prepare for. Unlike in the tech rounds, there isn’t a definite right and wrong answer. You will typically be asked example led questions and the interviewer will want to know how you’ve dealt with certain scenarios throughout your career.
Most common questions:
- When have you faced conflict in your teams?
- When has a project you’ve been involved in overran?
- When have you made a mistake?
- How do you ensure the user gets the best experience?
How to best handle this round:
- Interviews are a chance to sell yourself, so the natural reaction to “when have you made a mistake” or “when have you had a project overrun?” might be denial. Because you don’t want to tell negative stories, right?
Wrong. It’s essential that you do!
Companies are mature and understand that not everything is perfect all the time. It’s a sign of seniority to be able to discuss these occasions, what you’ve learned from them and, most importantly, how you’ve avoided falling into the same traps again in the future.
- Introducing the STAR technique, your interview best friend. Make sure your answers follow this structure as much as possible: (Source)
Situation – introduce the situation and add context for your story.
Task – describe the task, what was required of you and why?
Activity – what action you took.
Result – how well the situation played out, the results and the learnings.
- Speak to real life examples and not hypothetical situations. The interviewer wants to know what you have done in these scenarios.
- Use metrics to back up your conclusions where possible. For example, if you’re discussing a change you made to enhance user experience, cite measurable data to reinforce your point.
- Use ‘I’ rather than ‘we’ when talking about things you specifically did.
We can’t promise you a surprise free interview, as every company is unique. But, if you follow these tips, you'll be closer to nailing that tech interview.
Want some more career advice? Reach out to firstname.lastname@example.org.