A recruiter initially contacted me via LinkedIn and provided an overview of the interview process. It consisted of three interviews conducted at two different times:
I scheduled the Life Story interview first using the link the recruiter sent.
The Life Story interview allowed me to discuss my journey into development. My interviewer, Robert, encouraged me to start from the beginning, perhaps even from childhood or high school. The conversation was very relaxed, and he occasionally asked questions, appearing genuinely interested in me as a person and as a developer. I also had the opportunity to ask questions about Shopify at the end, and he provided a lot of valuable information, particularly regarding how the company managed changes related to COVID and its transition to a fully remote model.
Robert contacted me by the end of the day to inform me that I was moving on to the next and final interviews. These involved two 75-minute pair programming exercises with a 15-minute break in between. Due to the company's efficient process, I had to schedule these interviews for the same week.
In the Pair Programming Interviews, the questions were not typical LeetCode problems. Instead, they were somewhat abstract, related to challenges Shopify might have encountered. I noticed a couple of positive differences compared to interviews with other tech companies. Both of my interviewers permitted me to use Google, Stack Overflow, or any other resources that could aid in solving the problems. They also presented both frontend and backend versions of one of the problems, offering me a better chance to showcase my knowledge rather than struggle. The problems themselves weren't overly difficult. I managed to complete the first one on time, but I encountered a peculiar bug in the second.
Two business days after the programming interviews, I received a message from Robert stating that they would not be extending an offer. He explained that they were "very fortunate to have so many qualified candidates interview with them, and the result has been a very competitive process." While I am disappointed, the email felt sincere and not like a generic rejection stating "there were better candidates."
Overall, the interview process was fast and relatively painless. I would definitely go through it again if the opportunity arose.
Life Story: Describe how you became a software developer/engineer.
Pair Programming: Make a robot take in directions and move across a 10x10 grid. The directions were turn left, turn right, and move forward.
Pair Programming: Create a Secret Santa list from a .csv file with groups of names and corresponding emails.
The following metrics were computed from 31 interview experiences for the Shopify Software Engineer role in United States.
Shopify's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having mixed feelings for Shopify's Software Engineer interview process in United States.