Software Engineer - External Observability

US-CA-San Francisco | US-NY-New York City
Engineering - Backend

Uber Overview

About Uber

We’re changing the way people think about transportation. Not that long ago we were just an app to request premium black cars in a few metropolitan areas. Now we’re a part of the logistical fabric of more than 600 cities around the world. Whether it’s a ride, a sandwich, or a package, we use technology to give people what they want, when they want it.

For the people who drive with Uber, our app represents a flexible new way to earn money. For cities, we help strengthen local economies, improve access to transportation, and make streets safer.

And that’s just what we’re doing today. We’re thinking about the future, too. With teams working on autonomous trucking and self-driving cars, we’re in for the long haul. We’re reimagining how people and things move from one place to the next.


Job Description

About the Role


The External Observability team builds systems for consumption by other engineering teams at Uber. We’re writing a world-class, end-to-end contextual monitoring system. The current monitoring system has already drastically reduced Uber’s mean-time-to-detection (MTTD) for large scale outages while providing high signal-to-noise ratio (SNR). This has a direct positive impact on the user experience of Uber riders and drivers, and is already improving the quality of life for Uber’s on-call engineers and developers. The team now intends to focus on reducing the total time to mitigation (TTM) by providing more contextual information in the alerts themselves.


As monitoring Uber’s business includes monitoring our datacenters, our team’s services operate entirely outside of Uber’s infrastructure. We are one of the few teams at Uber to operate fully on the cloud; we are running our stack simultaneously across the 3 major cloud providers (AWS, GCP, Azure) to increase the surface area of network/routing outages. Our software engineering efforts are just getting started, so come help create the platform that will help all engineers at Uber and tackle these challenges with a small, tight-knit team of experienced engineers.


What You’ll Need

  • Experience building cross-datacenter, highly-available systems. We need engineers who think about fault-tolerance, durability, and scalability
  • Emphasis on code quality and hygiene, including unit and integration testing, and clear documentation. We use Go, but experience is not required
  • Passion for meticulously solving customer pains. We want to delight our customers with accurate and actionable alerts
  • Comfortable with systems problems: our team owns and maintains infrastructure on major cloud providers. Examples of this include but are not limited to configuration management (SaltStack, Puppet, Ansible, etc.), continuous integration tools (Jenkins, Travis, CircleCI, etc.), and build systems
  • Excellent communication skills and the ability to work well across teams. We collaborate a lot across various teams at Uber


Connect With Us!

Not ready? Connect with Uber to receive future communications about opportunities and general information about specific areas of Uber that interest you.