Production Engineering - Director of Datastores Ottawa
About the role
Production Engineering at Shopify encompasses the disciplines of site reliability engineering, infrastructure engineering, and developer productivity. Our department builds a platform that allows Shopify to scale massively, while also delivering resilient systems, amazing performance, and impactful tools for our entire engineering team.
About the role:
The mission of the datastores team is to design, build and maintain the persistent data technologies that enable exponential and horizontal growth of our commerce platform. We treasure both our customer's data and our own ahead of all other considerations. We value resiliency and we want our tools and systems to be as self serve as possible for our users: Shopify engineering.
We are in need of a Director who will focus at first on Shopify’s transactional data processing and storage systems. You will expand the current focus on MySQL to other data stores, eventually scaling the teams up to build and maintain world class data storage infrastructure, both persistent and caching . In order to do so, you will take the existing team of 5-6 people and grow it to 2-4 teams of 6-12 people each.
You should have experience helping a variety of developers get their applications successfully to production quickly, and enjoy the challenges of scaling not one, not two, but a fleet of applications in a variety of lifecycle stages. You may directly lead a team from time to time and will be expected to work with the other leads to groom new leads and build and develop new teams.
This role could be based out of any of our Canadian offices, or remote from UTC+2 (Central European Summer Time) to UTC-6 (Mountain Daylight Time).
You'll need to have:
- Experience running and growing engineering teams
- Experience running infrastructure services
- Experience executing on complex, technical projects
- Deep understanding of data storage technology (RDBSs, Key/Value stores/Caching) or the ability to quickly create that understanding
- Good spoken and written communication skills
It'd be great if you have:
- Experience and knowledge building services for other engineers, especially stateful ones
- Have experience with different technologies either in the same company or as moving to different jobs (ex. MySQL to Postgres then to NoSQL)
- The ability to be hands on at the architectural or software engineering level as needed
- Experience managing distributed teams
You'll be working on:
- Making sure that the subset of technologies we use to store data are well understood across the engineering organization, and that operational needs are in general self-serve so each product team is autonomous.
- Understanding what is blocking Shopify developers from executing as quickly as they should (e.g. schema changes, debugging their own usage of datastores, building user facing tooling so engineers can self-serve)
- Developing a solid understanding of resiliency and how we do it, and how we can iterate upon it (eg. making sure that our clusters self heal, building back pressure at the data access and/or data storage layer, providing tooling for engineers to proactively find problems with their data access patterns)
- Staying ahead of the scale of the business, both in terms of capacity planning and needed new architecture and technology (eg. building/deploying automatic sharding mechanism and tenant balancing)
How to apply:
If you’re interested in helping us shape the future of commerce at Shopify, click the “Apply For This Job” button to submit your application. Be sure to address your cover letter to Camilo in the additional info section and tell him why you think you'd be great for the role.