News Stay informed about the latest enterprise technology news and product updates.

Experiencing Uber from the inside out

This Content Component encountered an error

Tom Hughes-Croucher stood before a standing-room-only crowd and explained how he and his team keep Uber running. Or, as he put it, “how we avoid screwing up the world’s largest Javascript project.”

The senior site reliability engineer certainly has his work cut out for him. Uber is in 400 cities around the world, with more than 1 million drivers and just recently has gotten in to food delivery in addition to its normal ride service.

I was paying even more attention than usual because, as an attendee at the Fluent Conference in San Francisco, I wasn’t just a journalist. I was an Uber customer.

So while Hughes-Croucher talked, I was thinking about my first Uber ride, which, honestly, went off without a hitch. The pleasant driver arrived two minutes after I placed the request, and it was a restful few moments during a busy business trip.

Hughes-Croucher would certainly have approved because that’s the goal, of course, despite how fast the company is growing. “When everything’s exponential there’s no opportunity to be wasteful,” he said. “You have to find things that are going to make an impact. Reliability and performance are critical. If our systems are down those people can’t work and you can’t get a ride.”

Hmm….I really was going to need another ride soon. Hopefully Hughes-Croucher had me covered. He focused his talk on the importance of detecting bad releases, having fast and efficient rollback and mitigation and making sure there is always performance reliability.

I thought about that later in the day, as I requested another Uber, only to get a “network unavailable” message. Uh-oh. Another try hooked me up with a driver, but he had to cancel the trip because he was pulled over by a cop on the way to picking me up.

That’s not something I can blame on Hughes-Croucher, whose attention to detail is impressive but even he can’t control traffic cops. What he is trying to control, though, is time. His strategy, though complex to implement perhaps, is beautiful in its simplicity. He advocates only rolling out a 5% change and then watching that rollout like a hawk. If there’s an issue, it’s instantly rolled-back and the only “hit” to performance is really to the developer’s productivity and not the customer’s. At least in theory, this makes a lot of sense to me.

During my last Uber ride, I did what I always do and asked how the driver liked his job. He does, very much, but he’s about to radically reduce his hours. Why? He’s decided to go to school to become a software tester.

I let him know Hughes-Croucher ([email protected]) is hiring.