This as-told-to essay is based on a conversation with Madan Thangavelu, a 39-year-old senior director of engineering at Uber from Mountain View, California. It’s been edited for length and clarity.
I advanced from software engineer to senior director in just six years. From what I’ve seen in Big Tech, many middle managers plateau before they make it this far, this fast.
After two software engineering roles at smaller companies, I joined Uber as a senior software engineer in October 2014.
Two years later, I was identified as a potential for the management track and given additional responsibilities to learn, without a title change. I oversaw execution tracking and scoping, mentoring, project updates, and more.
In March 2017, I transitioned to the first level of management at Uber, leading a team of five engineers in a single location. A year later, I was promoted to the second level of management.
I became a senior manager in September 2019
I led a team of 59 engineers in three locations. I was next promoted to director of engineering and, by 2022, I led a team of 165 engineers across four locations.
I advanced to my current position as senior director of engineering in March 2023. I lead the Rider app and fulfillment platform — the real-time orchestration engine that determines how every rider request is matched, priced, dispatched, and completed.
I now lead 530 engineers in seven locations, and I make three times what I made when I started here.
Transitioning from individual contributor to management wasn’t a decision I took lightly
I took the time to understand what management entailed to see if this was a path I wanted to commit to long-term.
I realized that while I’m deeply technical, my ability to guide teams could have a broader impact, and I deliberately chose to walk the management path. My decision was rooted in my belief that I could have more impact by helping others while staying close to the technology.
Here’s my three-step strategy for success at moving into and beyond middle management.
1. I didn’t wait to be asked to be a manager — I proactively identified problems
I demonstrated the skills needed to be a manager by taking initiative even when it wasn’t in my official scope — helping to manage projects, mentor engineers, support teammates, and align teams around goals.
I didn’t do those things with the goal of becoming a manager; in fact, I was surprised when I was asked to step up. I performed those because it was second nature for me. As a senior engineer, when you do large-scale projects, other engineers collaborate with you. You can choose to delegate management-related duties to your manager or do them yourself. I chose to do them myself to ensure the success of the project.
The key was to be proactive about finding and solving problems. Throughout my career, I consistently sought meaningful problems to solve rather than waiting to be assigned them.
An example occurred when I took over management of a team: I encountered a system that was falling short, leading to weekly incidents and lost revenue. I made a clear commitment to the team that we would make it defect-free within two months. I simplified the architecture while preserving its functionality. Years later, that system continues to operate without incident.
2. I found managers who offered mutual trust and support
I didn’t switch teams or move managers. Instead, I took the time to educate my managers on the technical and business strategies I was pursuing. I also understood my managers’ goals and strategy. Getting to know our mutual goals and aligning them strengthens the trust and support management offers.
I’ve experienced firsthand how effective management support can significantly impact growth and learning. At times, my progress has plateaued due to misalignment, while at other times, supportive managers have helped accelerate my trajectory.
My teams often bring forward ideas that may not perfectly align with our current processes. I’ve learned that supporting this mindset is essential to fostering innovation as a manager, as I’ve had supportive managers around me at different points in my career.
Recently, I pitched a platform, and my managers were extremely supportive and trusted my instincts. When the prediction came true, and the solution developed proved robust, I was asked to take on additional leadership responsibilities.
3. I paid attention to timing, aligning my suggested solutions for momentum
One of the biggest lessons that helped me move up as a manager is the importance of timing when bringing forward big, ambitious bets.
Raise them too late, and you’ll look unprepared for the business’s needs. Raise them too early, and your ideas won’t gain much support. I learned to seek win-win partnerships and align my proposed solutions with the company’s key moments.
Even great ideas can fail if the timing isn’t right. Identifying the right solution at the right moment is what sets leaders apart and helps you move up in your career as a manager.

