Me postulé en línea. El proceso tomó 4 semanas. Acudí a una entrevista en Shopify (Ottawa, ON) en mar 2021
Entrevista
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.
The interview was intense and definitely exceeded my expectations. The technical rounds were particularly challenging, but I felt prepared. One of the system design questions was about creating a webhook delivery system with various complexities, and I was relieved because I had explored that exact topic on PracHub just days before. After tackling some coding problems, I faced some behavioral questions that tested my thought process. Overall, the experience was demanding, but I was thrilled to receive an offer, which I happily accepted.
Preguntas de entrevista [1]
Pregunta 1
Design a webhook delivery system that retries on failure with exponential backoff. Cover idempotency, ordering guarantees, dead-letter queues, and how you'd handle a downstream consumer that's been offline for hours.
Me postulé a través de una recomendación de un empleado. El proceso tomó 2 semanas. Acudí a una entrevista en Shopify (Toronto, ON)
Entrevista
Lots of rounds and meeting multiple team members enjoyable experience and the interviews really ensure that the job is a right fit. There are multiple checkpoints to ensure both parties are on the same page
Preguntas de entrevista [1]
Pregunta 1
Walk through a past technical project you worked on or owned.
Interview process went quickly. The recruiter was very responsive and nice, and made the whole experience 10 times better. The interviewers did not ask impossible questions and focused more on the thought process than the correct answer.
Preguntas de entrevista [1]
Pregunta 1
The first 2 interviews were LeetCode-like questions. Not directly from leetcode, but if you know your data structures you'll be good. 3rd interview I had to prep a design document and share it and they asked questions about the decisions that were made and the rationale behind it.