Senior Software Engineer
About the Role
As a Staff Engineer on the Reliability Platform org, you'll build the next-gen observability experiences and telemetry platforms! This is used by every engineer at Uber to develop, scale, understand and monitor their systems in an environment with over 4000 microservices, hundreds of thousands of CPU cores in multiple DCs and the cloud, and hundreds of thousands of concurrent trips around the world! The Reliability Platform suite includes:
- M3, our open-source distributed metrics stack, handles hundreds of millions of raw metrics per second and is used to monitor and alert for every product and microservice at Uber
- Jaeger, our open source enterprise tracing system, provides meaningful insight into individual flows through our microservice architecture, and comprehension of the entirety of Uber's software ecosystem
- Our dashboarding and visualization tools, which display context-sensitive information from across the Uber ecosystem, enabling quick detection and mitigation of issues
- Uber's alert configuration and execution engine that provides real-time alerting for Uber services. uMonitor as a product also serves as a cohesive entry point/observability portal for our engineers to discover observability golden signals and help investigate outages across the observability toolset.
- Our deeply coordinated On-Call Experience suite of tools, which gives on-call engineers everything they need to raise, track, and close outages incidents, to track the SNR of alerts, and to drive improvements in their team health by reducing the alert load
- Blackbox, our system for externally monitoring our critical business endpoints, via emulated workflows
- Sawmill, a new log analysis platform, that ingests millions of log events per second and will provide enterprise log analysis tooling used to triage and remediate issues across all of Uber's production systems
What You'll Do
- Build vision - Take ownership of a vaguely defined business problem, see the big picture, and identify strategically important problems, inefficiencies, or opportunities for meaningful improvements. Drive alignment on how to tackle and deliver highly leverage-able solutions at the group and organization levels.
- Demonstrate tech expertise - Demonstrate technical skills to go very deep or broad in solving classes of problems or creating broadly leverage-able solutions.
- Execute large scale projects - Provide technical leadership in architecting and building mission-critical distributed systems. Subdivide the work into monthly/quarterly sprints and compartmentalize across functions or teams and ensure everyone knows how they fit in.
- Collaborate across teams - Collaborate with others to deliver a result, from hardworking team members within your group, through smart technologists across product lines, to responsible leaders across Uber.
- Coach engineers - Be a role model on acting with good judgment and responsibility. Be a humble mentor and trusted advisor for both your team members and the broader set of passionate leaders alike. Deal with a difference in opinions in a mature and fair way, helping teams to commit and move forward
- Raise the bar - Up the bar on sustainable engineering by improving standard methodologies, producing best-in-class code, documentation, testing, and monitoring
- 10+ years of experience in building large scale distributed systems in a high caliber environment.
- You have a proven record of building and productionizing highly reliable infrastructure at scale.
- Experience in programming languages such as Java, Go, Scala, or Python (bonus points for more than one).
- Proficiency with databases.
- Proficiency in Linux.
- Ability to assess new technologies and make pragmatic choices that help guide us towards a long-term vision.
- Aptitude to independently learn new technologies.
- You have phenomenal interpersonal skills, deep technical ability, and a portfolio of successful execution.
- Excellent written and verbal communication skills, including the ability to write detailed technical design documents.
- Customer obsessed and have a product attitude.
- You can collaborate well with product engineering teams to articulate requirements and system design.
- BS or MS in Computer Science or a related technical field, or equivalent experience.
- Prior experience in building observability tools and platforms is a huge plus.
- Full-stack infrastructure knowledge is a plus.
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.
Uber is proud to be an equal opportunity workplace. We are committed to equal employment opportunity regardless of race, color, ancestry, religion, sex, national origin, sexual orientation, age, citizenship, marital status, disability, gender identity, Veteran Status, or any other characteristic protected by law.
Europe, Middle East & Africa
United States & Canada