Architecting the Uber driver app for Android, which needs to run for extended periods of time in the background, involved a unique idea where Activities and Services were not included in the structural foundations.
Our driver app's new server-driven preferences section enables driver-partners to customize their experiences to make the app better fit into their lives.
Rather than shipping out our new driver app as a simple update to Android phones, Uber engineers delivered a dual binary package, enabling a safe and structured rollout of the new app while maintaining support for the previous version.
Joe Zhou, the 7th iOS engineer on the Uber Eats team, offers advice for those considering taking the plunge into programming.
Uber Eats engineers describe how they surface restaurant recommendations in the app using multi-objective optimization to give eaters the most satisfying experience while maintaining the health of the Uber Eats marketplace.
Uber's Mobile Engineering team open sources Nanoscope, a new method tracing tool for Android that enables developers to more accurately debug difficult performance issues.
Uber’s Sensing, Inference, and Research team released a software upgrade for GPS on Android phones that significantly improves location accuracy in urban environments.
To mark the two-year anniversary of Uber Eats, Android engineer Hilary Karls discusses how her team's commitment to "playing the perfect game" resulted in one of Uber’s most successful products.
In this article, members of Uber Bangalore Engineering discuss their role in building reliable transportation systems at scale for India—and beyond.
Uber Engineering built and open sourced NullAway, our fast and practical tool for eliminating NPEs, to help others deploy more reliable Android apps.
Uber Engineering’s Aimee Lucido reflects on how she redefined her career as a software engineer through advocacy and writing.
Uber Engineering's XP Background Push mitigates bugs safely and efficiently in real time, facilitating more seamless user experiences on our apps.
Uber Engineering's new open source tool, AutoValue: Bundle Extension, decreases the likelihood of encountering bugs by enabling Android engineers to quickly unbundle data into value classes.
Uber Engineering shares our best practices for working with plugins, a powerful tool that enables us to build and ship features quickly at scale.
Uber Engineering built a new microservice to power Driver Profiles, an in-app platform that enhances the Uber experience by celebrating drivers.
In this article, we discuss how Uber Engineering designed m.uber, a lightweight web app that delivers a native app experience for riders on mobile browsers.
In 2016, Uber Engineering built and open sourced RAVE, a data model validation framework for Android that leverages Java annotation processing to protect against crashes caused by invalid data.
In this article, Uber Engineering shares our best practices for relieving RxJava backpressure on Android through targeted operators, more forgiving RxJava 1.x configurations, and RxJava 2.x.
The monorepo codebase powering Uber Engineering's Android rider app is architected to scale for growth while supporting the IDE, reducing build times, and stabilizing the master during integrations.
How Uber Engineering re-architected the content delivery feed and backend ecosystem of our new driver app to deliver an enhanced user experience.
Uber Engineering built a custom stack that generates AutoValue models using immutable collections to stably migrate Android apps at scale.
Get to know Uber Engineering New York City and the exciting work we do on UberEATS, UberRUSH, and Uber's Observability platform.
A daylong event at Uber’s Palo Alto office, sponsored by our LadyEng group, showcased the technical work across Uber Engineering as well as the people who are leading and building these projects. Here are some of the resulting presentations.
Although an untraditional choice for building mobile architectures, deep scope hierarchies are a key component of Uber's new Android rider app that enable the quick and seamless rollout of new features.
In November 2016 Uber unveiled a sleek new rider app. The app implements a new mobile architecture across both iOS and Android. In this article, Uber Engineering discusses why we felt the need to create a new architecture pattern, and how it helps us reach our goals.
A behind-the-scenes look at how Uber Engineering continues to develop our virtual onboarding funnel which enables hundreds of thousands of driver-partners to get on the road and start earning money with Uber.
Uber’s mission is transportation as reliable as running water, everywhere, for everyone. Here's the first of a two-part series on the tech stack that Uber Engineering uses to make this happen.
What's it like to be an Uber intern? Here's one such experience, making an impact for drivers as an Android developer on Uber Engineering's driver growth team.
Uber Engineering's free Android program with CodePath at our San Francisco office in summer 2016, our first partnership to expand mobile engineering opportunities in the community.