I’m excited to announce that I’m joining Uber as SVP of Engineering. After 15 wonderful years at Google working on search, I wasn’t sure that I would find an opportunity as exciting or potentially world-changing. But having spent hours with Travis and many others at the company, I can confidently say Uber fits the bill.
First and foremost, I am a huge fan of Uber’s product. Like many people, I can’t remember life before you could push a button and have a car show up in minutes. But what’s most exciting to me is the real-world impact this simple idea—push a button, get a ride—is having in cities around the world.
Uber’s technology is transforming urban mobility. My children may never need to own a car—and they’ll certainly never be forced to make the choice between drinking or driving. Nor will my parents have to choose between maintaining their independence and their safety. More than that, Uber is making access to transportation more equal, and that can really help improve society. Today, millions of people are stuck in transit deserts—unable to afford the luxury of a car or a home near the subway. I know this firsthand from my work with our foundation in India: we had to arrange a special bus to get underprivileged students to and from school. Uber is helping to change that by enabling mobility for everyone.
In fact as I dug deeper into how Uber works, it became pretty clear that this is one of the hardest—and therefore most fun—computer science and engineering challenges in the world today. It’s hard enough to connect millions of drivers to millions of riders in real time while creating optimal routes for drivers. Add to that the twist of predicting real-time traffic, pooling multiple riders and making the system economically attractive for everyone—and now you have one of the most challenging computer science problems I’ve encountered in my thirty-year career.
All computer scientists study NP-complete problems, the hardest algorithmic problems in the field; and we all have developed greedy or approximate-algorithms to find efficient solutions for these crazy hard problems; the problem Uber engineers are solving takes all this to an unprecedented level. This is just the driver-rider side of the equation which is built on top of world-class maps, and the infrastructure to run all this in real time. And don’t even get me started on how interesting and exciting self-driving is for a computer scientist. I hope by now you have a sense of why the computer scientist in me feels that Uber is a geek’s candy store—and why I can’t wait to get started applying computer science to the real world, for real people, to improve real lives.