đźš— From Eng to Product Management at a Self-Driving Company
I’m Sudhanshu Mishra. I graduated from MIT in 2018 with a Bachelor’s in CS and a Master’s in AI. I joined Uber as an Associate Product Manager (APM) in August 2018. In this series, I chronicle my journey in product management (PM). I talk about my experience in Uber’s APM program, detail my transition from Eng to PM, share surprising lessons I learned along the way, and finally, offer tips on how to crack the PM interview.
If you’d like to stay updated on the next stories or have any feedback for me, please let me know here. I’d deeply appreciate it!
This article is part two of four.
TL;DR
I interned at Uber as a software engineer during its most tumultuous times: the summer of 2017. The press had denounced Uber as morally corrupt. The company was embroiled in boardroom drama. Despite the turmoil, I ended up enjoying my experience. My colleagues were passionate and principled. Uber’s audacious ventures, from self-driving cars to flying taxis, were awe-inspiring. I even got a special opportunity to meet with Thuan Pham, the then CTO for career advice. There was just one problem: I didn’t enjoy what I was actually there for — my work. As a software engineer at a large company, I felt far removed from the user and underwhelmed by my project’s scope. By a twist of fate, the chaos inside the company led to my first project in product management.
As a product manager, I felt empowered to obsess over the user and the product. With dreams of founding my own company one day, I also thrived on the cross-functional and entrepreneurial nature of my work. That summer, I received a full-time offer to return as an engineer. I was eager to return — but as a product manager.
The Story
“Now that Uber doesn’t have a CEO, COO, CMO, or CFO, this is the closest it has ever been to a self-driving company” — Twitter (June, 2017)
During my junior year of college, I accepted an offer from Uber for a summer internship in software engineering. I couldn’t have been more excited. Uber solved a problem I cared deeply about: commuting in a crowded city. Growing up in Bangalore, I played basketball competitively and had to attend practice several times a week. Ironically, I found my commutes to practice far more exhausting than the practice itself.
Inching along the city’s jam-packed streets was draining; even finding a ride was a constant struggle. I was too young to drive, lived too far away to cycle, and felt too claustrophobic to bus. Taking auto-rickshaws was my only option. Alas, that too came with its own set of challenges. One evening, I needed a ride back home. After haggling with several cold-hearted drivers, I managed to settle on a fare with one. At the end of the trip, I stepped out of the rikshaw and pulled out some cash. The driver snatched it all and floored the gas. That was the day I lost faith in humanity and more importantly, Rs. 1,000 of my allowance. It took years—and several therapeutic rides on Uber — to restore the former. I am yet to recover from the shock of losing the latter.
The months leading up to my internship dampened my spirits.
In January 2017, Uber suffered from the #DeleteUber movement. In February, Susan Fowler published her heroic blog about Uber’s sexist culture. In March, the New York Times alleged that Uber had built tools to deceive regulators. The company seemed toxic. I started to regret my decision. I feared my internship would not only be dysfunctional but would also tarnish my reputation. Unfortunately, it was too late to start recruiting again. I braced myself for the summer.
My internship began in San Francisco in June 2017. It was only fitting that I used my free Uber credits, the best perk of the job, on my first commute to work. Ironically, my Uber couldn’t actually drop me in front of Uber’s headquarters; the city’s parking laws happened to prohibit it. I got off around the block and walked over to the building. I was immediately taken aback.
Formerly a military-grade bank vault, the building looked like a concrete fortress, tall and imposing. Two hulky security guards manned its entrance. Its sinister look bled indoors as well. There was little sunshine. The walls were lined with shiny black glass. The rooms glowed with blinding white lights. I felt like I was inside an evil spaceship. I came across a staircase that curled down intricately from the floor above. Its frame fell shy of the ground by a sliver. I was told that Travis Kalanick, Uber’s founder, wanted the elevation to symbolize the company's spirit — to always strive higher. But as per legend, the building vetoed the staircase, so Travis masqueraded it as a “hanging art installation” instead. My concerns were proving true.
I started at a time of chaos.
During my first week as a Nuber i.e. a new hire at Uber, the company called a historic town hall meeting to address its organizational failures. Four board members walked on stage to announce sweeping reforms. I knew they meant business when they rescheduled dinner from 8:15 pm to 7 pm.
But then, something bizarre happened. During this meeting that was meant to change Uber’s misogynistic culture, David Bonderman, a billionaire board member, made a sexist remark to Arianna Huffington, another board member, in front of the entire company. He told her the more women there are on the board, the more talking there will be. Within hours, he was rightfully forced to resign. A few days later, Travis Kalanick left the company as well. With a management team that had more holes than a spoked wheel, Uber was the closest it had ever been to a self-driving company.
Fortunately, not all was dire. I matched with the Uber Pool team (pun intended). Contrary to the media’s dark depictions, my teammates were warm and passionate. I instantly bonded with my manager over our time at MIT and our love for chess. It was heartening to see Uber’s cultural problems weren’t systemic.
That summer, I was responsible for making Uber Pool more efficient. Or as my manager would say, “for putting more butts in seats.” Uber Pool launched in 2014 with a simple idea: What if multiple riders could match to the same trip? It would enable lower fares for riders and higher earnings for drivers. At the time of my internship, Uber Pool would pick you up from your door and drop you off exactly at your destination. The end-to-end service resulted in long detours that were painful for drivers and economically inefficient for Uber. My team’s hypothesis was that we could fix both problems by encouraging riders to walk to convenient pickup and dropoff hotspots. My job was to write backend software that would assign riders to these hotspots.
While my project consumed most of my days, I spent my spare time learning about Uber’s other ventures. I set up coffee chats with leaders across the company. I met with Jonathan Hall, Uber’s Chief Economist. He spoke about how his team made the case for surge pricing using trip data from an Ariana Grande concert. I met with Nikhil Goel, Head of Product of Uber Elevate. He showed me Virtual Reality teasers of flying taxis and drone-delivered burgers. I even got a special opportunity to sit down with Thuan Pham, an MIT alum and Uber’s then CTO. He shared pearls of wisdom on making the most of internships (penned in a blog post here).
“At the end of the day, the moment you walk away from a job, nobody will remember how flawless your code was. Things that people always remember is how kind you are to them, how you helped them in their career.” — Thuan Pham.
My conversations were eye-opening. They gave me the opportunity to look behind the veil of the media and judge Uber for myself. I found a mission-driven company turning around under the leadership of many generous people. My apprehensions about Uber started melting away.
There was just one problem.
I didn’t enjoy what I was actually there for — my work. As a software engineer at a large company, I felt far removed from the user and underwhelmed by my project’s scope.
At first, I was #SuperPumped to work as an engineer. Having last interned as an engineer during my freshman summer at the New York Times, I was eager to learn how world-class products are built in Silicon Valley. Uber’s onboarding program aka Engucation was the perfect crash-course. I studied Uber’s microservice architecture, which powers millions of trips each day with low latency and near-perfect reliability. I also practiced the basics of writing production-quality software: tracking tasks on Jira, reviewing code in Phabricator, and managing builds in uDeploy. Finally, I earned my developer privileges by passing a set of coding challenges. I was ready to start building.
Unfortunately, once the novelty wore off, I grew bored of my day-to-day. To assign riders to hotspots, I had to stitch together data from disparate sources. I spent more time hunting for code than I did writing. Next, I had to stream this data using Apache Kafka and store it in a Cassandra database. Neither task required out-of-the-box thinking. I combed through tedious API documentation and trial-and-errored my way to a solution. Lastly, I had to write an optimization algorithm that used the data in Cassandra to assign riders to hotspots in real-time. The finish was satisfying but short-lived.
It’s not that I disliked coding. I just didn’t get to work on what I enjoyed the most. With dreams of founding my own company one day, I thrived on understanding people and solving their problems creatively. While my role at Uber gave me the autonomy to decide how I should build my features, I didn’t have much say in what I should build or why. This was a function of working at a large company. Roles were specialized. Consequently, Engineering and Product decisions were narrow and divorced. The job at Uber just wasn’t for me. I had more fun building my tower of wtrmln wtr.
Halfway in, the chaos finally trickled down to my team.
Several of the company’s leaders left and new ones were ushered in. A new Director of Product took charge of Uber Pool. On reviewing our roadmap, he decided it was time for a hard reset. True to Uber’s value of taking #BigBoldBets, he challenged us to reimagine what the most efficient version of Uber Pool could look like. He asked my team’s product manager to translate this goal into a new product.
She came back to him with Express Pool. Riders would wait two minutes before matching with a trip, walk to a pickup spot, and then get dropped off at a spot near their destination. I noticed that she got to shape every step of the product development process, from inception to launch. She got the ball rolling with a teamwide brainstorm. Then, she explored our early intuitions through user interviews. They led her to a key insight: At the right price, Uber Pool users were not only willing to walk more but also wait more for their ride. She defined an MVP for engineers, mocked-up a new UX with designers, and launched an experiment with data scientists. Along the way, she met regularly with the company’s leaders for feedback. Her job seemed awesome.
I broke into PM fortuitously.
Just as one rips off a bandaid quickly to limit the pain, I raced through my project as fast as possible to break the monotony. I managed to complete my project a few weeks early. Because of the sweeping changes to our team’s roadmap, my manager didn’t have an obvious final assignment for me. He suggested I choose one myself. I came back to him with a seemingly blasphemous request — I wanted to try PM. He was baffled. There was nothing to envy about a role with endless meetings, emails, and presentations, he said. But I insisted. He was kind enough to float the idea by my team’s product manager.
She graciously carved out a small but impactful project for me: Defining the growth strategy for Express Pool. Drawing inspiration from viral products like Gmail, Dropbox, and Slack, I worked with a broad group of stakeholders to define and ship features that could drive user adoption. As my manager had foreseen, there were indeed many meetings, emails, and presentations. Nevertheless, I loved the role. I enjoyed obsessing over the user and the product. I was drawn to the cross-functional and scrappy nature of my work. I felt empowered to make consequential decisions. My days passed by noticeably faster.
During the final week of my internship, I received an offer from Uber to return full-time as an engineer. Coming in, I could’ve sworn I wasn’t going to take it. And I was right. Reinvigorated by Uber and my final project, I was eager to return — but as a product manager. For new grads like me, the only ticket to the coveted role was Uber’s APM program. The program ran its own application process and only hired ten APMs each year from over 3,000 candidates. Neither my return offer in Engineering nor my project in PM was going to help my odds. If that wasn’t scary enough, I also learned a fun piece of trivia: No engineering intern at Uber had ever converted to its APM program. I had my work cut out for me.
Interning at Uber the self-driving company was chaotic. Luckily, it also meant the steering wheel was up for grabs. With a bit of luck and initiative, I broke into PM.
Thanks to Tyson Chen, Arjun Gandhi, Manu Hegdekatte, Ahilya Mehta, Weber Gaowen, Apurva Shrivastava, Agni, and Prapti Mishra for reading drafts of this.