Role overview
Build and operate shared infrastructure for training and serving machine learning models in production. The work combines backend engineering, distributed systems, and ML platform development, with a focus on dependable services that help other teams deliver models and improve their development pace.
Responsibilities
- Own team goals and guide engineers through open-ended technical work and delivery.
- Collaborate with product, design, and analytics partners on ideas, constraints, risks, and implementation decisions.
- Identify and lead efforts to address technical, operational, process, or business problems.
- Monitor service health and availability using metrics, and contribute to incident response and on-call work.
- Set and improve code review and design practices; share technical guidance through writing and talks.
- Support colleagues' development with feedback, mentorship, and strong engineering examples.
Requirements
- Four or more years designing, building, and launching backend systems at scale, using languages such as Python or Kotlin.
- Experience developing highly available distributed systems, including work with cloud infrastructure, databases, and container platforms.
- Ability to plan delivery of a significant feature or system component with a clear, extensible design.
- Experience making substantial changes safely in a large codebase, supported by effective engineering tools and practices.
- Strong written and verbal communication for collaboration with a distributed engineering team.
- Demonstrated ownership of professional growth and willingness to seek feedback.
Nice to have
- Experience training and deploying machine learning models in production.
Benefits and work setup
- Remote work is available to candidates residing in specified Canadian provinces.
- Health coverage for employees and dependents
- Monthly technology and wellness stipends
- Flexible time off
- Holidays
- An employee stock purchase plan