Applied online and received an invite from a recruiter in two weeks to schedule a coding exercise. The coding exercise is pretty simple; they are just looking to understand if you can code. It doesn't matter that you get to a solution. The interviewer was very friendly and guided me along the way to get to the solution.
Round 2: After clearing the coding exercise, I was invited to a "Life Story" interview for one hour with the recruiter, followed by a management "Life Story" interview with a Senior Dev Manager for one hour. The "Life Story" exercise is similar to what others have mentioned: you talk about your life journey, and you can control the conversation from where you like. Focus on how you got here while demonstrating Shopify values along the way, citing examples if you can. The management "Life Story" focuses on your management experience, with standard questions around performance management, coaching, and strategy.
Round 3: After clearing the "Life Story" round, I advanced into the final technical interviews. There are three technical interviews.
The first one is a pair programming exercise. You will share your IDE on Google Hangouts and work through the problem with the interviewer. The interviewer was again helpful in guiding me to a working solution. The problem is pretty simple, but focus on how you'd build a time- and space-efficient solution. Work through your approach with the interviewer before you start coding.
The second tech interview is a deep dive on a technical project you've worked on. I'd suggest finding a project that involves a full stack, if possible, with integrations to other systems.
The third tech interview is a technical problem-solving exercise, which is a system design session. The problem is very focused, so you don't have to build out a full design. There is a trick in the requirement, which I will post in the interview questions below, that you'll have to be aware of. You'll be using Google Jamboard to draw the design, and Jamboard doesn't have all the shapes to be able to draw fast. So, I suggest using a tablet with a stylus if you can to draw the design, as using your mouse to draw shapes takes time. A suggestion for Shopify is to provide the problem statement 15 minutes before the interview so candidates can formulate their thoughts and draw the design before the interview, making the interview discussion more productive. Without a whiteboard and not having the right remote tools, this is a better way to conduct a system design interview.
Overall, a fantastic candidate experience. All interviewers were genuinely interested in the discussion and wanted me to succeed.
Given a string where each character represents parts, determine how many products you can build with those parts. A dictionary is provided with the product and its parts composition.
Build a tail-like program that will take parameters from the terminal and display them from a file.
System design problem: Build a solution to manage rare books in a library. Create a condition report based on the condition of the book during its last return. Compare the last 10 scanned images of the book to determine the most recent condition.
The following metrics were computed from 2 interview experiences for the Shopify Engineering Manager role in Canada.
Shopify's interview process for their Engineering Manager roles in Canada is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Shopify's Engineering Manager interview process in Canada.