Shopify Software Engineer Interview Experience — Pair Programming a Mars Rover with Claude Code

Shopify·Software Engineer·Dec 2025
Technical Screeneasy

The interviewer had a heavy French accent, so I had to turn on the Google Meet transcript. After introductions, the interviewer handed me a GitHub repo that was completely empty. The requirement was given verbally: build an app to control a Mars rover — the rover starts at (0, 0) facing north; it supports commands to turn left/right and move; and it should report direction and position after every command (note: the original requirement wasn't stated nearly this clearly).

One nice thing about Shopify is that you're allowed to bring your own AI coding tool, so I picked Claude Code. To save time I also used a speech-to-text app called Shandianshuo ("Lightning Speak") for voice input.

Step one: I fleshed out the requirement and handed it to CC (Claude Code), turned on plan mode, and got a plan out of it. For something this simple, CC nailed it in one shot.

Step two: implementation, including test cases. I reviewed the code together with the interviewer. I pointed out a few things that could be improved — for example, using an Enum to encapsulate direction and turning logic, and using the command design pattern to make the implementation more extensible. I said the point of the first version was to ship fast, so I wasn't going to implement those improvements yet.

Step three: manually testing the CLI, which CC passed in one go, of course. At that point the interviewer wanted to check test coverage — CC reported a result claiming 80%. The interviewer pointed out that you shouldn't just take the AI's word for it, and suggested actually running a coverage report instead. I had CC do that and write a few more test cases, and it got up to 99% coverage.

That's when the first version was done.

The interviewer then added a new requirement: control multiple rovers, with support for create/delete/select rover. I said a new requirement means a new context — let's first run cc init to generate a Claude.md summarizing the current functionality. Then in a new chat I gave it the requirement and told CC it only needed to touch the rover controller. Manual testing passed on the first try again.

At this point the interviewer probably felt this was too easy for the AI, so he gave me a small requirement and said not to use AI this time: avoid collisions — if there's a rover ahead, the move should fail. It was a simple requirement, I just needed to track each rover's position.

Finally, git push. The whole process was relaxed and enjoyable — except it wasn't really pair programming, it was three-way programming between him, me, and CC.

Published

Curated and edited by PracHub

Practice the questions from this interview

Discussion

Sign in to join the discussion. The author is notified of every comment.

Loading comments…

Interview at a glance

Company
Shopify
Role
Software Engineer
Rounds
Technical Screen
Difficulty
easy
Interview date
Dec 2025
Questions from this interview
1 question

Real Shopify interview experiences

First-hand reports from Shopify candidates — the rounds, the questions they were asked, and how it went.

All 23 Shopify interview experiences