Thuan Pham: Engineering in uncharted territory


June 6, 2016 | Audrey Resutek, MIT EECS

Uber’s CTO on the company’s astronomical growth, his management style, and love of technology.

Thuan Pham

Photo courtesy of Uber.

Thuan Pham ’90, SM ’91, has come a long way since fleeing Vietnam in a boat with his mother and younger brother. In 1979, when he was 11 years old, the Uber Chief Technology Officer and his family were part of the wave of refugees that poured out of the country after the end of the Vietnam War, following the Chinese invasion of Vietnam and conflict with Cambodia.

Guided by a lifelong love of technology, he has gone from refugee to the head of the engineering team behind Uber, one of the fastest growing companies in history. Since its launch in San Francisco in 2011, the ride-hailing company has expanded into nearly 400 cities worldwide, and is valued by investors at over $60 billion. Known for his friendly approach to building an engineering team and dropping unnecessary formalities, Thuan prefers to go by his first name.

“The thing I love the most about my job is the endless creativity that goes into making software and building the system every day,” the 6-3 (computer science) major says. “There are all kinds of challenges—technology challenges, how to build infrastructure and features faster—and I get to work with an amazing set of engineering team members here at Uber.”

Thuan and his family came to the US after spending months in refugee camps in Malaysia and Indonesia, finally settling in a Maryland suburb outside of Washington, D.C. As a teenager in the early 1980s, he got his first taste of programming when a classmate’s family brought home an early IBM PC. He and his friend would spend hours on the computer, at first playing games, and eventually writing their own software. Thuan quickly realized that he had an affinity for algorithmic thinking.

“I always liked to make the computer do what I wanted it to do. I don’t like doing the same thing twice, and I definitely hated doing the same thing 3 or 4 times. I love to bend the computer to my will; write instructions, build a program, and make it do exactly what I want to do, only a gazillion times faster than I can do it by hand.”

Despite his early talent with computers, as a freshman at MIT Thuan considered declaring a major in AeroAstro/avionics. He had always loved airplanes, and dreamed of working in the aerospace industry. To this day he still reads everything he can about planes and rockets, and is fascinated by SpaceX’s Falcon 9 Rocket, which can land vertically on a launch pad.

His mother, however, sensed that the precocious programmer’s true calling might be in computer science. She steered her son toward computer science, saying that he could always work on airplanes with a computer science degree.

“I said, ‘ok, let me try this.’ I went into computer science and I never looked back,” he says. “She definitely was right. You can quote me on that. I’ll send this to her. Yes mom, you were right.”

Thuan especially loved coursework that gave him the opportunity to build things. His favorite course by far was 6.111 (Introductory Digital Systems Laboratory), where students build computers from the ground up. He loved the course so much that he spent several semesters as the lab TA for the course, and even served as the full TA when he was a 6-A graduate student.

Unprecedented growth at Uber

Thuan joined Uber in 2013, which he describes as a “developer’s dream playground.” There are many moving parts under the hood of the tech giant’s front-facing mobile app and website, from the infrastructure that estimates demand and supply positioning, to dynamic pricing, and logistics modeling. All of these parts must work together seamlessly to create a reliable user experience, which is no small challenge.

Thuan is keenly aware of how many people around the world rely on Uber for transportation, and the need to prevent any would-be disruptions to service. He says the biggest challenge he faces is anticipating what kinds of problems will come up as Uber grows, and addressing them before they cause growing pains.

“At a company like Uber where growth is unprecedented and our impact is so vast, we are always in uncharted territory. So the thing we do here, not just me but everyone in the company, we have to be truth-seeking and learn on the job as fast as we possibly can. We keep our minds open, we challenge every assumption, we debate on ideas vigorously to make sure the best idea wins and that the best decision gets made.”

In a recent example of this mentality, the company launched a “bug bounty” program to reward independent researchers for finding hackable bugs in its apps and websites. Researchers receive up to $10,000 for reporting bugs that could, for example, allow malicious users to take over Uber accounts. In a twist on similar programs run by other tech firms, the program is designed to encourage repeat finds in an attempt to encourage researchers to take a deep dive into Uber’s code.

“What I’m most proud of at Uber is that we’ve managed to grow—the company, its impact—against all odds,” Thuan says. “When you do something like this, this bold, this fast, this big, lots of things can trip you up. We face lots of challenges every single day around the world and we’ve managed to keep doing this.”

Accomplishing really big things

Thuan has a reputation as a cool boss, a style he says he learned early in his career, as a 6-A student. The 6-A program pairs EECS students with industry partners, starting as undergraduates and continuing through their 5th year Masters of Engineering thesis work.

During his internship at HP Labs, Thuan worked on developing intelligent program environments, precursors to today’s software development environments (SDEs). On the weekends, his manager, Jim Ambras, would take him mountain biking and windsurfing around the Bay Area.

“Jim was a friend and mentor to me as well as a boss. That actually was one of the pivotal moments of my career, where I learned that style of management; and that has deeply influenced my management style later in my career.”

Thuan says his approach to building healthy engineering teams is to adopt a structured, yet friendly, service-oriented management style rather than a mercurial or top-down approach.

He pairs this style with a bit of advice for aspiring software engineers: do what you love.

“If you look at everyone here at Uber, the work is intense. The day is sometimes very long, but if you love what you do, then work doesn’t feel like work,” he says. “If you go to work with a passion, with a purpose, and you get to work with amazing colleagues, then you will really enjoy the work. And as a result, you get to accomplish really really big things.