The Software Developer Interview Process
You’re ready to start your career as a software developer after completing the Launch Academy bootcamp. You’ve been sending out applications, continuing to code daily, and getting regular coaching from the LA Career Services team. You check your email and there – right at the top of your unread messages – is your first interview request.
While every company has a different approach to interviewing, there are some common components to an interview process that you can expect to see. Let’s take a look at some of the ways a company may evaluate you as a potential employee and developer.
The Phone/Zoom Screen
Almost without fail, the Phone Screen will be the first round in the interview process. Phone screens are exactly what they sound like – a screening mechanism to make sure the company wants to invest more time and resources into interviewing you. Depending on the size of the company, a Phone Screen will usually be with someone who works in the Human Resources department. You may speak with a Recruiter, the HR Manager, or a Talent Acquisition Specialist. At some companies, especially smaller ones, you may speak with someone directly related to the team you’ll potentially be working with. That might be the CTO or a Senior Developer.
Phone Screens tend to be one of the least technical rounds of the interview process. They’re usually a conversation about your background and experience, your goals, and maybe a few standard interview questions. Often, the employer will also spend some time explaining the role and talking about the company.
The Coding Challenge
You are applying for a technical position, so the company needs some way of gauging your ability to code. Enter the take home coding challenge.
There’s typically two flavors of take home challenges. The first is a “work at your own pace” style project. Typically, the company will provide you with some files providing directions for what they want you to do and give you some parameters to follow. For example, they may provide you with a PDF outlining the coding problem you need to solve, ask you to spend no more than 4 hours on the challenge, and submit it to them within a week. This lets you work at your own pace and submit the project when you’re ready.
The other flavor is a more “on demand” style of project. In this challenge, the company will send you a link to a website (such as https://www.codility.com/) and ask you to complete the challenge using that platform. Typically, you’ll need to work within their system (a browser based IDE) and will be timed. So, you may log in to the system, be greeted with a two hour timer that begins counting down immediately, and need to code through the problem immediately.
Both styles of challenges are popular, but we’ve been seeing more of the “on demand” style recently.
The Technical Interview
Outside of the coding challenge, the other technical part of the interview process is most likely a Technical Interview. These can take many different forms. In some cases, the company may ask you to do some Whiteboarding – solving shorter coding problems on a dry erase whiteboard while talking through your process. You also may be asked some Domain Knowledge questions – specific technical questions that test your specialized knowledge. Outside of those two scenarios, you may also need to do some live coding – similar to whiteboarding but with the use of a computer – or be asked to refactor and add new features to your previous take home coding challenge.
Any of these steps might be done independently or while pair programming with a developer at the company.
The Cultural Interview
Before we talk about what the Cultural Interview entails, I want to stress one thing.
Don’t underestimate the Cultural Interview!
While it may seem like the thing an employer will care most about while interview a Software Developer is the technical side of the interview, we often hear from our Hiring Partners that their recent hires really sealed the deal because of their ability to communicate, empathize, and build rapport with those they were interviewing with. In fact, we’ve seen many instances where a more technically strong candidate was beaten out for a role by someone that made a better impression interpersonally.
Cultural Interviews are typically your standard interviews. They are where you’ll see common questions like “Talk about a time when you had a conflict with a coworker” or “How do you deal with stress?”. For many of us who are new to the field of software engineering, these interviews will feel the most familiar.
In some cases, you may be asked to spend a full day on site with the company. This allows you to meet with most people on the team and for the employer to get a sense of what it might be like to have you as part of the team.