The "curmudgeon" ending line in this story rubs me the wrong way. The ObjC people were right, basically, and it seems like the problem was essentially no one in the right place was going to drop Swift at that point. Seems less like they weren't offering answers, so much as the answer wasn't "but we'll do some stuff and fix Swift!" Though the 6 library limit and how that wasn't a gigantic red flag on the language is b…
A former Uber engineer's disaster story
51–60 of 344 posts
Re: A former Uber engineer's disaster story
#52Re: A former Uber engineer's disaster story
#53Re: A former Uber engineer's disaster story
#54Twitter owns an company called MoPub that broadcasts user location information to the adtech industry.
Re: A former Uber engineer's disaster story
#55I can sympathize with someone caught between these two factions, but I really dislike this rhetorical move where people say "well you're not providing solutions". Particularly if they were the one who advocated making the mess in the first place. Those people are just galling, the solution would be to fire their fucking ass.
Everything about this originated from people being hotshots trying to use underbaked tech and trying to get promoted (which worked by the way). The "solution" is not running your company/engineering org that way.
The way this ends, in an equanimous "who can say if it was worth it" is totally bonkers to me. Think of the human cost alone. So much of this turmoil could have been avoided by not just simply going balls to the wall. This story is upsetting.
Re: A former Uber engineer's disaster story
#56I was part of the team in Amsterdam on this. Insane days. Had some great engineers we hired in AMS. We were moving the whole source code into a monorepo as well which was another crazy project. I think if we had not had some of the engineers we did at those exact times, we would have not gotten out of it. Problem here with Swift came down to - Apple not dogfooding its own tech . Hell they did not even help us or othe…
Appreciate your insight, and I'm sorry to hear about the AMS team. The OP indicates that a rewrite was necessary regardless. Even if Swift was not yet mature, do you think it was more worthwhile than rewriting in ObjC? Given that the goal was to "sustain mobile development at Uber for the next 5 years". Secondly, I'm not a mobile developer so I don't have much context, and I'm wondering about your outlook on iOS deve…
I love Swift. But I've been adopting it in bits and pieces over the years. It's not just that the language has changed significantly, you also have to get used to the idioms. E.g. my early Swift code often featured Pyramid of Doom patterns, and both language innovations and better familiarity with the idioms have helped a lot with this.
Re: A former Uber engineer's disaster story
#57Admittedly the things I've worked on has been games and CAD systems so the internal data models and simulation are a lot more complicated than the UI, but I think that holds for a lot of apps.
Re: A former Uber engineer's disaster story
#58Not a mobile developer - Was the move to Swift inevitable and they started too early or should they have stayed with - and still be using - Objective-C?
So by my way of thinking, they moved at least a couple years too early. (The Swift project started internally in 2010, first public release in 2014, Uber’s rewrite started in 2016.)
Re: A former Uber engineer's disaster story
#59The "curmudgeon" ending line in this story rubs me the wrong way. The ObjC people were right, basically, and it seems like the problem was essentially no one in the right place was going to drop Swift at that point. Seems less like they weren't offering answers, so much as the answer wasn't "but we'll do some stuff and fix Swift!" Though the 6 library limit and how that wasn't a gigantic red flag on the language is b…
Re: A former Uber engineer's disaster story
#60I appreciate the difficulties of getting an app to fit in a fixed space having worked on a point of sale system that had to run on a MIPS device with 32MB of Flash, of which half was occupied by Windows CE. It's not really clear to me why Uber's app needs to be so large and complicated other than the availability of a large amount of money, high-powered engineers, and shiny new unproven technologies.
(The compact app fit in about eight megs in the end, plus another meg or so for the file which defined all the screens; it was written in the least trendy, unsexiest framework known to man, Windows MFC in C++)