> Ariana Huffington joins Uber's board around the same time and releases her book on the importance of sleep right around this time, and piles of free copies are available in the office. Yes, sleep is important. So why am I at the office past midnight? Right: the deadline that can not be moved.<p>This feels too familiar. “You have unlimited vacation, just take a week off, but we are not moving that deadline.”
Highly focused development crunch time is "refreshing" from time to time. And since the involved engineers probably got pretty good salaries, it's hard to feel sorry for anyone.<p>But as I always say: Don't let a management problem become an engineering problem. The deadline was artificial and put stress on everyone. Uber is not an agency which has to deliver a product to some client. They have the freedom to release apps "when they're done" but choose not to do so.
I've heard about this rewrite multiple times now from different perspectives, both public and private. It's interesting how much the narrative changes based on the context of how it's being told. This author seems genuine and honest, but it's also clear that the story is being spun in the most positive way possible.<p>The previous thread here has a different perspective on the situation: <a href="https://news.ycombinator.com/item?id=25373462" rel="nofollow">https://news.ycombinator.com/item?id=25373462</a>
I kinda hate this engineer, he didn't push hard enough, he let the professional bar be crossed, there was seemingly no business value in the whole project either. It would be refreshing if the devs just didn't take this, those that quit after should have quit during the project instead.<p>I think there's a saying that goes: "you get what you're willing to tolerate".<p>This is often the reason why employees get screwed over, they're willing to tolerate far too much, for far too little reasons.<p>Covering up bad management and planning is not something engineers should tolerate. You should say, no sorry, you missed the deadline to fund us and have engineering start early enough, that's that, you screwed up your planning, you failed at being a good manager. We're not going to cover for your screw up.<p>Edit: Specifically, I don't personally hate them, but I hate that it played out this way, and I know it's a difficult position to be in and it's difficult to get out of, it just makes me mad, and I don't know what solutions there are.. maybe to fight to change the norm back to hourly employment, or have contracts with a per-week maximum hour cap that if breached warrants bonus pay on top of salaried employment.
i worked on the backend for this rewrite, and it was even more extreme than the other write-ups suggest. we not only rewrote the apps, we also<p><pre><code> 1. moved from email-based auth to phone-based auth
2. removed all the auth and onboarding logic from the clients and moved it over to server
3. changed the networking from a hacky OpenAPI/Swagger code to Thrift over HTTP
</code></pre>
i am not saying it was the most conservative call to do all this at once but it was necessary. the auth logic was basically untenable and no one really knew how it worked. some team in amsterdam could (and did) lock down uber for android users in russia because they changed some code.<p>we also had to move to phone as a primary identifier, because honestly there are many countries people dont even use email. but how do you deal with phone numbers that were validated more than 7+ months ago, if you want to avoid things like this? [1] or how do you deal with promotions that required validating phone numbers not being VoIP that you could do out-of-band before but now have to do in-band?<p>anyway, i am being scatter minded here but it was probably one of the riskiest things uber did, from my point of view, changing the top of the funnel + also moving users from one auth to another with a download, esp given with apple's rollout mechanism we had no way back.<p>but it all worked! i should probably write this up one day.<p>1: <a href="https://arstechnica.com/information-technology/2016/02/when-phone-verification-and-recycled-numbers-collide-lyft-leaks-user-data/" rel="nofollow">https://arstechnica.com/information-technology/2016/02/when-...</a>
If I'm reading this correctly, the whole fiasco started because the CEO decided they _have_ to release a new version of the app by some arbitrary date? And to meet this arbitrary deadline, the engineers had to roll out a ton of new features all at the same time inevitably causing a ton of fires/bugs/outages for the end users? Sounds like a nightmare and I'd be super pissed as an engineer having to support this mess. Is there more background on why Helix had to be released so aggressively?
Wow, what a nightmare! I remember a project or two like that in my career that I wish I could go advise my younger self to avoid. I have been around long enough to remember when people bore this sort or abuse as a mark of pride almost, like the scars made them who they are despite seeing peers burning out, becoming sick, quitting, or getting divorces as a result of overwork.
Props to the author for a great read!<p>Just recently I had to pull a couple 12 hour days resolving a critical issue for an enterprise customer; I'd never been so ready to hang up my keyboard and move into a cabin in the woods afterwards. I can't imagine extending that crunch for _months_.
I worked at Uber and this whole shit show was typical and unnecessary. From the time, one of the things that TK was so proud of was the logo redesign and the design of one of the floors in the SF HQ that had a bunch of scifi elements.<p>What was the benefit customers got out of any of this?
>Ariana Huffington joins Uber's board around the same time and releases her book on the importance of sleep right around this time, and piles of free copies are available in the office<p>So basically, work 80 hours a week and have Ariana Huffington shill her useless book to you? Uber sounds like a shithole if you ask me. Those people that quit made the right choice
> Tooling is a major issue: compiling the app from scratch takes 25-30 minutes on iOS and around 10 on Android<p>As a relatively naive to massive apps iPhone developer (I’ve made apps with millions of downloads, but nothing on Ubers scale) I find it confusing how a relatively straight forward iPhone app like Uber can be so complex. It’s basically a map and 3 buttons? And an ‘in the car’ state. They weren’t doing pool or bill splitting at this point I don’t think. I’d have thought everything else is back-end complexity?<p>Can someone do an explain like I’m 5 on this?
Celebrity board members in a nutshell.<p>> Ariana Huffington joins Uber's board around the same time and releases her book on the importance of sleep right around this time, and piles of free copies are available in the office. Yes, sleep is important. So why am I at the office past midnight?
I'm curious, what would have been the repercussions of an engineer saying "I'm comfortable with at most 40 hours of work per week". Would they have been fired?<p>Also, were the people working longer hours getting paid overtime?
That was the year I sold my cars and switched to bike+rideshare. Even though my cc gave me an Uber benefit the new app experience was so flakey that I dumped uber for over a year, until I traveled to a place with poor Lyft service and found that the uber app was usable again.<p>I’ve never seen why the app needed rewriting.
"The art of the rewrite" by Uber Leadership could be an interesting book.
In 2019 When AB5 was passed another rewrite was done in order to make the case that drivers were not employees but independent contractors and teams were assembled into one "zone" working like crazy to make some major changes for one market (the fear was that AB5 would be the start and all other states would follow with similar laws). The funny thing is during multiple meetings people would ask if Lyft was doing anything as radical as Uber and AFAIK the answer was no. FFWD to 2021 and with the passage of Prop 22 most if not all of the features implemented as part of the rewrite including DSTOP (Drivers Set Their Own Price), Price range instead of Fixed price etc are being stripped out.
Burnout was an obvious cost to this mess. A less obvious cost must surely have been all the people that read about it and decided to never work for Uber. But then it's always been easy to ignore the costs that can't be measured.
My team and I were often the target for insane rewrite requests like this; I know this type of ridiculousness only too well. Sure you can succeed even under the most insane circumstances but that cost is not worth it for the people who are forced to do the impossible; in the end the people who suffered are mostly ignored while the top execs revel in the end result as if it was them personally doing it.<p>I finally said enough of this madness and retired this year. No matter how many times you manage to pull off miracles the people demanding them don't give a shit about you or your team.
There are truly great things that can be accomplished in life with crunch time. I'd consider good examples as the early days of SpaceX or some other game changing endeavor.<p>A rewrite of a mobile app doesn't seem to fit the bill. I'm also reminded of the time that during an Uber ride the app took me into this secret screen where it attempted to get me to do some kind of coding assessment for recruiting. The engineering on this feature was absolutely nuts. But also completely over the top and laughably irrelevant for me and my geographic location.
I love the author's writing in general, and it obvious that he learned the lesson from this experience. What's insane is that their management has not learned that lesson, from, say, the last 30years of people writing about software project management.<p>I guess it will take such a caricatural death march to kill a unicorn before people get a clue. (And even that would be surprising. Not the killing - the getting a clue. )<p>Still, that's almost as great an advertisement for _not_ working at Uber as, say... everything else coming out of Uber.
> And as per Apple's restrictions, if your bundle size is over 100MB, users cannot download the app over the air<p>I wish stores implemented more such hard limits, or other strong incentives to reduce space usage.<p>I bet Uber <i>could</i> make its app significantly smaller than 234 MB (Google Maps: 137 MB, Chrome: 36 MB), but that would require effort, and it's cheaper to consume an extra 100 MB on 100 million other people's phones than to put in that effort.
Here's a Twitter thread about the same story, that dives a bit more into the internal politics --<p><a href="https://twitter.com/StanTwinB/status/1336890442768547845" rel="nofollow">https://twitter.com/StanTwinB/status/1336890442768547845</a>
I'm surprised to read that most people left <i>after</i> the nightmare instead of during.<p>I would have taken this shit for a week, maybe 2, but past that, I'm out of here. If you're gonna stick around during the whole thing to see it through, why leave once it's over?
Another example of out-of-touch upper management dictating an unrealistic development schedule for no particular good reason (according to the article), and making everyone's life hell for months.
This whole blog post reads like The phoenix project book. I actually chuckled at the part where the legal got involved for the client-side fix like it so used to happen in the book.
> <i>I have no idea how, but two and a half-hours later, the fix is live. I'm assuming the release team used all the goodwill accumulated over the years to make the fastest app update I've ever heard of happen. Either way, it's done, and done fast. Let's just hope it works.</i><p>It's sort of amazing how we as an industry have all just adapted to the App Store industrywide censorship and gatekeeping.<p>It's astounding that Apple has been able to pull this off, and even more astounding that so many companies are willing to work as sharecroppers for them.<p>Find it on the Apple App Store under AOL keyword Uber!
my question is, what was the business value of doing a full write rather than incremental shift? same question on the specific date - was their any business value delivered by specifically launching the new app on New Year's?<p>If not, this rewrite basically cost huge amounts of burnout across the mobile and server teams for no business value. At best it seems like an intense learning experience that didn't actually unlock $$.
>Two weeks before my starting date, my manager emails me to ask if there's any way I can do Android.<p>I've solo made and published over 15 Android apps but I went full Dunning-Kruger and now I think I know nothing about Android development. It is too complex. If manager asks me, I don't know Android. I can't imagine Android development can be known.<p>If you ask someone if they know Android development and they say yes, be skeptical.
A hundred engineers to rebuild the Uber app....<p>That is insane! To me it seams like something that could be done with 2-3 guys over 6 months with room to spare.<p>But yeah I get it they have the money and everyone wants to work with their friends.
I have no problem with leaders encouraging overworking, but the article could have detailed the compensation that people got during the work. My guess is that they were getting not much more hourly wage than a McDonald's worker for correcting for the bad leadership.