Skip to main content
Uber CareersUber Careers

Senior Software Engineer - Backend - Uber Freight

Freight, Engineering
in San Francisco, California

About the Role

About Uber Freight

Uber Freight connects shippers with truckers, much like the way Uber connects riders and drivers. The Freight team believes that empowering truck drivers will bring more open, efficient, and increasingly safer transportation to our roads. We are a team of sharp, entrepreneurial individuals bringing technologies, algorithms and lessons from Uber's core business into the $700B U.S. Transportations & Logistics industry. Comprised of Uber veterans and newcomers, we are looking for candidates who share our enthusiasm for disrupting today's toughest challenges in transportation. We are a Customer Obsessed team, and care deeply about our users, continually looking for opportunities to improve their lives.

About the teams

Freight Engineering is tasked with creating the algorithms, systems, applications that power our independent drivers, sales and operations teams, and shippers that need to transport freight across the country. For these different user segments, we create business portals, mobile applications, integrations with third-party systems, and self-learning models that adjust to market conditions in real-time. Most of our work is distributed via the Web and through mobile app stores, interfacing with Uber cores services and running on Uber's compute platform.

Carrier Experience

The Carrier Experience team builds applications and products for the Carriers and Drivers that haul with Uber Freight. The team must keep in-mind the demands of the role, and how to make life easier during the trip, and reduce the administrative steps that accompany each load. Carrier Experience is a cross-functional team comprised of Backend, Android, iOS, and Web engineers.


The Expansion team is responsible for building products that bring Uber Freight into new service offerings and geographies. The team is made up of cross-platform engineers (web, backend, mobile, data) that leverage existing application functionality, while enhancing architectural modularity, to scalably adapt our systems for new ventures.

Platform Systems

Building atop the shoulders of giants, our Freight team makes heavy use of Uber's internal systems and services. Our Platform team works closely with teams around the company to extend and adapt these capabilities to the Freight use case. The team has worked on projects such as money and payment processing, audit and logging systems, document search, image recognition and load processing. Engineers on Platform are typically Backend and Systems focused.

Load Logistics

The Load Logistics group aims at building features that make a load's journey seamless and touch-free. We evaluate the risk of operational failure before the problems ever happen, and bring this awareness to our operational teams. The team's mission is to build a source of truth platform to inform both internal and external customers about the location, status, and health of a load.

Marketplace Dynamics

The Marketplace Dynamics team is responsible for building products, algorithms and services that drive pricing efficiencies within our network. The Marketplace Dynamics group works at the intersection of data science & engineering, and develops the decision-making systems to create a healthy central exchange. Alongside our Shipper and Carrier teams, this group optimizes the pricing, matching, and recommendation capabilities across our applications.

Shipper Experience

The Shipper Experience team focuses on the needs of our Shippers, both Enterprise and SMB. We are focused on replacing antiquated industry technology with open APIs, intelligent analytics, self-service tooling, and reliable supply chain management. Our Shipper Teams work alongside our Solutions Engineers to architect scalable methods to integrate with our customers' data and systems.

What You'll Do

As a Backend Engineer at Uber Freight, you're helping abstract and model a complex industry, and coming up with innovative ways to integrate and automate the very steps that transport products every day. You'll be very close to business concerns, working alongside Product Managers and Operators, to understand what's most important, and translating that to systems, designs, and code that best solves for today, as well as plans for tomorrow. At your disposal will be the tools that helped Uber grow to be a worldwide company, as well as new and upcoming tech from our AI Labs and Machine Learning teams.

You will build user-facing products, handle and store thousands of payment transactions per second, and develop intelligent fraud prevention strategies that scale. From building maps that help move millions of people, to the messaging systems that let us interact with them - the work you do will impact every single Uber Freight request. A general eye for business concerns, combined with an acumen for systems that scale will be necessary.

What You'll Need

  • BS/MS/Phd in Computer Science or related field required
  • 5+ years hands on development
  • Demonstrated experience of shipping high-quality product features on schedule
  • Experience in working on large-scale distributed systems
  • Data-driven architecture and systems design
  • Familiarity with or interest in Go, Python and/or Java
  • Knowledge of the logistics and freight industry a plus

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.