Staff Software Engineer, Production Engineering

Uber Uber · Consumer · San Francisco, CA +1 · Engineering

Staff Software Engineer role focused on Production Engineering, building software to enhance the reliability, scalability, and efficiency of Uber's services. The role involves leading initiatives, applying SRE concepts, and participating in on-call rotations. It requires strong software engineering skills in languages like Go, Java, or Python, and experience in delivering solutions end-to-end.

What you'd actually do

  1. Design, build, and maintain software to increase the reliability, scalability, and efficiency of thousands of stateless and stateful production services spread across multiple datacenter zones and regions.
  2. Lead initiatives end-to-end within the team, the Production Engineering org, and across engineering at large to increase reliability through automation, setting standards, developer tooling, and reusable frameworks.
  3. Work with other engineers to deeply understand their services and guide them towards practical and reliable architecture and implementation.
  4. Apply SRE concepts such as observability, integration/load/chaos testing, on-call, incident management, failovers, and disaster recovery to improve mean time between failures (MTBF), time to detection (TTD), and time to mitigation (TTM) of incidents.
  5. Participate in on-call rotations, responding to and leading mitigation of production incidents, and driving post-incident improvements.

Skills

Required

  • 8+ years of experience in Go, Java, Python, or similar language
  • Experience in delivering solutions end-to-end from defining problems to generating architecture plans, implementation, testing, and delivery.
  • Writes clear technical proposals and RFCs; able to drive engineering alignment across teams through written design docs and verbal discussion.

Nice to have

  • Experience in various parts of SRE / reliability engineering / incident management at a large-scale company.
  • Experience in platform/infrastructure engineering in related disciplines such as compute platform, software networking, online storage, developer platform, and observability.
  • Experience mentoring and leading teams on projects while remaining hands-on and technical.