Technical Interviews at Salesloft

Lekha Surasani
Salesloft Engineering
3 min readJan 19, 2022
Photo by Christina @ wocintechchat.com on Unsplash

Palms are sweaty, knees weak, arms are heavy.

— Eminem, but also anyone doing technical interviews.

Technical interviews are notoriously difficult; the skills they cover can encompass everything from behavioral questions to live coding to tech-related “trivia”. Some would say studying for technical interviews is a full time job. Even worse, in many cases technical interviews don’t actually test engineers on the skills required for the job.

Here at Salesloft, we’ve always known that live coding, whiteboard interviews, and grilling candidates on the nooks and crannies of JavaScript aren’t the best ways to test coding ability. Instead, we offered a “take home” assignment — an exercise applicants could complete at their own pace — to assess technical skills. It required candidates to add to a scaffolded Rails + React app by first making a call to a Salesloft API and then transforming the data to display in different ways.

While this exercise more accurately simulated tasks you might actually complete as an engineer at Salesloft, we received feedback from candidates that the assignment had taken too long. Faced with both a pandemic and a fierce competition for engineers, we went back to the drawing board.

The New “Take Home”

We went back to the basics first — what were we looking for in engineers? Using our existing engineering values, we developed a list for candidates:

  • Technically competent
  • Problem solver
  • Eager to learn new things
  • Communicates with empathy

We still preferred some kind of asynchronous assignment, but wanted to avoid whiteboarding, live coding, or something that required a lot of the candidate’s time up front. Since writing code would inherently be time-consuming, we realized that reviewing code was probably the next best thing.

We created an example pull request, simulated to be authored by a new junior engineer, and began asking candidates to review it. Their responses tell us whether they approach with empathy and understanding, and what patterns, improvements, or bugs they find. If the hiring manager is satisfied with their code review, the candidate moves on to the technical interview.

Time required: ~30 minutes.

The Interview

Despite the benefits of the new take home exercise, we now didn’t have enough material to talk about during their technical interview and we also couldn’t reasonably expect candidates to display all of the qualities we were looking for in that one assignment. Namely, we still needed to see more of their technical abilities, how they approached problems, and whether they were eager to learn new things.

Still determined not to ask candidates for more of their time, we decided to ask them to bring us code that showed this — whether that was a personal project, or an open source contribution. For candidates who didn’t have either of these (we didn’t feel that expecting candidates to code in their free time was fair), we decided to allow candidates to talk through a work project — akin to a system design interview, but for a system they should already know in and out.

Whichever option a candidate chose, interviewers could then ask deeper questions about their work — what problems they ran into and how they solved them, something new they learned along the way, or something they would do differently if they could do it all over. These interviews ended up being more conversational and candidates, as experts on their own code and work projects, were more relaxed during the interview. Due to the conversational nature of the interview, it was also easier for candidates to ask questions naturally throughout the interview (though we still always leave time in the end for them).

Time required: 45 minute interview + ~30 min prep

Final Product

The technical portion of our interview process is now:

  • A code review challenge (max 30 min.)
  • 45 min technical interview (+ max 30 min. prep time)

Overall, candidates spend at most 1 hour and 45 minutes directly demonstrating skills that are most important to us. We know the interview is a two-way process, so we want to show candidates that we value their time and be clear about what we’re looking for in our engineers and teammates.

Interested in learning more? Take a look at our open positions at salesloft.com/careers.

--

--