Skip to main content

Senior Software Engineer - Data Engineering

San Francisco, California |
Seattle, Washington |
Palo Alto, California

About the Role

As a Backend Engineer at Uber, you'll be working on code that's closest to the business. 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 live riders, eaters, drivers, and operations teams across the globe.

About the Role

Are you passionate about data tools? The Business Intelligence Tools team is building the next generation of analytics tools to guide business decisions.

Uber's vast data sets form the backbone of every decision at Uber, from infrastructure capacity planning to estimating the time it takes for an UberEats order to complete. You'll take ownership of the services that ensure the reliability of these data decisions. We are constantly scaling our services to match Uber's analytical needs. Global operations teams rely on exploration tools to quickly answer questions, improve efficiency, and visualize their city health. Product teams need to measure the success of the features they build and get insight to make the best decisions. We provide teams all across Uber with an entry point to data, give them quick and reliable options to explore, build and share. It's an incredible opportunity to make a huge impact at the ground level, both in terms of software and product design.

What You'll Do

  • Design and build business intelligence tools in a highly collaborative role requiring interaction with multiple data platform products
  • Drive efficiency and reliability improvements through design and automation: performance, scaling, observability, and monitoring
  • Work with security to design, implement and enforce data security access controls

Basic Qualifications

  • 5+ years of experience with software design and shipping code for production systems
  • Proficient in Golang, or object-oriented programming languages
  • Experience working with large-scale distributed systems
  • Experience working with distributed databases, preferably with very large amounts of data
  • Basic SQL proficiency

Preferred Requirements:

  • Experience designing and implementing highly scalable, robust, and fault-tolerant services
  • Expertise in areas you've worked in and an eagerness to learn in areas you haven't, particularly with Golang and SQL analytics
  • Experience working with high volume requests: scheduling, load balancing, rate limiting, workflow orchestration
  • Interactions with various data systems such as Presto, Hive, Spark, MySQL, Pinot
  • Experience leading projects and mentoring other engineers
  • Experience using workflow orchestrators such as Cadence

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 10,000 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.

Uber is proud to be an Equal Opportunity/Affirmative Action employer. All qualified applicants will receive consideration for employment without regard to sex, gender identity, sexual orientation, race, color, religion, national origin, disability, protected Veteran status, age, or any other characteristic protected by law. We also consider qualified applicants regardless of criminal histories, consistent with legal requirements. If you have a disability or special need that requires accommodation, please let us know by completing this form.