In its rise from startup to Unicorn to public company, Uber has grown across the globe, impacted countless lives, introduced new business models to the world, and has made headlines countless times.

But one story has remained largely untold: the story of Uber’s technology decisions over time. It’s a story that underlies all other Uber narratives, and one that powers its meteoric growth even today.

Most of Uber’s millions of passengers aren’t aware of the complex systems that fire into motion when they press the Request Ride button. But at StackShare, we believe in collecting and sharing these stories to highlight the ways in which technology choices have impacted Uber’s ability to grow and scale.

Now that you can easily share Stack Decisions, we thought it would be cool to use our new powers to tell Uber's technology story. In our first installment of Stack History, we’ve collected a comprehensive history of key stack decisions made by Uber, in the hopes of informing and inspiring all the developers out there working on the next billion dollar idea.

How we did it

We synthesized more than a dozen sources, including official Uber communications, such as the Uber engineering blog, as well as many third party sites. Each Stack Decision has a link to the original source content, allowing easy access for anyone wishing to dig deeper on any particular decision.

Uber was founded in 2009, and not much tech stack history exists prior to 2014 (their eng blog starts with posts around August of that year), so our timeline starts in mid-2014, right around the time it first achieved unicorn status.

P.S. Check out Uber's full tech stack here