Overview
Are you looking for an opportunity to work on planet-scale infrastructure? Do you want your work to impact thousands of developers and millions of customers? Do you genuinely enjoy tackling complex problems, and learning through experimentation? Shopify Production Engineering is all this and more.
The Production Engineering team builds and maintains Shopify’s critical infrastructure through software and systems engineering. We make sure Shopify—the world’s fastest growing commerce platform—stays reliable, performant, and scalable for our 1000+ member development team to build on, and our 600,000+ merchants to depend on.
Our team covers the disciplines of site reliability engineering, infrastructure engineering, and developer productivity, all to ensure Shopify’s infrastructure is able to scale massively while staying resilient.
On our team, you’ll get to work autonomously on engaging projects in an area you’re passionate about. Not sure what interests you most? Here are some of the things you could work on:
- Build on top of one of the largest Kubernetes deployments in Google Cloud (we are operating a fleet of over 50+ clusters)
- Collaborate with other Shopify developers to understand their needs and ensure our team works on the right things
- Maintain Shopify’s Heroku-style self-service PaaS for our developers to consolidate over 400 production services
- Help run our caching infrastructure and advise Shopify developers on effective use of the caching layers
- Build tooling that delights Shopify developers and allows them to make an impact quickly
- Make scale simpler to understand by building the service mesh layer in between Shopify’s infrastructure and the application level
- Create our next-generation continuous-integration and continuous-delivery systems
- Work as part of the engineering team to build and scale distributed, multi-region systems
- Investigate and resolve production issues
- Build Shopify’s predictable, scalable, and usable internal Search Infrastructure
- Build and support infrastructure and tooling to protect our platform from bots and DDoS attacks
- Autoscale compute up and down based on the demands of the platform, and further protect the platform by shedding lower priority requests as the load gets high
- And plenty more!
We also understand the importance of sharing our work back to the developer community:
- Architecture to handle 80K RPS Celebrity Sales(Learn more about this on our engineering blog)
- Bootsnap: Optimizing ruby app boot time
- Services DB: A platform to manage services across various runtime environments
- Systems and automation for our data centers
- Shipit: Our open-source deployment tool
Interested in applying? You should have experience with one or more of the following:
- Being a generalist developer who is comfortable with multiple languages such as C, Ruby, and Go
- Hands-on development with cloud infrastructure (AWS, GCE, Azure, Kubernetes, Docker)
- Working anywhere in the stack, from right beside the OS and up
- Working with a variety of open-source software including nginx, redis, and memcached
- Building large distributed systems at scale
- Creating and pushing adoption of development tools to a large, distributed development team
- Automating development processes such as continuous integration and continuous delivery
Tools of our trade: Ruby, Rails, Go, Kubernetes, MySQL, Redis, Memcached, Docker, CI Pipelines, Distributed Systems, Google Cloud
Is some of this tech new to you? That’s OK! We know not everyone will come in fully familiar with this stack, and we provide support to learn on the job.
Our teams are distributed both in-office in Canada (Ottawa, Toronto, Montreal, and Waterloo) and remotely across Canada, the US, and Europe. We have a great Mobility team that tailors individual relocation and immigration packages to best support your move.
We know that applying to a new role takes a lot of work and we truly value your time. We’re looking forward to reading your application.