Let me introduce myself. I’m Adam Stewart and I am one of the engineers at Rover. I wanted to shed a little light on the engineering interview process at Rover. The goal of this is to share what the process is and what you can expect.
A few important things to note: This explanation is for Software Engineer individual contributor roles only. Some parts of it will overlap with other departments or roles at Rover, but not all.
Another important thing to know is that at Rover, we have a one-week goal for responding to candidates. This includes rejections, and we do respond to all applications, positive and negative. We don’t want to leave you in the dark wondering where you stand.
Resumes and Recruiting
When you apply to Rover or are referred, your application will first go to the Engineering Recruiting team. They will screen the application to make sure the applicant seems like a reasonable fit for the role. If you were sourced by our recruiting team, meaning they reached out to you, this step has already been done.
Once the Engineering Recruiting team has decided that you should move on to the next step, you will do one of two things. If you are an entry level candidate, you will get asked to do an exercise on HackerRank – candidates with professional experience skip this step and go straight to the technical phone screen.
The HackerRank exercise is a simple online coding exercise that will test your basic coding skills. If you have never used HackerRank, you should sign up and try out some of their free challenges. These can also help brush up on any skills you want to work on, even if you are not doing an interview with us. After completing this exercise, you will move on to the technical phone screen.
Technical Phone Screen
The technical phone screen is a 1 hour chat with an engineer or engineering manager here at Rover. During the call, you will need to be at a computer. To begin the chat, the Rover employee will introduce themselves and then ask a few background and behavioral style questions. Then a large portion of the phone screen will be a pair programming exercise where the two of you will work together to write some code. This is a chance to show off some of your technical skills but also to help show how well you can communicate and explain your thought process while developing. You will have a chance at the end to ask any questions you may have. This is a great chance for you to gauge if Rover would be a good fit for you as well!
Once the phone screen is complete, the hiring manager for the role will look over the interviewer’s notes and recommendations and make a decision, usually within a couple days. If you make it to the next step, you will be given a take home project to complete.
Take Home Project
This project can be done on your own time, and is your chance to really shine and show us your technical skills in more depth. Make sure to give us setup instructions and list any trade offs or shortcuts you made. For the take home project, we typically ask to get your work back in about a week, but we understand that may not always be possible in light of other obligations. If you need more time, please let your recruiter or hiring manager know as soon as possible to explore potential accommodations. We want to make sure you are able to show us your best work. During the on-site portion of the interview process, you will also be asked to continue working in this project, so it is important to use a language and framework you are familiar with.
Once you have submitted your take home project, it is anonymized and reviewed by our engineers. If you would like to learn a little more about that, check out this blog post: https://www.rover.com/blog/engineering/post/blindfolded-code-reviews/. For the take home, we are looking at many things, including data model design, algorithm accuracy, and code quality. Each of the engineers that reviews your work will submit their feedback independently. The hiring manager will then look over that feedback and make the decision about moving to the next step.
The next step in the process is the on-site interview. This interview will be conducted in our offices, with travel and accommodations paid for by Rover for non-local candidates, and usually takes about three hours. These three hours will be broken down into three hour-long blocks, each involving one to two interviewers with a focus. During these blocks, our interviewers will also be looking at how you match Rover’s core values, which can be found here: https://www.rover.com/careers/core-values/
One important thing to note about the on-site is that you should bring your own laptop if possible. Since you will be coding in front of us, having a familiar machine and tools can help. However, if you do not have a personal laptop or are not able to bring it with you, we can provide one to you for the interview. I used a loaner for my interview, and I got hired, so do not let not having a laptop scare you. We want to make this process as pleasant as possible. We will let you look things up and ask us questions. We want to see you work through the problems, but also how you work in an office environment.
The first block will be mostly system and data model design-focused. The interviewers here will be looking at your design skills and knowledge. We would like to know how you approach a problem and what it would be like to work with you to solve a specific challenge. This will usually involve doing some design work on a whiteboard.
The second block will be mostly coding-focused. At this point, you will need to expand on the challenge from the previous block, by adding your new design to your take home project. This is why it is important to do the take home in a language and framework that you are familiar with. You will be coding in front of us, with your screen shared on the room TV. We would like to know how you break down the high level requirements into specific implementation.
The third block will be mostly behavior-focused. This usually is more in the traditional interview style where you and the interviewer will chat about your experience and knowledge. You will not need to code in this one.
Debrief and Decision
Once the on-site interview has concluded, each interviewer will submit their feedback. The team of interviewers will meet again for a debrief which will also include the hiring manager and the recruiter. All of the people at the meeting will discuss their feedback and whether the candidate is a hire or no-hire at this point. This lets everyone on the interviewing team learn and grow, while additionally letting everyone see what stood out consistently. Once everyone in the room has had a chance to provide input, the hiring manager, the bar-raiser, and the recruiter will make the final decision.
At this point, you will receive a call from the recruiter to let you know the outcome.
If you don’t get an offer, the recruiter will chat with you about that. Otherwise, if we make you an offer, congratulations! We celebrate each of our new hires and we hope you accept and come help make Rover a great place to work.