Even the best interview process can be stressful and drawn-out. That's why Doximity aims to reduce stress and friction while making sure everyone still gets the most out of the interview.

tl;dr

We take a close look at all resumes as they come in. If a resume is a good match for the role, the first step is to schedule a 30-minute intro call. Take a look at our open positions for more info.

This call has a few important purposes. The first is to understand why you'd want to work at Doximity. We also want to make sure our expectations match up, so we’ll chat about salary, start date, and other important details. We’ll give you an overview of our company, discuss things like who we are, what we do, and tech stack. You'll learn more about our clients, products, and our team process. And last but not least, you'll have time to ask questions.

We typically decide on the same day of the screening call if we'd like to move forward. If there's a mutual fit, we’ll add you to our take-home assignment on Github. The assignment is a practical example of what you’d be working on at the job, rather than an abstract puzzle that might not tell us as much. It should take about two to four hours to complete, but there’s no hard limit. We want to see your best work, so we’ll give you time and space to shine.

When you’ve completed the assignment, a few engineers on the team will review it. We qualify the solution based on the following criteria:

  • Ability to follow instructions
  • Ability to solve the problem with clean and easy to maintain code
  • Attention to detail and ability to make good decisions
  • Completeness
  • Performance considerations
  • Test quality and coverage

After the assignment, we’ll decide if we want to move forward within a day. The next step is to schedule three 60-minute technical interviews. These take place onsite or over video-conferencing, depending on your location. Nobody likes to answer the same questions over and over, so our interviewers will make sure to cover different topics. In these interviews, we’ll go over things like:

  • Work experience
  • Accomplishments you’re proud of
  • The take-home assignment
  • How you would solve real-world problems in software

It’s easy to get nervous during an interview and struggle with even a simple live coding session, so we won’t put you through one. You will be asked how you'd tackle technical solutions, and you may choose to use pseudo-code either verbally or on a whiteboard if it facilitates your problem-solving effort. There is no hard requirement to write any code, on the board or otherwise.

The Closer

If the technical interviews go well, we'll schedule a final 30-minute discussion for the following day with the engineering team lead. If you’ve reached this step, we'll likely extend you an offer. So, this is the time we discuss final logistics and answer any more questions you might have.

The last step is to check references and make a verbal offer. If you accept the terms, we’ll present a written offer within 48 hours.

Improving the Process for Everyone

Happily, our engineer hiring process has worked really well. Over the years, the take-home assignment has become fairly fine-tuned. In fact, we extend offers to about 40% of people we interview based on how they completed the assignment. We’ve found it to be a great way to put candidates on the right track and make the process more efficient.

Our method isn’t perfect, but we strive to appreciate and respect everyone’s time. And we’re always trying to make the process even better. We request anonymous feedback from those who have gone through the initial phone call, and we’ve gotten some great responses that help to make the interview process better for everyone.

Hope you enjoyed a peek at our recruiting process. Follow us @dox_engineering if you'd like to be notified of updates to this blog.

Thank you Hannah Frank for the illustrations.