Software Engineer - Caching and Queuing
The Production Engineering team at Shopify focuses on solving Shopify's infrastructure and development team growth challenges with code.
Production engineering encompasses the disciplines of site reliability engineering, infrastructure engineering, and developer productivity to ensure Shopify's infrastructure is able to scale massively, while delivering resilience and performance.
At the same time we make sure Shopify's entire engineering team has the tools they need to be more impactful here than anywhere else.
You should have experience with one or more of:
- Being a low-level generalist 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 process such as continuous integration and continuous delivery
- As a Ruby on Rails developer or making contributions directly to the Rails project
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.
Some of the things the team has built:
- 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
- For a more recent update on Shipit, check out this SRECon talk by Lei Lopez
Some things you might work on:
- Build self-service tooling for engineers to automate the configuration and monitoring of infrastructure
- Collaborate with other Shopify developers to understand their needs and ensure our team works on the right things
- Create our next-generation continuous-integration and continuous delivery systems
- Write tools to provide fast, stable builds and tests across our entire tech stack
- Work as part of the engineering team to build and scale distributed, multi-region systems
- Investigate and resolve production issues
- Build and support infrastructure and tooling to protect our platform from bots and DDoS attacks
- Help enable migration of applications to a Kubernetes-based environment
- And plenty more!
We know that applying to a new role takes a lot of work and we truly value your time. King is looking forward to reading your application.
Experience comes in many forms, many skills are transferable, and passion goes a long way. If your experience is this close to what we’re looking for, consider applying. We know that diversity of thought makes for the best problem-solving and creative thinking, which is why we're dedicated to adding new perspectives to the team and encourage everyone to apply.