Friday, May 28, 2021

Uber’s Crazy YOLO App Rewrite

Gergely Orosz (via Hacker News):

The mobile platform team has been working on the project for a few months, coming up with RIBs, a new architecture we’re using for the project. For the program teams - the ones building features -, the work started a few weeks ago. We have less than 3 months: the rewrite needs to be done by 16 September. Every last screen of the old app will not only be ported, but re-imagined, UX and workflows changed.


I tell him we cannot make the deadline. Not unless we cut the scope, push back the timeline, or add more people. Ideally, all three. He says we’ll see what we can do.


The pace of work is still excruciatingly slow. Tooling is a major issue: compiling the app from scratch takes 25-30 minutes on iOS and around 10 on Android. Landing a change to master can take hours and hours, due to to the long-running test suite, the merge conflicts thanks to the large number of changes and flakey UI tests.


None of us know for sure what the app release strategy will be until a week before launch. Then it’s confirmed. We’re going YOLO.

They wanted to release a combined app that included both the old and new versions, so they could do a gradual rollout, but it wouldn’t fit under the 100 MB App Store cap for cellular downloads.

Considering the circumstances, the launch was a roaring success. Very few critical bugs were found: which was impressive, considering the YOLO release and how little time we had to test.


Helix took a huge toll on most people. A few people quit during the project, but the majority of resignation notices came after we shipped the app. Many people did not even stick around a few months for March bonuses.


2 Comments RSS · Twitter

Old Unix Geek

I'm supposed to be impressed. I'm not impressed. Burning out your engineers so they quit is not something to be impressed by. My assessment of Uber just went down yet another notch. I'm surprised. I thought I had run out of notches.

I’ve worked on a similar 3 month rewrite project. Luckily it was a company where people were neither expected nor willing to make insane sacrifices for an arbitrary deadline.

It was the pet project of an architect who grossly underestimated the effort and ballooned the scope to "finally fix all the things that have bothered him" in one go.

We just said we couldn’t do it in the time. They agreed we were not competent enough to do it and gave it to some consultants. The last I heard about it was a year later, when it still wasn’t done.

YOLO, indeed. Time is to valuable to waste on someone’s crazy demands.

Leave a Comment