I applied through a recruiter. The process took 2 weeks. I interviewed at Shopify (Toronto, ON) in Jul 2021
Interview
The interview process was very straightforward and clear. I had an initial conversation with the recruiter who approached me. Then, I took a one hour pair-programming challenge. It was a very easy problem and it was mostly about showing the ability to code!
The next step was Shopify's Life story interview. I talked to my main recruiter. Last step was the virtual on-site interview. I had three interviews with engineers, managers, and directors from different teams. Two pair-programming sessions and one system design / projects overview / behavioural interview.
Shopify's approach to coding interviews is unique in the sense that the interviewer is not there to punch you or grill you or asks as many questions as she or he can. Shopify's interviews are there to help you to demonstrate your best version.
I was not interviewed for a specific position and team matching happened after the entire interview process which I really liked it. They assessed my skills and then found a position that is a fit for me.
I received an offer and we discussed the details. Again, everything pretty much standard.
I applied online. I interviewed at Shopify (Los Angeles, CA) in Apr 2021
Interview
1st round, tech phone screen (it was easy).
Had a life story interview setup and then cancelled because they “went with a smaller” group of engineers, what a complete joke, yet I still get FB ads on hiring 2k+ engineers. Get new recruiters then and maybe you’ll meet that goal
I applied through a recruiter. The process took 3 weeks. I interviewed at Shopify in Jun 2021
Interview
Phone screen: 1 hour. Technical. Programming problem administered in a language of my choice via CoderPad. I chose Ruby, which probably got me bonus points (but definitely choose your strongest language if it's not Ruby). I chose to use TDD during all my coding interviews, which probably helped impress them.
"Life story": 1/2 hour. They say they're so proud of this step but I felt like it was pretty pointless. Person administering wasn't technical and so my story of my development career was pretty much lost on them.
Interviews: 1/2 hour setup time, 1 hour with a senior dev, 1 hour with a different senior dev, 1/2 hour break, 1 hour with a mid-level dev. (I asked for all this to be split over 2 days but that request got lost in the shuffle.) No more Coderpad for this one - I used my preferred editor and screen shared. Again, pure Ruby, no obscure algorithms.
The second of the above interviews wasn't coding, it was a "technical deep dive". I was asked to go into as much detail as I could on 1-2 projects I'd worked on in the past. I lined up a third project just in case and I'm glad I did, because I needed it to fill the allotted time.
Every interviewer was super-friendly; it was much more collaborative than adversarial. A couple times I got nudges that didn't give away a solution but definitely saved me from getting off-track.
If there was one weakness, I'd say it was the lack of Rails. My Ruby's really solid but I'm still pretty sucky with ActiveRecord, SQL, and JavaScript. I think they thought I was some kind of rockstar when really their interviews only tested my strongest skill.
Before they make an offer they require a reference from a previous (within last 5 years) co-worker and a previous manager. Hope you haven't been burning bridges!
Interview questions [1]
Question 1
I had to create a class that required strong knowledge of my preferred programming language's data structures, and how to use them efficiently.