It doesn't require any special "engineering" to make a ride hailing app. I guarantee you could get an Uber clone out of a high school coding bootcamp weekend. It's really that simple.
"Dispatching" a message to a phone based on its location. Why would that need special software engineering? That's all open source stuff that's readily available. Certainly everything else Uber does (collecting money, ratings, etc) is all off-the-shelf stuff.