Stay in Touch



Software Engineer - Routing & Navigation, Maps






San Francisco, CA, US


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.

About Maps


Are you excited by the idea of reliably and efficiently moving people and things, in hundreds of cities around the world? Are you passionate about implementing cutting edge solutions to problems that have not been solved before? If you have answered yes to any of these questions, you might be a great fit for this team at Uber!


As part of Map Services, our mission is to create innovative solutions that will make the interactions between the driver, rider and the real world as reliable and seamless as possible. Routing team is a small group of people in Map Services and owns the full stack of technologies that result in sophisticated turn-by-turn instructions for in-app navigation, time (ETA), distance and route line estimations, and machine-learned traffic predictions. Our consumers form a multitude of Uber’s top tier services including driver navigation experience, rider and driver ETAs, dispatch decisions, Pool, Eats, Freight and fare calculation.


As a software engineer on this team, you will be the architect, designer and coder of the project. You’ll work closely with the product management, data scientists and other engineers to make the team’s vision a reality. You’ll have the opportunity to lead cross-team efforts, mentor your team members and establish engineering best practices across your group and Uber.

What you'll need?


  • Architecture skills. You should have thoughts on constructing highly scalable software systems and knowledge of the principles of fault-tolerance, reliability and durability.
  • Experience designing and deploying high performance production services with extensive monitoring and logging practices.
  • Capacity to evaluate tradeoffs between correctness, robustness, performance, space, and time.
  • Ability to create and interact with large data processing pipelines, distributed data stores, and file systems.
  • Knowledge of basic graph traversal algorithms: Dijkstra’s, DFS, BFS, Bellman-Ford, etc.
  • Bonus points if you have built geospatial services and datasets before, such as maps data, routing algorithms, traffic patterns, etc.
  • Excellent programming and algorithmic skills (we mainly use Java & Python).

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup