The biggest hurdles are at the start, but any company that can demo an autonomous vehicle that can, on average, drive a few miles in urban traffic without getting hung up is off and running. After those initial big hurdles, it's small hurdles stretching off further than the eye can see.
Uber had never really learned the first big hurdles. They scaled too big, too fast, and the whole operation was a clusterfuck. The rumour is that Uber was having trouble getting simulation working for them. So early on with Uber, driving around Philly, they were disengaging every block or two, and 2 years later they weren't doing much better.
In the wake of their accident they've had some time to reevaluate everything, and we'll see if they've actually managed to sort out their problems.