Paul Krill
Editor at Large

Node.js, Google Go drive Uber

news analysis
Dec 11, 20152 mins

Most of the company's operations use the two platforms as well as the Python language

Uber has made two up-and-coming language platforms, Go and Node.js, critical cogs in its operations. Tom Croucher, Uber site reliability engineer, detailed the company’s use of the platforms at the recent Node.js Interactive conference in Portland.

Dispatching systems at Uber run on Node, the server-side JavaScript platform. When a customer opens an app or visits the website to book a ride or uses APIs to see what vehicles are available, most of those systems run on Node, Croucher said.

“The majority of these were written on Node from, I would say, the first year or so of the company, so pretty early,” Croucher said. He also noted that Uber was one of the first adopters of Node and one of the first companies to “really build a big business on top of it.”

But Node.js isn’t the only workhorse at Uber. Google’s Go language also has established a foothold. “We started writing some things in Go, so that’s been some of the high-performance systems where initially we might write something in Node. Some of those are currently being rewritten in Go in particular places where it makes sense, just to get a little bit more optimization from the system.”

For the time being, Uber is running the older 0.10 version of Node, as it needs to see “a clear benefit in order to jump into a new version.” Node.js Foundation Community Manager Mikeal Rogers wants users to move to version 4.

Outside of trendy Node.js and Go, Python also has a place. “One of the things we found is there are several technologies that we use at Uber including Python,” he said. “It’s useful for us to be able to hire from a diverse pool of candidates, so an awful lot of the system is written in Python. We found there is a wealth of Python developers who write great services in Python, particularly around some of the business aspects and different things like that.”

Paul Krill

Paul Krill is editor at large at InfoWorld. Paul has been covering computer technology as a news and feature reporter for more than 35 years, including 30 years at InfoWorld. He has specialized in coverage of software development tools and technologies since the 1990s, and he continues to lead InfoWorld’s news coverage of software development platforms including Java and .NET and programming languages including JavaScript, TypeScript, PHP, Python, Ruby, Rust, and Go. Long trusted as a reporter who prioritizes accuracy, integrity, and the best interests of readers, Paul is sought out by technology companies and industry organizations who want to reach InfoWorld’s audience of software developers and other information technology professionals. Paul has won a “Best Technology News Coverage” award from IDG.

More from this author