Skip to main content
Uber CareersUber Careers

Sr Software Engineer - Marketplace Matching (Backend)

Backend, Engineering
in Seattle, Washington

About the Role

Within the Matching team, we are looking for Software Engineers to focus on the following areas:

UberBus global expansion. In 2019, one of the most critical company strategies is to continue to grow the rides business. As such, providing a cost effective yet user friendly High Capacity Vehicle option requires evolving matching beyond what's supported in existing Uber products. It will require building a route management solution and optimize routes based on demand and historical data to balance walking distance, travel time and service availability in a way that makes sense for the greatest number of travelers. We will build Fleet positioning algorithms and reroute vehicles to underserved areas based on demand patterns.

Foundational Matching. The matching platform and algorithms are integrated with all Uber products. We improve the experience and efficiency of UberX and UberPool by improving matching and routing decisions. Through application of advanced algorithms and ML we are solving matching at a real time scale unmatched anywhere else in the industry.

What You'll Do

As Software Engineer, you will own key portions of Uber Matching problems. For example, you could be working on how we improve Pool matching efficiency, determining the right walking distance for uberPool, or launching brand new products like uberBus and designing new matching approaches

  • Deliver solutions to transportation infrastructure problems at a global scale.
  • Build and optimize matching and dispatch algorithms which are unmatched in the industry.
  • Launch a new business and define the new technology stack.
  • Build distributed services with high availability and scalability requirements powering the heart of all uber products.
  • Apply your CS algorithm fundamentals on real world problems

What You'll Need

  • BS/BE degree in Computer Science and related field. Advance degrees are preferred but not required.
  • A minimum 3 years of engineering experience.
  • Strong problem solving and coding skills. Competitive programming experiences are highly preferred.
  • A passion to learn. Our domain is cutting edge in the ridesharing business, and we want you to be as excited as we are.
  • Solid understanding and hands-on experiences with backend system development. An ideal candidate should possess the following technical skills:
    • Expertise in Java/Go/C++/C/Node or other applicable backend languages
    • Strong algorithm and CS skills
    • Relational and/or KV stores and relevant storage systems.
    • Good track record of delivering E2E solutions that scale to millions of users

About the Team

The Matching team, within the broader Marketplace group, builds the systems which make decisions like which UberX to send to a rider, or how to find efficient UberPool matches. The team builds and optimizes dispatching algorithms and new dispatching paradigms with the goal of increasing efficiency and lowering ETAs & prices across all of Uber's marketplaces. We build the tech stack to make thousands of intelligent matching decisions every second globally in real-time among hundreds of thousands of drivers and riders. The impact of these matching decisions affects billions of dollars of gross booking for the company.

We are not just talking about designing algorithms to solve NP-hard problems - we are building robust scalable real-time production systems to power these algorithms from the ground up and deliver the driver and rider experiences directly in the Uber apps.

The High Capacity Matching team is changing the way the world travels by making travel cheaper. We recently launched a new UberBus product which provides a lower cost option to make Uber accessible for new markets of riders and commutes. We are expanding Uber's matching paradigm beyond shared rides to encompass demand based route and fleet management to provide a first in class mass transportation solution. We are working across all parts of Uber's product offerings to find the best way to lower the cost of travel.

At Uber, we ignite opportunity by setting the world in motion. We take on big problems to help drivers, riders, delivery partners, and eaters get moving in more than 600 cities around the world.

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.