How complicated needs to be an IT infrastructure that lets you book a taxi via an app and pay the driver? Is it really something to throw billions at each year? Sometimes I feel these companies are throwing billions in IT simply because they're expected to be disruptive technology companies, and not for real technical reasons.
They use this data to update their surge pricing by the minute for all these different geofences all over the world... yeah, I think having the self image of a technology company that wanted to attract the best talent definitely created a lot of expensive problems for itself.
Ride sharing is extremely local, so it's not like you need any cleverly scalable tech. Most places will be tracking a few hundred cars at any given moment. Only in very large cities like NYC would you need to spend a little more on big servers.
What Uber presumably does is collect and analyze a lot of real-time data, which isn't strictly necessary to provide the service they're providing.
Essentially they seem to be repeating whatever Google and Facebook are doing: but those are pure technology companies that serve two orders of magnitude more customers and have contributed building the web as we know it. Uber is a taxi company.
Also because when Uber was young, it was not motivated to seek profits or consider expenses, it was just growth at any cost. Once that work culture is established, it can be hard to shake.
You can read here on HN how their large IT staff spends most of its time migrating back and forth between MySQL and Postgres.