About the role
Production Engineering at Shopify encompasses the disciplines of site reliability engineering, infrastructure engineering, and developer productivity. Our team ensures that Shopify infrastructure is able to scale massively, while also delivering resilient systems, amazing performance, and impactful tools for our entire engineering team.
The objective of the Job Patterns group is to develop knowledge, tools and reusable strategies to enable asynchronous processing at a massive scale. We provide the asynchronous processing foundation that projects all across the company use so developers can focus on making commerce better for everyone. In this way, we have enabled Shopify to reliably scale to over 100,000 requests and 750,000 jobs per second. Providing scalability is our job.
You’ll be responsible for designing tools that help build scalable, maintainable and resilient applications. These tools will be used by hundreds of developers and applications across the organization - abstracting away the pain-points of scale. We practice continuous delivery, shipping changes to production multiple times a day. You will see the positive impact of your work on developers and merchants right away. Developer productivity is one of the key success criteria for us, so it’s important that you write high-quality documentation as well as good code.
Some of the challenges our group works on:
- Scaling our async jobs infrastructure to continue handling the most demanding merchants
- Dynamically scale Kubernetes by calculating on-demand load currently on the platform and anticipating spikes
- Providing support and mentorship in our areas of expertise to all developers within the organization
- Making large architectural changes with zero downtime and no negative impact on merchants or the platform
You’ll need to have experience with:
- Building backend web services using several languages and frameworks (some tools we use include Ruby, UNIX commands, Go, Kafka, …)
- Working with relational databases and SQL
- Web frameworks like Ruby on Rails
- Linux and systems knowledge in order to navigate production infrastructure
- Comfortable digging deep into problems on your own. Always hungry to answer another “why.”
It’d be amazing if you have experience with:
- Building resilient, scalable services (with tools like Toxiproxy) and concepts like SLA, fault tolerance, and circuit breakers
- Development on a leading cloud provider (GCE, AWS, Azure, …)
- Operating infrastructure, debugging production systems, and being on-call
- Concurrent programming (optimistic/pessimistic locking, semaphores, deadlocks)
- Lower levels of relational databases (Binlog, Topology, Performance Optimization, Replication)
Our group has spoken at conferences around the world about the work that we’re doing:
If you’re coming from a different background than Shopify’s technology stack (Ruby, Ruby on Rails, MySQL, Redis, Kubernetes) that’s easily a plus—it will help to bring more diverse expertise to the team. We’re happy to teach those who are ready to learn.
Closing date: October 9th at 3pm EDT
At Shopify, we are committed to building and fostering an environment where our employees feel included, valued, and heard. Our belief is that a strong commitment to diversity and inclusion enables us to truly make commerce better for everyone. We strongly encourage applications from Indigenous peoples, racialized people, people with disabilities, people from gender and sexually diverse communities and/or people with intersectional identities.
|Director of Security Engineering||Engineering and Development||Montreal, Canada|
|Production Engineer - Sr Kafka Engineer||Engineering and Development||Waterloo, Montreal|
|Senior Web Developer||Engineering and Development||Montreal - Office|
|Security Engineering Lead - Mobile Applications||Engineering and Development||Montreal, Canada|
|Production Engineer||Engineering and Development||Ottawa, Waterloo|
|Production Engineering Manager||Engineering and Development||Montreal, Canada|
|Technical Lead (Staff Developer), Shopify Plus||Engineering and Development||Waterloo, Canada|
|Production Engineering - Datastores - Database Engineer -||Engineering and Development||Ottawa, Montreal, Toronto, Waterloo, Remote UTC -3 to UTC -7 time|
|Senior Developer||Engineering and Development||Montreal - Office|
|Senior Developer, Shopify Plus||Engineering and Development||Waterloo, Canada|