I applied online. I interviewed at Rover.com (Barcelona) in Mar 2026
Interview
The interview consisted of a chain of tasks with increasing complexity. The flow was driver by TDD and the point of the conversation seemingly was checking on the solution strategy and atitude.
Other Senior Software Engineer interview reviews for Rover.com
I applied through a recruiter. The process took 3 weeks. I interviewed at Rover.com (Seattle, WA) in Dec 2024
Interview
So many steps it's hard to count. I met with 9 people from rover. There are multiple panel interviews. During the technical interviews they pretty much invite the entire team to come watch you.
1. hr interview
2. Manager interview
3. Take home where you have to consume a csv file, do some grouping and math calculations, and then output a csv file. Took me about 4 hours to do it and then another 12 hours to get it interview ready with docker and unity tests etc etc.
3. Panel system design interview
4. Behavioral interview with the manager you already met but this time with an additional manager from another team.
4. Take home project coding where they give you a new requirement and ask you to implement it in front of 2 other engineers watching.
Interview questions [3]
Question 1
System Design
How would you model the db tables for rover chat where there is a sitter and an owner chatting back and forth? sometimes there is also a support agent that can step into the chat so you have to account for 3 people in the chat.
Then after that, they ask you how you would support a huge load with x amount of messages per day, etc.
Take home
We were able to write a script and scrape the Google index for all of the reviews customers have left for their stays with sitters.
We have saved that information in the attached CSV.
Your command-line program should import the data to hold in memory (no need to use an actual database) and use it to recreate our search algorithm. At Rover, we write domain-driven code, so using an Object Oriented or other domain-centric approach will set you up for success in the in person interview. For example, one viable approach is modeling your data as if you were going to save it using a relational database.
If you are using a language that doesn't traditionally use an OO or domain-centric approach, please discuss this with the person who sent you this prompt in advance of beginning work, in order to have the best chance of success if you advance to the in person interview.
Here's how the search ranking algorithm will work:
For each sitter, we first calculate a Profile Score and a Ratings Score. These are then used to calculate the overall Search Score, which is used for search rankings.
The Profile Score is 5 times the fraction of the English alphabet comprised by the distinct letters in what we've recovered of the sitter's name. For example, the sitter name Leilani R. has 6 distinct letters.
The Ratings Score is the average of their stay ratings.
The Search Score is a weighted average of the Profile Score and Ratings Score. When a sitter has no stays, their Search Score is equal to the Profile Score. When a sitter has 10 or more stays, their Search Score is equal to the Ratings Score. The idea is that as a sitter gets more reviews, we will weigh the Ratings Score more heavily.
Scores should contain exactly two decimal places.
Output a list of Sitters
Your program should output a csv called sitters.csv, containing the following columns:
Sitter email (email)
Sitter name (name)
Profile Score (profile_score)
Ratings Score (ratings_score)
Search Score (search_score)
The csv should be sorted by Search Score (descending), sorting alphabetically on the sitter name as a tie-breaker.
Discussion Questions:
Imagine you are designing a Rover-like production web application based on the exercise you've just completed. The application will compute the search scores for sitters, return a list of search results based on those scores, and display them to the user through a web UI. Please answer ONE of the following discussion questions about the approach you'd take:
How would you adjust the calculation and storage of search scores in a production application?
Describe a technical implementation for the frontend you would use to display a list of sitters and their scores. How would the frontend manage state as users interact with a page?
What infrastructure choices might you make to build and host this project at scale? Suppose your web application must return fast search results with a peak of 10 searches per second.
Describe how you would approach API design for a backend service to provide sitter and rank data to a client/web frontend.
Take home project live coding.
Calculate the median responseTimeMinutes for all reviews. then loop through all the reviews and increase the reviewScore(1-5) by 1 point. if the response time for the given review was less than the median.
I applied through a recruiter. The process took 4 weeks. I interviewed at Rover.com (Barcelona) in Oct 2024
Interview
Old fashion and slow process with no useful feedback. However, people were nice and the communication was good, they would provide an answer fairly quick.
1) Initial chat with recruiter.
2) Filter live coding with hiring manager.
3) Take Home Exercise about OOP + a technical question.
4) Behavioural interview with manager + product manager.
5) System design with 3 engineers of different level.
6) Live Coding session to build on top of the Take Home Exercise (check the original CSV, there's a hint there about what is it about).
Overall, it was a good process... but unfortunately I didn't get an offer because they felt my last 2 interviews (5 and 6) were not strong enough. I didn't get any specific feedback so it felt unfair as I was able to answer all the questions and finish the exercises on time. I feel like they didn't really know how to accurately test me, they just listened to me and then said it was not enough. If there was something missing, they should have just asked me.
So it felt a bit random, and definitely long and old fashioned. You could easily skip the first 3 steps and just do the last 3. The first 3 are just a filter to get to the actual process.
Interview questions [3]
Question 1
Build an OOP solution based on a CSV file and calculate some scores + Testing.