Sr Staff Software Engineer

Uber Uber · Consumer · Hyderabad, India · Engineering

Uber's Risk team is seeking a Sr Staff Software Engineer to build scalable, high-quality systems that prevent malicious intent and ensure delightful user experiences. This full-stack role involves backend, frontend, data, and ML engineering, with collaboration across Product Management and Data Science. Responsibilities include technical leadership, design, development, and driving efficiency and reliability improvements in distributed systems.

What you'd actually do

  1. Direct efforts to understand requirements and translate strategically important business or technical problems into executable and extensible designs.
  2. Build reliable, high-quality solutions that scale with Uber's engineering processes.
  3. Deliver and review technical design, code and documentation.
  4. Drive ongoing efficiency and reliability improvements through design and automation: availability, performance, scaling, monitoring and capacity.
  5. Manage upstream and downstream dependencies, collaborate with other engineering teams

Skills

Required

  • BS or MS degree in computer science, similar technical field of study or equivalent practical experience.
  • 10+ years of experience as a software engineer and building large-scale distributed systems
  • Coding chops, clean, elegant, bug-free code in languages like JS, Java, GO
  • Skilled in architecture: Solid understanding of distributed systems architecture - consensus, convergence, data consistency, and performance/efficiency constructs
  • Strong desire to learn and grow, while building the best-in-class systems
  • Experienced at Cross Team Communication: Strong flair for effective communication and collaboration - you know when to push on and when to step back. We work closely with several groups and supporting these other groups is a key part of scaling our business.
  • Ability to Identify and resolve performance and scalability issues

Nice to have

  • Phenomenal communication skills. We build software for people. We build software with people. You know how to write an effective technical spec, provide feedback to others, translate technical concepts into lay terms, and incorporate feedback into your efforts. You value and practice openness, empathy, kindness, and collaboration.
  • Coach and mentor engineers to help with their learning and career growth
  • Define standards in Coding, testing, monitoring, and alerting systems and lead team to complete them.
  • Passion for helping teams grow by inspiring and mentoring engineers.

What the JD emphasized

  • building large-scale distributed systems
  • Solid understanding of distributed systems architecture - consensus, convergence, data consistency, and performance/efficiency constructs