Software Engineer II, Backend - Customer Experience Observability
Role details
Job location
Tech stack
Job description
We are looking for an engineer with a passion for developing software systems where customer experiences take centre stage, products built with service quality at heart.
At Uber, we are building a real-time data platform to enable user observability and analytics at scale, key ingredients to ensure we deliver best-in-class experiences for our users - facilitating service reliability as well as informing product improvements.
This is an outstanding opportunity for a strong engineer possessing a collaborative spirit to the core. It's a high-impact role where you will work with product, design, data science, and engineering to help drive our ambitious customer observability platform.
You enjoy building solutions that take into account both the customer experience on one side - spenders and earners as the subject of study - and the tooling experience on the other - developers, product managers and data scientists as platform users.
If you have the technical chops, we invite you to come join our team to solve tough large-scale distributed system challenges and raise the bar of service quality at Uber.
What you will do
- Help design and build the next generation customer observability platform for all Uber apps based on a distributed micro-service architecture.
- Build real-time and batch data pipelines (Flink, Spark, Kafka, Pinot, Hive, etc) while considering efficiency, scalability, and fault-tolerance.
- Collaborate with applied scientists in engineering incident detection and auto-mitigation systems monitoring for degradations in customer experience utilizing various methodologies (SLO based monitoring, machine learning based anomaly detection, causal inference based release monitoring, agentic based mitigation flows, etc).
- Support engineering teams across organisations by acting as a subject matter expert on business observability; helping define, evolve and evangelise best practices and tooling to instrument the different software systems and components powering the many customer experiences across Uber products.
Requirements
Do you have experience in Spark?, Do you have a Master's degree?, * Relevant degree (B.Sc, M.Sc, Ph.D) in Computer Science or related technical field or equivalent practical experience.
- Excellent coding abilities, with experience in Java, Scala, Go, or similar programming languages; with the ability to pick up new ones quickly.
- 4+ years of professional software development experience.
- Hands-on experience with streaming data or batch data platforms processing big-data.
- Proven hands-on experience with big-data processing platforms, including streaming and/or batch data technologies.
- Hands-on experience with microservices architectures.
- Enjoy the crafting of high-quality software, pursuing technical excellence; powering quality of service in products relied upon by millions of people around the world.
- Strong problem-solving skills and collaboration skills., * Experience in observability and monitoring; or generally in reliability engineering.
- Experience in data science or applied science.