Sr Software Engineer - Engineer
About the role and team
Uber's Deployment Engine team is the backbone of how the world's largest ride-sharing and delivery platform safely ships innovation at scale impacting ~150 million customers. Our deployment platform enforces policies and gathers real-time signals to ensure that every change to Uber's production systems rolls out incrementally and automatically reverts if those signals hint at trouble.
Our mission is simple: make production deployments stress-free for every engineer at Uber. We do this by building intelligent guardrails that continuously evolve alongside new workload types, deployment patterns, and scale demands. With ~1M rollout operations per week across our deployment systems, orchestrating changes safely is a genuinely hard problem and one we're deeply passionate about solving. The stakes are real: our systems directly impact 150 million+ monthly active platform consumers globally, 7 million+ active drivers and couriers and services in 70+ countries and 10,000+ cities.
Our platform makes high-precision, data-driven decisions to detect potential incidents and regressions early and automatically, dramatically reducing the risk of outages. We power capabilities like:
- Automatic rollbacks of bad deployments
- Emergency deploy policies and system lockdowns during active incidents
- Incident mitigation tooling that keeps Uber's services available and reliable
If you're energized by wrestling with distributed systems edge cases, using cutting edge technologies and infrastructure challenges, the kind that keep a global business running, you'll thrive here. You'll work on a critical platform that enables Uber to innovate rapidly without compromising safety or reliability, making our customers happy and our services world-class.
What you’ll do
- Be responsible for the delivery of multiple projects from inception to production readiness in the team.
- Own key KPIs, metrics, OKRs and goals of the team.
- Address stakeholder requirements and/or improve end-user experience by designing elegant backend platform components for high-throughput, low-latency distributed systems.
- Tackle challenging problems with innovative design and algorithms.
- Collaborate and mentor team members to maintain system health, ensure code hygiene, refactor, and enhance system robustness and resilience.
- Promote and evangelize best practices in code health, testing, and maintainability within the team.
- Analyze and decompose complex software systems, working with cross-functional teams to design for scalability and testability.
Basic Qualifications
- Coding Skills: Proficient in writing clean, well tested and elegant code.
- Architecture: Understanding of distributed systems architecture, including consensus, convergence, data consistency, and performance/efficiency constructs. Ability to identify and resolve performance and scalability issues.
- Experience: 5+ years as a software engineer focused on building large-scale distributed systems with proven impact.
- Communication: Effective communication and collaboration skills, be a strong team player.
- Engineering Best Practices: Commitment to setting and driving the team towards the bar on engineering best practices. Owns the team’s engineering culture in terms of quality, monitoring, and on-call practices.
Preferred Qualifications
- Engineering Excellence: Defines and drives improvements to product and engineering quality (e.g. sustainability, maintainability, performance, reliability, etc.) within their team and projects.
- Leadership: Proven experience leading engineering teams to deliver large, multi-functional projects autonomously. Ability to own part of the team’s charter and help set the long-term direction.