Stay in Touch



Sr Software Engineer - Capacity Engineering






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 the Role


Uber is one of the fastest growing tech companies in history.  Supporting this rapid business growth while developers add features creates a variety of reliability and efficiency challenges.  We must ensure we have enough resources to operate the business and our software is stable and performant.


The team achieves this through a combination of system data analytics, forecasting, machine learning and performance optimization across the stack.  Engineers on the team come from a variety of backgrounds including but not limited to: data engineering, infrastructure, low level performance tuning, application development and distributed systems.


We are looking for an engineer to join the team and help define a holistic vision across our focus areas: capacity analytics/forecasting/usage, performance optimization, performance tooling, distributed tracing, benchmarking and predictive modeling.

What You’ll Do


  • Work with teams across Uber to identify performance and capacity improvement opportunities.  
  • Architect, design and build solutions that make Uber more efficient.
  • Deliver software, systems and tools to realize efficiency gains for the company and ensure that these are built to handle the massive scale of Uber’s business.
  • Guide the team (and wider organization) by collecting and using data to determine highest impact work to do.
  • Contribute to ensuring Uber’s SOA efficiently uses the resources in our data centers and cloud.
  • Mentor junior members of the team and provide technical guidance for best practices in software development.


What You’ll Need

  • BS or MS in Computer Science or equivalent experience.
  • 5+ years of industry experience.
  • Experience with Go, Java or lower level compiled languages.
  • Experience with distributed systems, data pipelines and/or low level software optimizations.
  • Systematic approach to problem solving.
  • Ability to collaborate with other teams and Executives in a high EQ way to arrive at the best outcome for the company.
  • Experience identifying and executing on high-impact technical opportunities.
  • Mentor junior members of the team and provide technical guidance for best practices in software development.



Bonus Points If

  • Experience with reliability and performance in SOAs running on managed clusters (Mesos) and dedicated hardware.
  • Experience with incorporating business forecasts into service load.
  • Experience with distributed tracing, cpu/memory profiling, forecasting and analytics.
  • Experience with use of “big data” systems and pipelines.
  • System level/kernel experience.

Apply for the job

Subscribe to our blog.


Blog & Newsletter Signup