A developer named Matt Basta has posted an extraordinary account of working for Uber, where he was asked to develop a substitute for Microsoft’s Excel spreadsheet program under peculiar circumstances – only to see his work discarded.
Writing on Substack, Basta said he went to work at Uber in 2016 after a former colleague from cloud storage locker Box suggested he’d be perfect for a job on a “Crystal Ball” team at the rideshare giant.
Basta was told that Uber data scientists built models in the R programming language that the profession favors, and then tried to run those models on laptops that ran overnight.
“When the data scientists arrive in the morning, the laptops whose models didn’t crash have data that’s maybe usable that day,” Basta was told. Models that crashed represented blind spots in Uber’s data.
Basta therefore worked on a project called “R-Crusher” that automated the model-making process to make it more reliable. More reliable models were needed because Uber was trying to conquer China at the time.
“Nobody really cared very much about the processes for the US and any other country — we had less to lose and Lyft wasn’t seen as remarkable competition except in the handful of cities they were operating at scale,” Basta wrote. “China was a make-or-break opportunity for Uber, China was only going to succeed if we had the data for it, and the data was going to come (at least in part) from R-Crusher.”
In mid-2016 Basta said he was given another task. Uber had a model “that ran overnight to generate data for anticipated ridership in China.” Uber would feed that data into “a tab on a special Excel spreadsheet” that produced “a little interactive Excel tool for choosing driver incentives.”
Basta and his team were told to present data from the spreadsheet on the web so staff could acess the model. Uber China didn’t want staff to work in Excel. Instead Basta was told to build an interface that looked and behaved like Excel, because that was what Uber’s internal users knew best.
“Every day that we don’t have this tool as specced, we’re losing millions of dollars,” Basta says he was told. Fixing that was critical because Chinese ride-share company DiDi was a real threat. And as stated, Uber had by this time mostly stopped worrying about its main US rival Lyft, Basta wrote.
As luck would have it, Basta had worked on a basic collaborative spreadsheet during his time at Box.
Basta described the scenario he envisioned for that project as moments in which a full spreadsheet is too much, but “you just needed a place to put together a handful of formulas, format it with some headings and text, and share it with other people. Sort of like an IPython notebook for spreadsheets.”
Nothing came of the project at Box, but Basta kept the code and decided it might be the basis of a tool to address Uber’s needs.
Basta’s post details how he built the tool, but gets really interesting when he started testing it – because his kind of-spreadsheet and Excel produced different values when working with the same data. After plenty of internal discussion, he figured out the cause of the error, which he described as follows:
Basta’s efforts produced a tool that looked like Excel, ran in a browser, and produced accurate output – which Excel could not. Colleagues were mightily impressed that Basta had hand-coded this tool and it went into production in July 2016.
Then a manager asked why it displayed formulae.
“You said to make it just like Excel” was Basta’s reply.
At which point the manager offered this comment:
And there we were thinking that interns were just after a solid entry on their CV and some drinking money!
In the first week of August 2016, Didi acquired Uber China.
“Most of us found out because our phones started dinging with news stories about it,” Basta wrote. Once the deal was done, his tool was binned. He uploaded it to GitHub.
Basta doesn’t mourn his work. His post mentions the “cattle vs. pets” metaphor that suggests computing resources aren’t worthy of sentimental treatment. He also wrote he doesn’t see the binning of his tool as a failure.
“You won’t have the opportunity to take lessons away from the project if you see the sunsetting of the project as a failure: there’s often much to learn about what non-technical aspects of the project broke down,” he wrote.
“Perhaps there aren’t any, and maybe management is just a group of fools! But often that’s not the case; your delicately milled cog wasn’t ripped out of the machine because it was misunderstood, it was ripped out because it didn’t operate smoothly as a part of the larger system it was installed in.” ®