Scaling Uber with Thuan Pham (Uber’s first CTO)
· Summarized
Key takeaways
- Thuan Pham's journey from Uber’s first CTO to a leader at Faire highlights the importance of relationships built through quality work.
- Scaling challenges at Uber required rapid adaptation and led to the development of a robust microservices architecture.
- The Program and Platform split at Uber enabled agility, allowing cross-functional teams to thrive without the delays inherent in functional silos.
- The importance of internal tools cannot be overstated; they are crucial for accommodating rapid growth and unique operational needs.
- Leadership requires an understanding of where to steer teams amid explosive growth, as well as fostering a culture where engineers can take risks and innovate.
- AI is transforming software engineering, but core traits like curiosity and resilience are still what set exceptional engineers apart.
Summary
Introduction: Thuan Pham’s Journey
Thuan Pham, Uber's first CTO, began his journey with the company when it had only 40 engineers and was experiencing severe scaling issues. Over seven years, he helped re-architect Uber's systems, moving from a monolithic structure to a complex array of microservices. This episode dives deep into Thuan’s hiring experience, transitioning Uber’s infrastructure, and the challenges faced in scaling efficiently.
Scaling Challenges at Uber
Thuan discusses the formidable challenges of scaling Uber during its rapid growth. With surging demand causing system retries and crashes, the engineering team was under constant pressure to innovate. Highlighting critical incidents, Thuan reveals how they employed creative solutions, such as launching Uber in China in just five months, far sooner than the original estimate.
The Platform and Program Split
A significant focus of the conversation is on Uber's organizational structure, specifically the Program and Platform split established under Thuan’s leadership. This structure allowed teams to work cross-functionally and autonomously, thereby enhancing speed and agility. The necessity of this split arose from growing frustrations with functional silos and the imperative to push new features out rapidly.
Adapting Microservices Architecture
Thuan elaborates on transitioning from a monolith to a microservices architecture and the ensuing challenges. As Uber scaled, they adopted thousands of microservices not by design but as a necessity to handle the ever-increasing demand and complexity, underscoring the lessons learned about infrastructure design amidst explosive growth.
Internal Tools and Their Importance
The episode also covers why Uber had to build a multitude of internal tools tailored to its unique challenges. As off-the-shelf solutions couldn’t scale, creating bespoke tools became essential for supporting Uber's rapid growth and operational needs.
The Helix App Rewrite
Thuan recounts the extensive Helix project, which was a complete overhaul of Uber's app. The ambitious timeline was motivated by user experience degradation. This project required extensive engineering resources and ingenuity, ultimately setting the foundation for a user-friendly interface and a scalable architecture.
Leadership Lessons and Growth Through Adversity
Throughout the discussion, Thuan shares the valuable lessons he's learned as a leader, emphasizing the importance of humility, curiosity, and resilience in engineering teams. He emphasizes that the ability to navigate challenges and adapt is vital as engineers and organizations grow.
Current Trends in Software Engineering and AI
The conversation shifts to current trends in the engineering landscape, particularly the rise of AI. Thuan argues that while AI tools increase productivity, the essence of great engineering remains unchanged—skills like innovation and curiosity are still paramount.
Thuan’s Career Philosophy
The discussion also reflects Thuan’s personal philosophy regarding career progress and mentorship. He highlights the importance of investing in oneself, seeking opportunities that foster growth, and creating environments where talent is nurtured.
Sponsors
- Statsig · The unified platform for flags, analytics, experiments, and more.
- Sonar · The makers of SonarQube, the industry standard for automated code review
- WorkOS · Everything you need to make your app enterprise ready.
Show notes
Brought to You By:
• Statsig — The unified platform for flags, analytics, experiments, and more.
• Sonar – The makers of SonarQube, the industry standard for automated code review
• WorkOS – Everything you need to make your app enterprise ready.
—
Thuan Pham was Uber's first and longest-serving CTO, and today he’s the CTO of Faire, a B2B wholesale platform. Back when Thuan joined Uber, it had around 40 engineers and 30,000 rides per day, and the system crashed multiple times a week. Over seven years, he helped rebuild the system, move it from a monolith to microservices, and scaled the engineering organization behind it. I had the privilege of working with Thuan for four of those seven years. Later, the very first issue of The Pragmatic Engineer newsletter was a deepdive into Uber’s Program and Platform split. This episode of the podcast contains a nice “full circle” moment, where Thuan shares even more details about why Uber chose to embrace that structure.
We discuss what it takes to operate and build in that kind of environment. Thuan explains how he divided his time at Uber into three “tours of duty,” from stabilizing a fragile system, to re-architecting it, and scaling the org.
We go deep into the platform-and-program split, the Helix app rewrite, and what it took to launch Uber in China in just five months (the original estimate was 18 months). We also cover Uber’s in-house tools and explain why they were necessary to support rapid growth.
Finally, we discuss his role today as CTO of Faire, how the company is using AI, and how he sees AI changing software engineering.
—
Timestamps
(00:00) Intro
(05:32) Getting into tech
(16:09) The dot-com bust
(20:42) VMware
(26:29) Getting hired by Travis at Uber
(33:22) Early days at Uber and scaling challenges
(40:57) Uber’s China launch
(47:12) The platform and program split
(50:26) From monolith to microservices
(53:38) Internal tools at Uber
(57:05) Helix: Uber’s mobile app rewrite
(59:55) Thuan’s email about naming
(1:02:03) Org structure changes under
(1:06:34) Thuan’s work philosophy
(1:12:23) The “three tours of duty” at Uber
(1:15:37) Why Thuan left Uber
(1:17:34) Coupang and Nubank
(1:21:59) Faire
(1:25:31) How Faire uses AI
(1:28:24) AI’s impact on software engineering
(1:31:09) The role of the CTO
(1:35:13) Career advice
—
The Pragmatic Engineer deepdives relevant for this episode:
• How Uber uses AI for development: inside look
• The Platform and Program split at Uber
• How Uber is measuring engineering productivity
• Inside Uber’s move to the cloud
• Uber's crazy YOLO app rewrite, from the front seat
• How Uber built its observability platform
• Developer experience at Uber with Gautam Korlam
• Uber’s engineering level changes
—
Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@pragmaticengineer.com.
Get full access to The Pragmatic Engineer at newsletter.pragmaticengineer.com/subscribe
Follow this show on AudioBrevity and new episodes get summarized for you. Create a free account