In this blog post, I’ll talk about my internship highlights, projects worked on, and tips for internship applications 😃 I worked on the Data Infrastructure team in Ottawa as a Software Engineering Intern from January to August in 2018!
Life at Shopify 🦄
Amazing culture & coworkers 🏄🏻
I absolutely loved the work culture! Shopify cares a lot about personal growth and gives teams/individuals a lot of autonomy. This means there are many opportunities for personal growth and making an impact, so you’re in control of how much you want to get out of the internship.
Shopifolks are friendly, open-minded, fun, passionate about the product, and always willing to help one another. I enjoyed surrounding myself with curious people that have strong technical backgrounds and are constantly looking for ways to improve the status quo (both full-timers and interns). Shout out to my mentors/team for knowing so much, supporting me, explaining their decisions, and being a funny bunch.
Challenging work 👷
I liked the work I was doing and the technology I was working on so I was excited to go to work everyday.
The type of work depends on your team and roadmaps but there’s a high chance you’ll be tackling tough and impactful problems with mentorship!
Fun office 💚
Shopify’s Ottawa office at 150 Elgin Street is full of personality ❤️ It has around 10 floors and each floor has its own unique theme with various cute spots to work, eat, drink, relax, or play. If you’re ever in Ottawa, I’d recommend taking an office tour.
I liked that work is flexible because the important part is getting your work done & making an impact. I’d often play foosball, table tennis, Mario Kart, Zelda, pinball, or some other games after work or when I need a break 😄
Shout out to the amazing culinary team at the Ottawa office! They always make a variety of yummy food. Breakfast and lunch are provided & there are constantly treats at random times averaging once a week or two, they serve all sorts of goodies such as ice cream, waffles, poutine, sliders. Offices are stocked with snacks and drinks too 😉
I worked in Ottawa but Shopify has offices in Toronto, Montreal, Waterloo and around the world (San Fransisco, Berlin). You can check out https://www.shopify.com/careers/locations.
Cool events ✌️
Over my 8 months, I went to 3 internal summits/conferences (one company-wide, one for production engineering, one for RnD), 2 intern retreats, 2 internal hackathons where my team won one of them, other team building/celebrating activities, and lots of talks! There are many opportunities to learn, have fun, see what’s happening around the company, meet new people, and eat good food.
Life outside the office ⛄
Living by myself & being close to other interns 🔥
I’m from Vancouver BC and this was my first time living by myself. It’s great to be independent and I had a lot of time for myself. Interns coming out of the city were all housed at the same building so it was easy to get together to play board games, video games, go out for fun, or chill! Throughout the year, I learned many new board games, got decent at foosball, but not so good at table tennis still… 😆
Being a tourist ✈️
Going to hackathons 🤖
For those that know me, you’ll know how much I like these! On the east coast, there are many more hackathons to attend compared to Vancouver. Extra fun that I won prizes from some these too 😛 Check out some of my hacks.
What I worked on 🚀
This section is semi-technical.
- Created a Ruby on Rails 🚈 application to visualize deployments, resources, and access permissions for data projects under Shopify’s Google Cloud infrastructure. This app also runs health checks to enforce good practices and offers an interface to create service accounts, request permissions, etc.
- Created a process for a faster way to analyze audit logs in case of (potential) security breaches. The goal was to get answers to questions such as “who accessed this resource” under an hour for 1000+ TB of event logs ⭐️
- Developed a Scala service to replicate production SQL queries against our data cluster onto a test data cluster. This allowed us to “test” our SQL query engine version upgrades (PrestoDB) in case new versions break backward compatibility or come with huge performance degradations.
- Built a macOS application to abstract away using the command line for connecting to data services. This is good for folks unfamiliar with the command line but probably not too useful at the current moment 😆
- Experimented with using Google Stackdriver and their APIs to leverage the monitoring/alerting offered by Google’s ecosystem. Documented my exploration including pros & cons and some quirks of Stackdriver.
- Developed a command line interface to look at current status of services, deploy services, scale up/down when needed.
- Optimized some Dockerfiles to get faster build times, thus higher developer productivity 🙏
Over the work term, I used Python, Ruby (Rails), Swift (macOS), Scala, a bit of Java, a bit of Go, systemd, Google Cloud Platform, Kafka, PrestoDB, Mode, Datadog, Splunk. It was my first time using most of these technologies as I only had previous experience with Python, Go, Java, AWS. So I definitely learned a lot on the job!
Tips for the Internship Applications 💪
Disclaimer: These are all my own opinions and experiences, the process may have changed and I am not representing Shopify in any way. Use this information at your own discretion.
Shopify opens up applications roughly 4 months in advance for all 3 terms: fall, winter, summer. Check out https://www.shopify.com/careers/interns for deets.
- Spend time on the application and do the extra credit if there are extra credits for the challenge. Most of them involves creating an app.
- Create a unique cover letter that expresses your interests, passions, and your own personality, they do read these! This is important because interns TYPICALLY don’t have as much experience as full-timers, so it’s your passion, desire to learn, problem solving, and communication that counts!
- For the life story interview, be ready to talk about yourself, your interests, how you got to where you are today, why are you interested in the role, why are you passionate about what you’re passionate about. This’ll be with a recruiter.
- For the technical interview, the first half is talking about a project you bring. You should know your project well and ideally worked on most of it, it can be a school project. You’ll talk about your project and demo it, then the interviewers will ask you questions along the way, it’s a technical discussion back and forth. They might ask you how you would change your app if there’re new requirements. You should be ready to justify your technical decisions such as choosing the tech stack, datastore, data structures, algorithms, and anything else that’s specific/applicable to your project (UX flow, routing, selecting 3rd party APIs, deployment process, caching mechanism, etc).
- My whole technical interview was going over my project but I think for 2019 and onwards, the second half should be going over your application challenge you completed. I would say the same tips apply— know what you did and why 😃
If you came for the tips, I hope this helps and feel free to message me with more specific questions.
Thanks for reading! 😍
Show some love and give this post a 👏 or 50 if you liked it 😉
Feel free to reach out to me on Instagram, LinkedIn, Twitter about my experiences at Shopify, the interview process, feedback on my post, or pretty much anything!
🌈 Find me on Instagram
🐙 Follow me on GitHub
⭐ Let’s connect on LinkedIn
🐦 Follow me on Twitter