Software engineers: How to be the best candidate for a job
Interviews can be stressful, here are some tips that can help you prepare well in advance.
Good software engineers have technical prowess, but great ones have technical chops and solid communication skills. This distinction is crucial when preparing for a software engineering job interview. While top tech skills are essential, your logical capacity and ability to articulate your thinking will distinguish you from other technical apt candidates.
To ensure you have the whole package, software engineers should invest time in interview preparation. Naturally, this can be time-consuming. But putting in the effort ahead of time and knowing what to expect when you meet the hiring manager for the first time will only benefit you in the long run. So what should you do both in advance of the interview to give yourself the best chance of success? Glad you asked.
We always recommend software engineers carve out time before their initial interview to do several practice coding challenges. Even if you already have an engineering job, this practice gives you a chance to dust off some technical skills you perhaps haven't used in a while and firm up ones you know well. Plenty of sites offer an opportunity to hone your coding skills and prepare you for interviews; HankerRank, for example, has many coding challenges you can review and do yourself. Recruiters can also use this platform to evaluate candidates' technical skills. At Bonzzu, we sometimes provide engineers with take-home projects through CoderPad so they can complete them on their own time. Companies can also use this platform for coding collaboratively to see how candidates approach and solve problems.
If you're unsure what to expect on the interview coding challenge, you can ask the hiring manager for some insight or your recruiter to get more information. The book, Cracking the Coding Interview: 189 Programming Questions & Solutions is also a great reference, providing examples of questions you're likely to encounter and giving a refresher on complex algorithms and data structures. And if you need help thinking through questions to ask your interviewer, check out this post. Finally, if you don't know Big O notation, it is a must for any interviewee, so make time to brush up on it before your interview.
Things to consider when doing the coding challenge in the interview: If the interviewer is open to it, engage with them during the test and talk through your approach to problem-solving step by step. Verbalizing your thought process will help them see how you think through complex challenges.
While being creative has its place in software engineering, we recommend sticking with well-known data structures—such as arrays, stacks, or linked lists—during your coding interview. Most of the questions interviewers ask tend to focus on these structures. Plus, you have limited time to complete the exercise, so don't waste precious moments trying to impress the hiring manager. Ultimately, you are being evaluated on how your code performs—not how fancy it is.
Review projects you’ve done
Another major interview component is talking through past projects you've done. Take time in advance to list out the projects you've done that you're proud of, and be ready to speak to:
- What company do you work for and project context: What problems were you solving?
- Your role in the project
- Development methodologies used
- How you prioritize your day-to-day tasks
- Whether or not you coached or mentored a colleague (or colleagues)
- Tools used
- Project outcomes
Practice talking through your project experience with a friend or family member. If you get stuck, try and think through your conversation as you would a narrative or story: what was the problem you were trying to solve and why, what were the steps you took to solve it, and how did you arrive at those conclusions, and then what was the ending or outcomes. It also doesn't hurt to talk through lessons learned along the way.
Do pre-call prep
Most interviews are virtual these days. And while you may ace the interview questions, hiring managers won't be impressed by your roommate playing music loudly in the background or the fact that you're so comfortable on screen that you wore your pajamas. Remember, this is likely your potential employer's first impression of you; don't give them a reason to remove you from their list of candidates.
To make the best first impression, take time to do a few things before your interview:
- Download the video conferencing application ahead of time. Test it out to ensure there are no connectivity, video, or audio issues.
- Once the software is installed, test the lighting in the virtual meeting room and ensure the camera's position shows your whole face.
- No need to wear a suit, but do try and put some effort into your outfit. Hats, gym clothes, and loungewear are all no-nos.
- Show up five minutes early to your interview. By giving yourself time, you won't arrive stressed and unfocused. Things can always go wrong even if you have already downloaded and tested the conferencing application.
Interviews can be stressful, but by preparing well in advance, you'll arrive on the day much more relaxed and confident.