+1 Appreciate you avoiding the usual "it's just a little smartphone app"
I'm not going to try and give an exhaustive list, but as a rough explanation: things get really, really hard when you're operating at Uber scale (hundreds of thousands of riders on trip at any one time, each demanding low latency and reliability):
- Product: native clients for each side of the marketplace in each vertical (rides, eats, freight, atg, et al), maps, localization for every country with a presence (not just language, but tax, legal, hundreds of region-specific modes e.g.: tuk tuks)
- Infrastructure: hardware teams to build on-prem DCs (cloud can get very expensive at scale), software networking to deal with said low-latency traffic, storage to optimize for reliability/latency/cost, observability (metrics, logging, alerting, tracing), security, et al
- Data: insights, operational support, routing, et al
I'm not going to try and give an exhaustive list, but as a rough explanation: things get really, really hard when you're operating at Uber scale (hundreds of thousands of riders on trip at any one time, each demanding low latency and reliability):
- Product: native clients for each side of the marketplace in each vertical (rides, eats, freight, atg, et al), maps, localization for every country with a presence (not just language, but tax, legal, hundreds of region-specific modes e.g.: tuk tuks)
- Infrastructure: hardware teams to build on-prem DCs (cloud can get very expensive at scale), software networking to deal with said low-latency traffic, storage to optimize for reliability/latency/cost, observability (metrics, logging, alerting, tracing), security, et al
- Data: insights, operational support, routing, et al
- ATG
Hope that gives a better idea.