Interview Tips for Software Developers
Interviews for software developers can be terrifying – a mixture of on the spot problem solving, behavioural questioning, and 'live coding' (often without the use of an IDE). For even the most confident of developers, a session in the hot seat can be a sweat inducing task. As with any interview, preparation is the key. With that in mind we've put together this roundup of interview tips. With a little help, and a good dose of prep, you'll be able to walk into an interview, confident that your performance will do you justice.
Find out the specifics
It's not uncommon for software developer interviews to have a variety of stages. Your first task is to find out the structure and method of interviewing. Is it phone based, over Skype, or is it face-to-face? Will it be a panel, group, or one-to-one interview? Will you be expected to complete an online assessment, or might there be a whiteboard coding session? Ideally, you'll also want to know who the main interviewer is. Many recruiters and employers will be able to give you all this information and more. Sometimes they'll want to keep some elements as a surprise, but being aware of the options is crucial, as it'll help you prepare more fully for what lies ahead. Websites like Glassdoor can be a great way to research employers, and to find out what actually goes on at developer interviews. At the time of writing this blog, there are 851 examples of software developer interview questions on Glassdoor, so be sure to do your research.
Gather intel
Before your interview, it's vital that you gather intel on both your interviewer (if you can find out who it is) and the company in question. Both the individual and company should have an online presence, so look for their niche, mission statement, values, and company strategy. Check news articles, set up google alerts, and explore LinkedIn to get an idea of the size of company, and to assess whether you have any contacts in common with current employees. If you do have LinkedIn contacts in common, you could ask for an introduction so you can get the inside scoop on the company or role you're applying for.
Prepare your own questions
An interview is a two-way street – so consider how to turn the tables and interview them. This isn't an opportunity to 'grill' them, more of a chance to find out whether their company and role is the right fit for you. You may want to ask about their company strategy, future projects, or how the role you're applying for will fit in with the company or team strategy. Alternatively, you may have specific technical questions that you want to ask. The aim is to find out about the company's future direction, the type of projects you'll be working on, their approach to work/life balance, and the type of team that you'll be joining.
Check your body language
Body language can be a rapport builder or a relationship killer. Whilst you might be fraught with nerves, making eye contact, leaning forward, and offering a firm handshake can help you to fake it, even if you're shaking like a leaf on the inside.
Dress to impress
Whilst the majority of tech offices can be a relaxed affair, don't make the mistake of turning up in informal wear. This is an interview – you can't go wrong by dressing too smartly, whereas dress too casually and you'll leave a poor impression.
Ensure that you truly understand yourself and your CV
Ideally, you'll already know what you're good at and what your specific skills are. If not, ask a trusted colleague what they think your strengths and weaknesses are. What are your key skills? How good are your soft skills? What projects have you worked on recently? Can you give an example of a challenge that you've had to overcome? What are the daily processes you use to manage your workload? Reflecting on these and similar questions will take some time, but by doing so, you'll become more comfortable describing your skills, qualities, and experience. Importantly, always try to reinforce your answers with real-world examples such as specific lines of code that you've written, or projects that you've been involved with.
Be prepared to get technical
Many interviews will involve technical assessments; some without the use of an IDE. Whilst whiteboard-coding might not be what you'd do in a real life situation, it's not uncommon for large employers to test developers in this way. Fortunately, a little practice can go a long way, and before long you'll be happy solving problems on the fly and sketching out code.
Finally, be sure to spend some time before your interview brushing up on the key skills highlighted in the job description. Any technical assessments will be based on what you'll be doing in the role.
Next steps
As your interview is coming to an end, firstly, find out if there is anything else they need to know to make a decision on hiring you. Asking this can offer a last-minute reprieve in case there's anything they aren't sure of. Once you've done that, it's a good idea to check out the timeframe for their decision. Not only will this help to put your mind at ease whilst waiting for their answer, it will offer you a chance to follow-up with them, if you don't hear back within the allotted timeframe.
For help finding your next programming gig, get in touch with our team.
Best wishes,
Adeel Nadeem