I applied online. The process took 3 weeks. I interviewed at Shopify (Ottawa, ON) in Jul 2019
Interview
This was the typical Shopify interview. Starts with a short screen with a recruiter, followed by a 1 hour coding test, another hour "life story" talk with a recruiter, then a 4 hour interview process on site, consisting of 2 peer programming sessions, 1 lunch and 1 "technical deep dive" talk - all of these are posted and described quite accurately on their website. One thing, the technical deep dive went a lot less deep than I thought. I was applying for an Android position, and described an Android project I'd worked on, but the interviewer had no Android experience and so wasn't able to actually ask any questions to test my knowledge...
Feedback was pretty quick after the interview - I was given a phone call to indicate being rejected within 3 days of the interview.
All of that was fine, even though the interview process is very time consuming - pretty close to a full work day. I knew lots of people applied, and they likely had a lot of qualified applicants. But the feedback I was given was very disappointed and left a very sour taste.
I don't expect companies to give feedback as to why a candidate is rejected. But they offer feedback, which means it should be fair. The feedback I was given was that I didn't seem to be familiar with Android specific development. I was quite shocked at that, seeing as I've spent over 5 years delivering professional Android application, so I asked for specifics - the recruiter basically ended the conversation then and asked me to follow through by email, which I did. I felt like I was judged more on the nervousness of being interviewed than my actual skills as a developer.
The recruiter actually answered my email a week later and asked me to connect on the phone - I replied that if it was for additional feedback I'd be quite happy to just get it summarized by email. By then I was quite done with wasting any more time on the "process". She insisted on a phone conversation - in which she just repeated the exact same feedback, saying they believe in the process and their interviewer gets lots of training so it must be fair. When I asked if the other 3 interviewers had felt the same way - I was basically trying to figure out if I'd totally blown all the interviews, or if it was just the Android-specific one that didn't go well - she said that I had made her very uncomfortable in the previous call where I asked for clarification, that she didn't want to provide me any more feedback, and then hung up on me.
I've never been treating so unprofessionally from a recruiter before. If you're going to give candidates feedback on why they were rejected, and the feedback is complete opposite of their actual experiences and skills, you should be able to back it up, and not feel "uncomfortable" by a candidate asking for clarification.
I applied through an employee referral. The process took 2 months. I interviewed at Shopify (Montreal, QC) in Jul 2019
Interview
My interview process lasted over 2 months (relaxed timeline on my part and not rushed), I had a quick phone chat at the beginning with a lead engineer and eventually went to the office to chat with the HR recruiter to discuss what the position is about and projects available. From then on, there is a coding test to test your capability to problem solve. Passing that, there is a half to full day's worth of interviews. They are skill related (coding), project discussions and also meeting some team members over lunch. I had a wonderful experience interviewing in the Montreal office and everyone has been extremely friendly and kind.
Interview questions [1]
Question 1
Tell me about the time you first experienced or had an opportunity to code?
I applied through a recruiter. The process took 2 days. I interviewed at Shopify (Waterloo, ON) in Aug 2019
Interview
A team lead reached out to me for a position that they had.
They were quick to set up two interviews, one hour each. I opted to do the interviews in person, at the Waterloo, ON office.
The first one is the 'life story' interview. The recruiter I spoke to was warm and friendly and showed me around .The important question here is towards the end where you're asked why you want to work at Shopify. The real answer is: because I'm a skilled developer looking for a job that pays money for my skills. They probably don't want to hear this, so you're better off saying something flattering about the company and how you want to work there really bad.
The second interview is a short coding exercise on coderpad.io. The problem was about computing the checkout value of a cart of items after applying some discount rules (BOGOF or buy more that 2, get 20pc off). I chose to do it in Java because that's what I've been coding in lately, and produced a solution that worked for all of the test cases in about 30 mins.
The next day I received a rejection call from the HR. The feedback was that they were looking for someone more senior for the role, and my code could use more comments and should account for scalability.
I find it funny that they contacted me for the role and rejected me saying they were looking for someone more senior. The coding feedback is pretty useless. The code is very simple and with variable names and function names that explain what is happening, there should be no need for useless comments. About scalability: I was told that the important thing is to produce something that works by the end of test. If I was asked to address scalability, I would have made appropriate changes.
I suspect Shopify gets a stream of good candidates that want to work there so they prioritize things other than skill. I suspect you need to be 'hip' to work there, I saw a bunch of yuppie types in hipster clothes. So I would suggest you look and act cool if you want to work there.
Interview questions [2]
Question 1
Given a list of items and quantities, apply discount rules and determine the cart's checkout value.