When you find a software engineer who passes your code test, you’ll want to bring them in for an in-office interview. In this part of our series on hiring software engineers as the CTO of a startup, we’ll talk about Blue Matador’s approach to the in-office interview and the insights I’ve gained in this part of the CTO experience.
If you’re just starting on this series, here are links to the rest of this series:
- Introduction to Hiring Software Engineers
- How to Write a Job Posting for Software Engineers
- How to Screen Software Engineers
- How to Interview Software Engineers
- How to Onboard a New Software Engineer
One of the great things about adding a new member to your team is that their unique skills will cause your team to grow in unexpected ways.
If the interview consists of questions with rigidly defined answers that you and your team came up with, you will be hiring someone with the same strengths you already have, missing out on an opportunity to smooth out some of your team’s weaknesses.
Instead, a good interview gives candidates opportunities to shine. To this end, our interview process includes the following steps:
- A simple whiteboarding exercise (with me and another engineer)
- A technical conversation led by the candidate (with me and another engineer)
- Meeting the team (with relevant team members)
Whiteboarding is the cornerstone of many interviewing processes. It is a valuable tool for determining if a person is technically minded enough to produce code without Google or autocomplete. However, over time, whiteboarding has become an exercise in arcane algorithmic challenges wherein success is found mostly by studying common algorithms before the interview and then hoping the question involves one of the previously memorized algorithms. Unfortunately, this process fails to represent the type of expertise actually needed by new hires and actually deters experienced engineers who have not practiced these types of challenges for years because they have been doing real work.
At Blue Matador, we focus on the benefits of whiteboarding by spending only five to ten minutes on an extremely simple problem (though this has taken as little as two minutes in the past). Our experience has shown that a complicated algorithm question is not necessary to weed out unqualified candidates. In fact, most of the time, we know within the first three minutes of our easy problem whether a candidate will succeed.
In particular, the most important things to watch for are:
- Ability to start on a solution quickly and iterate as needed
- Attention to edge cases
- Explanations of why they are choosing to solve the problem in a particular way
Candidate Led Technical Conversation
Once we’ve determined a candidate can code without external help, we quickly move to the meat of the interview, an open ended technical conversation led by the candidate. During this portion of the interview, we ask the candidate to decide on 2 or 3 technical topics (like AWS, functional programming, Linux, etc.) that they feel most confident about and then we chat about their experience and opinions on the selected subjects. To help them get started on what they’d like to talk about, we provide a list of about 15 potential topics.
At first, it may feel uncomfortable to conduct an interview without a defined set of questions. In fact, when we first started doing interviews in this manner, I kept a list of questions for each topic just in case I couldn’t think of what to ask. However, this method gives candidates an opportunity to really shine.
Rather than talk about what your team is already good at, you end up talking about what the candidate can add to your team.
You can also see if the candidate can communicate clearly and has the social skills to be a part of your cohesive team. Having a conversation like this is a powerful way to assess whether someone would be a good part of your team.
Meeting the Team
Finally, if you feel like the candidate is a good fit, it’s important for them to meet other members of the team. At a startup, cross team collaboration is critical, and you want to make sure everyone will get along. Set up 10-15 minute meetings with each team the candidate will interact with (UX, marketing, etc.) and have each team member assess whether they could work together. Stress that the focus should be on determining culture fit as you’ve already vetted their technical ability.
At Blue Matador, part of meeting the team is meeting our CEO. This is important because it allows candidates to feel that they are important to the company. Additionally, if you decide you would like to hire the candidate, makes it very natural for the CEO to begin the negotiation and hiring process.
Once you’ve hired a software engineer, you may feel like the recruiting process is over. However, the first few days and weeks of your new engineer’s experience are critical to their long term success and happiness at your startup. In the final blog post in this series, we’ll talk about the important steps to take in the onboarding process.