Scaling Uber with Thuan Pham (Uberâs first CTO)
Listen and watch now on YouTube, Spotify, and Apple. See the episode transcript at the top of this page, and timestamps for the episode at the bottom. ⢠Statsig â The unified platform for flags, analytics, experiments, and more.Stop switching between different tools, and have them all in one place. ⢠WorkOS â Everything you need to make your app enterprise ready. WorkOS gives you APIs to ship enterprise features in days: features like authentication, SSO, SCIM, RBAC, audit logs. Visit WorkOS.com ⢠Sonar â The makers of SonarQube, the industry standard for automated code review. Sonar helps reduce outages, improve security, and lower risks associated with AI and agentic coding. See how SonarQube Advanced Security is empowering the Agent Centric Development Cycle (AC/DC) with new capabilities like malicious package detection to provide the same rigorous guardrails for AI agents as you would for a human developer. 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. 14 takeaways from Thuan that I find the most interesting: 1. Your professional reputation is a compounding asset that pays off unpredictably. Bill Gurley recruited Thuan to Uber based on knowing him from a startup a decade earlier. Similarly, when Thuan needed to hire for critical infrastructure teams at Uber, he reached out to engineers at VMware whom heâd previously worked with, and they followed him to the ridesharing app because they trusted him. 2. The program/platform split came before microservices. The concept of cross-functional âprogramâ teams and dedicated âplatformâ teams became necessary because an org split across backend, frontend and mobile engineers slowed down in execution speed when Uber grew to around 100 engineers. Every feature required negotiating bandwidth across the mobile, backend, and dispatch teams. Thuan, Travis Kalanick, and Jeff Holden literally used color-coded sticky notes with peopleâs names to reorganize into self-sufficient teams. We cover more about this split in the deepdive, The Platform and Program split at Uber. 3. Microservices at Uber were more about surviving hypergrowth than anything else. Uber needed to decompose its massive monolith called âAPI.â To do so, a simple rule was applied: anything new needed to be built outside of the monolith so that no team blocked another. Teams started to build microservices, but decomposing the monolith took a good two years. Fun fact: in 2026, Uber has somewhat fewer microservices (around 4,500) than back in 2016 (around 5,000). 4. When retiring a monolith, sometimes it gets even bigger before shrinking. After Uber decided to pull services out of the massive monolith, it still kept growing because the business kept adding features! There was an ugly middle phase before the monolith started to shrink. Keep this in mind if you look into decomposing a monolith. 5. Expect multiple rewrites during hypergrowth. The right architecture depends on how fast a product and company are growing. At Uber, repeated rewrites were common because each one âboughtâ another window of survival for the company. Thuanâs recommendation is to understand that a rewrite simply means a company is outrunning its existing architecture: this is not necessarily a bad thing! 6. Controversial launch advice: start with the hardest launch first. When Uber rolled out in China, Travis insisted on starting with Chengdu, the largest launch city. Looking back, it was scary but also helpful, as launching in the âhardestâ city first gave the team confidence and made subsequent city launches much easier. 7. Travis Kalanick spent 30+ hours interviewing Thuan. This took place over two weeks, as a series of one-on-ones. The sessions became a simulation of working together: disagreeing, aligning, and working things out. Iâve yet to hear of such an intense â and technical! â recruitment process by another CEO. 8. Uber is the only major company that had a âSenior 1â and âSenior 2â level â and Thuan is unapologetic. Thuan introduced the Senior 1 (L5A) and Senior 2 (L5B) levels because the jump from senior (L5) to Staff (L6) became very big, and larger than between previous levels. One problem this split level created was that Uberâs L5B was akin to Googleâs and Facebookâs L6/E6. Thuan resisted the title inflation of just renaming L5B to âStaffâ. 9. Name your services clearly; you donât work at a âMickey Mouse shop.â As Uber grew more complex, whimsical service names (like âMustafaâ) made navigating systems more tricky, and onboarding for new joiners more painful. Thuan sent a company-wide email which called for professional-sounding naming conventions, and reminded everyone that Uber was not a âMickey Mouse shop.â The email didnât fully solve the issue, but did force the growing org to take itself more seriously. 10. Great engineering talent is global, so bring the opportunity to developers. During Thuanâs time, Uber opened nine engineering offices worldwide in order to access world-class talent. For example, the relatively small Denmark office built and operated core parts of Uberâs infrastructure, such as the trip datastore, Schemaless. 11. Whatâs the most important part of a CTOâs job? Thuan thinks that itâs to build a high-talent-density team, and to âsee around the cornerâ 18â24 months in advance. As he puts it: âyour team handles the six-month problems, while you figure out what the organization needs to look like two years from now.â 12. The hardest use case of AI in software engineering is building new features on legacy codebases. At Faire, Thuanâs team uses âswarm codingâ (orchestrated AI agents working in parallel) and some engineers there have doubled their output in three months. But generating greenfield code is easy; the real challenge is dealing with millions of lines of code and building features on top with all those existing dependencies. 13. AI raises the floor, but doesnât change what makes engineers great. AI enables people who canât code to produce decent apps, but great engineers are still finding ways to leverage AI tools and accelerate even more. The differentiators remain the same as before AI: curiosity, fearlessness, and a willingness to innovate and learn new things. 14. Thuanâs career advice: think of it in phases. Each segment of your career has different priorities, which Thuan sees like this: First 5â10 years: seek maximum learning and push yourself hard. Mid-career as a senior/staff engineer: seek roles to make an outsized impact in, perhaps at a smaller company. In leadership roles: teach and coach others, and bring them along with you. Developer experience at Uber with Gautam Korlam (00:00) Intro (05:32) Getting into tech (16:09) The dot-com bust (20âŚ
Send this story to anyone â or drop the embed into a blog post, Substack, Notion page. Every play sends rev-share back to The Pragmatic Engineer.