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.
About the Role
The Mobile Test Platform team aims to provide a framework to enable program teams to write test automation covering their user flows, replacing manual sanity tests. Our tools allow safeguarding features and preventing regressions before diffs land, hence empowering mobile developers to build reliable apps quickly. These solutions have tremendous impact on Uber’s business by reducing the number of bugs from going out the door, which dramatically impacts user trust and retention. We also have huge potential to increase the productivity of every mobile developer at Uber by making writing tests a breeze, and eliminating any manual work during release. For some teams, we can save up to 1 engineering day per week using our tooling!
Looking ahead, you’ll be working on various long term app reliability tooling, not just UI test frameworks, but also unit testing, frameworks for writing testable code, tools to drive up test coverage, tools improve code safety, and any other projects you can come up with to improve reliability of our apps. The impact is huge: faster development speed for all mobile engineers, fewer betafixes, hotfixes and outages, fewer crashes, ANRs, and bugs in our apps, making the Uber app experience truly magical.
For this role, we are seeking software engineers with good understanding of the Android development flow, and familiarity with Espresso and related build tools. Some distributed systems experience will be beneficial but not required, as long as you have an open mind in learning new technologies - this is a new territory we’ll be venturing into, which is super exciting.
What You’ll Do
What You’ll Need
Bonus Points If
About the Team
Mobile Test Platform team is part of the Core Product Platform’s Reliability effort. Uber’s mission is transportation as reliable as running water - for all of our products, customers depend on Uber for reliable transportation and logistics experiences. A bad experience in one of our apps can completely ruin a customer's trust in our products. Our long term goal within Reliability is that everyone is seamlessly able to use our applications without issues. We build tools and frameworks to cover the detection, prevention and mitigation of reliability issues such as crashes, ANRs, and unexpected behaviors.
This is a great opportunity to build innovative frameworks and tooling from scratch, and make tremendous impact along the way. We are looking for engineers who are passionate about the quality and reliability of our apps, and interested to build scalable systems.