I applied online. The process took 4 weeks. I interviewed at Shopify (Ottawa, ON) in Mar 2021
Interview
There are not a lot of good companies in Canada and Shopify is amongst the rare good ones that exist. Which means a lot of people are probably trying to get in.
I have to preface the review by saying what I think about interview processes as a whole. I think the number of people interviewing for software jobs is an order of magnitude higher than what "good companies" can hire. At the same time the number of software jobs that exist is probably around the order of candidates! This means that getting into a good company is hard and competitive but finding some job isn't!
Also the amount of skill that is needed at a job isn't necessarily a lot. I would imagine only 0.1% of the people work on anything groundbreaking. There's nothing new to solve. That belongs to the research department.
What this creates is this unique situation where the job has just enough barrier of entry for normies to not enter and at the same time isn't specialized enough. Anyone with a decent brain and decent background can work at any software company and do well if they want to. The amount of skill needed to work at Facebook/Google/Shopify isn’t much different from any of the 100s of companies that would be a couple of tiers below them.
So what do the top tier companies do in this situation? They create artificial barriers of entry. You need someone to write an API and move a bit of data around?
Facebook in this situation: Well why don’t you tell us how you would solve these 5 DP problems within 45 minutes because that’s what the remaining 285 candidates can do and we can hire you.
Shopify in this situation: Here are some easy questions for you about day to day stuff, show us how you would write production ready code.
The interview at Shopify is “easy” in this regard because it mimics the job. The job is really effing easy! You write some code, make it pretty /readable/modular, you write tests, you name variables well and you’re good to go.
But we’re back to square one! Any of the 285 candidates can do this! Ooof. What a nightmare.
So what can Shopify do in this situation? Barriers of entry. Sprinkle some culture, sprinkle some arbitrary conditions, sprinkle some life stuff. I am guessing any of the 5-6 interviewers have a veto to not taking you in. They only need the very strong positives.
So there you have it. The questions, the answers, the preparation isn’t what’s important. There’s nothing to do. There’s a few coding rounds, one technical deep dive and one life story round. On the day of the interviews what impression you leave and whether the things you said sat right with ALL the interviewers is more important. Ultimately you’re up against 285 other candidates in an interview process that cannot distinguish anyone based on skill (neither can Facebook by the way, solving hard DP problems in 30 minutes isn’t skill, it’s rote learning).
There’s no perfect answer to this dilemma. But I would choose Shopify’s interview process where I can come in with little preparation, over 6 months of solving leetcode problems.
I applied online. The process took 4 weeks. I interviewed at Shopify (Ottawa, ON) in Mar 2021
Interview
I read the past several months of Glassdoor engineering reviews to prepare, it was very helpful and there were no surprises. It is a deliberate process and some of that you can control by when you schedule the next round. I wanted some time to prep before each step so it took around 5 weeks total.
From the very first contact with the recruiter, the communication was excellent. After each round they were very good about preparing me for what was up next. Also their candidate portal, which you get access to during the process, is a great resource for all rounds. All of the interviewers were helpful and very pleasant.
- First round was standard coding challenge in the language of your choosing. Mine involved working with arrays and string manipulation.
- Second round was life story. A pleasant conversation about mostly work history with some personal. Like others have said on here, this conversation is mostly driven by you so you determine what to highlight from your professional/personal history and what is not important.
- Final round was three 1.5 hour segments. Two coding challenges and the deep dive. I prepared quite a bit for the deep dive and came ready to whiteboard but ended up not needing to. The coding challenges were fairly straightforward and the interviewers were helpful to answer questions and provide guidance. The challenges take place on your computer while sharing your screen. So having the dev environment for both challenges set up ahead of time is helpful. It is a long day but it goes by fast. They also provided lunch via a meal delivery app coupon, which they didn’t have to do but was a nice touch.
Interview questions [1]
Question 1
Write a program to validate a string based on a given definition.
I applied through an employee referral. I interviewed at Shopify
Interview
I went through the first two phases of the process:
1. short live coding exercise, paired with technical interviewer
2. Life Story interview with a recruiter, detailing my experiences at previous positions
Interview questions [1]
Question 1
Why did you leave your previous job(s)? (Life Story interview)