Pros
A lot of reviews on glassdoor are from Drivers/Partners that don't capture how the engineering culture is. Company is solving a really big & tough problem - ground transportation. There is a whole new level of reliability that is needed for Uber's systems, due to the fact that it is moving real people and things. FB/Twitter/... not loading for 20 mins is bad for the company's business. But Uber not working for 20 mins, means someone misses their interview or someone might be stranded for a while. So, the company seems to be ready to invest in a lot of long term technology pieces needed to get there. So, if you are a developer hungry for working & experimenting new software systems, I would say Uber should rank among the top 3 places right now in the valley. People are nice and generally willing to help you out. Everyone is tuned (the onboarding process is very good at tuning new people also towards this) to working towards getting things out of the way and march towards the company's goals. So, if you believe in the vision of Uber and have an attitude of making progress, you will do absolutely fine here!
Cons
As with any high growth company, no everything is necessarily figure out.. There is lots & lots & lots of work to do, which could mean longer working hours.