The entire process is very conversational, with technical questions tailored towards your prior experiences. My process started with a Skype call with a recruiter, followed by two more sessions with a developer and a team lead, respectively.
The recruiter interview is mostly there to screen out fake personas or people who would simply not be a cultural fit. You are not going to get asked the stereotypical algorithmic design questions that are adored by most tech companies; although it is implied that you know them!
Make sure you demonstrate your passion for coding and why you got into it in the first place. The fact that the company takes so much time ensuring potential hires are as culturally fit as they are technically was a great motivator for me!
The Skype interviews with the developers will likely be about something you want to talk about. So, be sure you are ready to go into "significant" detail in whatever it is you choose.
I highly recommend you put your projects on GitHub so they can see your code!
I was asked questions based upon overall design decisions I made (e.g., what design patterns did you find helpful? Why didn't you do this? Is this method thread-safe? etc.) and in terms of how my application would scale with a large number of users (does it work with 10 users? How about 10 million?). Again, the questions they ask you are going to be specifically related to your resume or whatever project you choose to talk about.
Definitely consider talking about scalability; at least they loved it when I did.
If you made it this far, and you are out of town, you will most likely be invited for an onsite visit to their amazing office in Ottawa, Ontario. It is very Google-like. You can tell they have invested serious amounts of cash in establishing their culture. Having interviewed at Google, I could tell they took their culture very seriously. To say the least, I was mesmerized.
It is roughly a 6-hour day of interviews with your potential manager and coworkers, and a pair programming session somewhere in between. Did I mention you get to eat their lunch, which was absolutely delicious!
Interviews get more technical, with emphasis on design decisions you would make to solve certain problems. Overall, very fun!
The pair programming session was very cool; you work alongside another developer to solve some random problem he chooses. Remember, there is no correct answer.
Think big. Be clear. Let your creativity fuel your conversations, and most importantly, BE YOURSELF.
There was a Pair Programming session in which you work with another developer to solve some problem.
Be prepared to do a bit of coding!
The following metrics were computed from 23 interview experiences for the Shopify Software Developer role in Ottawa, Ontario.
Shopify's interview process for their Software Developer roles in Ottawa, Ontario is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Shopify's Software Developer interview process in Ottawa, Ontario.