Since our founding in 2011, CircleCI has experienced tremendous growth in both our customer base and our internal headcount. Today, more than 540 CircleCI team members across eight countries support millions of developers running tens of millions of pipelines per day. To grow to this size, we’ve undertaken multiple hiring waves that have taught us a few things about the importance of conducting interviews that are substantive, collaborative, fair, and valuable for all involved.

Following our Series F, we’ve ramped up our hiring further, building on what we’ve learned so far. As a result of learning what really matters to us in engineering, we adapted our open positions to roles focused on both people and business value delivery. We also changed our hiring process and the design of each interview stage to explore these areas earlier in the interview process. At the same time, we moved to a more structured, behavior-based interview process for all applicants.

Rethinking the technical interview

Much has already been said about interviewing practices in the software industry. We’ve seen or heard it all: from the opaque-by-design to the downright strange brain teasers on HackerRank.

No one likes these types of interviews. The people conducting them don’t, and neither do the candidates. After all, interviewing for a job is stressful enough without a process designed to pressure, confuse, or intimidate.

Our only goals when interviewing candidates are:

  1. Identify the best candidates to join our company
  2. Provide them with all of the information they need to understand the role and company culture
  3. Allow them to meet with people they would actually be working with
  4. Provide all candidates with a positive experience

Since 2022, we’ve been working on designing an interview process that we’d like to go through ourselves, one that shows respect to candidates while helping us find the best additions to our team.

Interview structure

We designed a four-step technical interview that follows the initial recruiter screen that all candidates go through. All our interviews follow the same sequence, with each stage designed to accomplish a specific assessment:

1. Hiring manager screen: The hiring manager for the position will talk with the candidate to assess experience, communication abilities, and experiences dealing with their own code in production. They will also be able to dive in to the more technical aspects of the team and what they are currently working on.

2. Paired programming: The goal of this technical interview is to gain a better understanding of the candidate’s technical skillsets and understanding. Candidates pair with members of the engineering team, and work together on problems in a piece of CircleCI legacy code (in the language of their choice). This gives both our team and the candidate a taste of what it will be like to work together and provides us with a sense of how this person approaches problems, collaborates, and communicates over the course of a more complex interaction

3. Team screen: This conversation with different members of the engineering team focuses on how the candidate’s experience aligns with what the team is working on. They will take their own knowledge of the role and its challenges and dive deeper into how the candidate will be able to adapt. There’s not a right or wrong answer, but rather it serves as a sandbox in which we get to see where the boundaries of their abilities are.

4. Wrap up: The interview process usually concludes with a final interview with the Hiring Manager or Director of the department to review CircleCI at a higher level, gain insight into company growth, career trajectory, team structure, etc.

Creating a respectful process

We wrote an internal hiring guide that covers the values we try to uphold when doing interviews, and we’ve shared some of it below. Showing respect for candidates is incredibly important to us, and it gets expressed in many ways. We consider these basic courtesies – there are a lot of bad processes out there, and we don’t want to be one of them!

Be kind. Interviewing is highly stressful, and most companies put candidates through ridiculous hoops that only make it worse. Let’s be an example of how things can be better.

Test for real skills. We are specifically against “whiteboard interviews”. We hold ourselves to never, under any circumstances, putting a candidate into a situation that does not represent the day-to-day reality of the position for which they are interviewing. Discussing design options on a whiteboard is fine, expecting candidates to regurgitate complex algorithms from memory is not.

Respect candidates’ time. We start and end interviews on time, and aim to give candidates feedback within 24-48 hours.

Do your homework. Do not make the candidate walk through their work history. Instead, review the candidate’s resume prior to your interview and be prepared to discuss interesting or relevant experience.

Spend most of your time listening. If you are talking more than 20% of the time, you are not learning as much as you can from the candidate. Instead of simply firing off question after question, have a real conversation. Get to know the person you are speaking to on a human level.

Use words wisely

This starts with the job description. We do our best to avoid “bro culture” language or other highly-biased language. In all our writing, including job descriptions, we strive for inclusive language that emphasizes collaboration, trust, and learning.

We purposely use gender-neutral and comprehensive language in our engineering job descriptions to create a more inclusive recruiting process. Studies have shown that women are less likely to respond to an ad that has overly aggressive language (despite being qualified), whereas men will apply regardless.

Continuous Learning

This process continues to evolve and be informed by our experiences.

Our ultimate goal is to have the best people here, doing their best work. As we continue to learn and refine, we’d like to improve our conversion rate while maintaining our high standards for competence and the quality of candidates’ experience.

Feedback on this process from our interviewees has generally been positive, and we are always open to feedback of all kinds as we refine our interview process. And if you are interested in applying for a job here, we’d love to speak to you too! Take a look at our open roles here.

Interested in learning more about what it’s like to work here? Read: