I mainly wrote this blog post to help advertise Shopify as a great place to intern at, but I'm sure all of these aspects can be found at other great companies, though maybe not all at one company/team. I recommend this blog post not only for those looking to apply to Shopify, but to know how great internships can be and what qualities you would want from an internship.
I'm currently writing this in my last week at Shopify as I have decided to go elsewhere full-time, though I still love Shopify enough that I chose to intern there over joining a YCombinator cohort! It is a very special place to be, which is also why I returned three times (started interning at Shopify in Summer 2018).
This is an underlying factor in a lot of other things I'll talk about, but I like that Shopify doesn't often have "rules" for anything. Shopify let me do two (two month) internships to accommodate for my two-month summers. They also let me work part-time after I graduated! Most importantly, they don't require interns to be enrolled in a bachelor's degree program bringing epic diversity to intern classes from people with degrees in other fields or former chefs. I got the same epic flexibility at Hatch Canada, working part-time and being allowed to work on projects of my choosing.
room to do all the learning
I'd say I'm three times better of a programmer than I was when I started at Shopify. It happen partially through the classic "learning on the job". By building applications and getting code reviews from coworkers I became a better programmer. However, I think the key that made learning on the job effective was being able to ask a shitload of questions. Shopify was good at building an environment where I felt I could do that without feeling like I was asking bad questions or bothering anyone. This let me spend less time confused, make better decisions, learn about things I could apply in the future (or just sate curiosity).
Another great thing is that I had the room to dedicate time to learning. That included working through a book, reading papers or attending conferences. Shopify funded me buying textbooks and I felt alright taking a day to read up on a subject. I often spent time going down rabbit holes of reading even after completing a task. I was approved to go to Japan for a conference (cancelled due to COVID-19) and spent a day attending a workshop on VMs (didn't even bother getting approval for that).
Learning is good. Especially in internships, your focus should be investing in yourself and great companies should want to invest in you (within reason of course).
A lot of companies end up giving interns a special project of sorts. While the project may be substantial, interesting and potentially impactful, they often get iced as soon as the intern leaves. This may not be valuable to everyone, but at Shopify I was apart of the weekly sprints and worked on producing features and fixes that other engineers were actually relying on. Not having intern projects would also help you better understand how much you'd enjoy working at a company full-time. The downside of course, is that you might not actually have anything to call "your own" and you will lose engineering time to things like planning meetings (which are important and fun too!). But then... the next section.
being a champion
For my third internship at Shopify, I switched from the Facebook team to a neighbouring team with people I had worked with in the past (so it was still fairly familiar). It was a bit weird, as for those four months I'd be working part-time at 20 hours a week. This would make it hard for me to be involved in day-to-day work, especially with it being Black Friday Cyber Monday (huge week for Shopify). So, I went on to champion my own project where I extended an open source app into being able to generate code (Rails and NodeJS) to build Marketing Activity extensions. This meant that I was the lead on the project, and was responsible for informing stakeholders on the status. I interacted with numerous teams and became the "person to go to" for information on the project. Yes, there was a risk of it ending up more like an intern project, but that's why it was also apart of the job to communicate with other teams and do health checks to make sure the project was ontrack and useful. Though it was not a huge project, it was exciting, impactful and "my own"!
company exposure beyond where you're working
My first four months at Shopify were on the Facebook Ads / Instagram Checkout team, where we worked on an application for Shopify merchants to be able to directly advertise on Facebook through Shopify and to sell products via Instagram. Throughout my time there, I not only worked with the Facebook API but was in contact with Facebook engineers about goals and for technical support. The Facebook team also flew in to work with us and have social events, which was pretty fun! These experiences were unique, and helped me exercise some remote-working communication skills (which are really being tested during this quarantine).
writing for an engineering blog
At the beginning of my current internship, I wrote a blog post about the first PR I shipped. The Engineering Blog doesn't have any special barrier for interns submitting work - if you did something cool, you can write about it! Through writing the post, I was able to talk to some cool folks on the Eng Comms team and sharpen my shoddy writing skills. My post now lives on Shopify Engineering Blog! It was great exposure for a personal brand to, as the post made it to the top post of Hacker News and stayed on the front page for over twelve hours.
people who really care
This is the aspect I think Shopify is likely most special for, and the reason I was most afraid to leave Shopify. I always felt like my team members and lead had my best interests, and wanted to make sure that I felt productive and happy at Shopify. Weekly 1:1s, frequent kind words and so many other things really brought this together. Our CTO reached out to me to compliment me for my blog post. When the company went remote due to COVID-19, I got a personal message from my Director making sure that I was doing alright (which was ridiculous because he was dealing with being quarantined with kids) along with a little casual chat. Shopify didn't even let go of culinary workers when we went remote. The list could go on! Choosing to leaving Shopify was a really emotional experience (I cried when verbally turning down the offer) because of all the kindness, patience and care people there have offered me.
So keep an eye out for Shopify internships postings, and go do internships in general! Internships at Shopify run three times a year (January, May, September) for 4 to 8 months. Applications open 4 months before start dates~
Feel free to email email me with your name at kipp dot ly with any questions about choosing internships, or questions about working at Shopify or anything! Courage to talk to strangers on the internet will earn you my respect <3. However, please try to avoid questions along the lines of "how do I get an internship?" as quite frankly I don't have insight beyond knowing exactly what I did (some of which I have forgotten). Requests for resume reviews, for example, is something I could actually help out with.