As far as I know, Shopify is hiring a lot of remote positions in the APAC area.
They are pretty open with their hiring process, so I don't really have anything to give except writing down my experience. Overall they are good at making you relax, especially when it comes to pair programming. You are free to google anything (ahem, just like how we work) and try to make it collaborative.
- Hiring Manager round
- Pair programming round x 2
- Story of life
- Technical Deep Dive
Hiring Manager round
A lot of insights around team and products which is very helpful. They also share what does future roadmap looks like and what kind of work I can expect myself to be doing if I join. The reason that the hiring manager is spending time talking to candidates in the first round is that they want to reduce mismatch. Most of the time, you will interview with a higher position/rank interviewer, but Shopify is the opposite. They just don't think manager time is more valuable than team members time which is a very valuable thing.
Pair programming round
As I mentioned both of my pair programming rounds were fun. The interviewers were patient, collaborative and keen on learning what I am thinking. They prefer a working solution to a perfect one, so I was talking to my interviewers most of the time. It's really nice to feel that they are actually engaged and interested in what you are thinking.
I have to say you can't really prepare for this round. You can practice on LeetCode to sharpen your thinking process but their questions are not LeetCode style.
I have around 15 minutes (which is a lot) to ask questions, so I recommend you to understand their engineering culture to be able to ask better questions. One question that I asked was how do they manage one of the world biggest Rails monorepo while making sure they can ship as fast as possible.
Story of my life
I googled a bit and Shopify has a course for this. This was an interview with HR and I really enjoy that they are willing to spend time listening to my story. Of course, they are more interested in how/why/when did you start programming than what makes you a great swimmer. So preparing a story that tells how do you fall in love with programming might be a good idea.
Technical Deep Dive
To me, this round is very ambiguous. I actually don't know what to do before the interview and even after the interview. It was me telling one of my past projects. I am glad that I proposed to use some drawing tools to describe my project. I think Shopify can be more specific about this round. Things like what do they expect and what will make candidates successful should be mentioned before the interview.
The interview with Shopify has been one of the most fun processes. Less stressful and more humane way. You don't have to study big O or practice LeetCode. It really depends on how do you approach a problem collaboratively from day-to-day. But it will definitely make your interview smoother if you are a good storyteller (=