About the Role
Uber is looking for a Software Engineer to join our Matching Platform team. This team sits at the core of Uber's real-time marketplace, ensuring that riders and drivers are matched efficiently, fairly, and at scale.
Matching is one of Uber's most complex and impactful engineering problems, requiring expertise in high-scale distributed systems, real-time decision-making, and machine learning infrastructure. As a Senior Engineer, you'll play a key role in evolving our matching architecture, improving system efficiency, and enabling Uber's next-generation ML-powered matching capabilities. This is an opportunity to work on one of Uber's most business-critical domains with massive global impact.
Want more jobs like this?
Get jobs in Toronto, Canada delivered to your inbox every week.
Some of the problems you'll be working on include:
- Building a highly scalable matching platform - handling millions of ride requests per second with ultra-low latency.
- Designing extensible architectures - creating a modular and flexible platform that allows new product innovations without complex rewrites.
- Evolving the ML platform for matching - enabling real-time inference, model deployment, and experimentation at scale.
What You Will Do:
- Build and scale a low-latency platform powering millions of real-time match decisions per second
- Design modular systems that accelerate product innovation without rework
- Optimize for fairness, efficiency, and marketplace health at global scale
- Collaborate across product, infra, and ML teams to deliver business-critical impact
Basic Qualifications:
- Bachelor's degree or equivalent in Computer Science, Engineering, Mathematics or related field OR 3-year full-time Software Engineering work experience, WHICH INCLUDES 3-year total technical software engineering experience in one or more of the following areas:
- Programming language (e.g. C, C++, Java, Python, or Go)
- Note the 3-year total of specialized software engineering experience may have been gained through education and full-time work experience, additional training, coursework, research, or similar (OR some combination of these). The year of specialized experience is not necessarily in addition to the years of Education & full-time work experience indicated.
Preferred Qualifications:
- 3+ years of technical software engineering experience in one or more of the following areas:
- Experience with distributed systems or microservice architectures.
- Experience with relational databases and distributed storage systems (MySQL, Cassandra).
- Passion for learning new technologies
- Experience with shipping efficient, reliable, crash-free code that reaches millions of users.
For Canada-based roles: The base salary range for this role is CAD$136,000 per year - CAD$151,000 per year.
You will be eligible to participate in Uber's bonus program, and may be offered an equity award & other types of comp. You will also be eligible for various benefits. More details can be found at the following link https://www.uber.com/careers/benefits.
We welcome people from all backgrounds who seek the opportunity to help build a future where everyone and everything can move independently. If you have the curiosity, passion, and collaborative spirit, work with us, and let's move the world forward, together.
Offices continue to be central to collaboration and Uber's cultural identity. Unless formally approved to work fully remotely, Uber expects employees to spend at least half of their work time in their assigned office. For certain roles, such as those based at green-light hubs, employees are expected to be in-office for 100% of their time. Please speak with your recruiter to better understand in-office expectations for this role.
*Accommodations may be available based on religious and/or medical conditions, or as required by applicable law. To request an accommodation, please reach out to accommodations@uber.com.