Ryan Peterman
The perfectionism and individual coding control that propel engineers to senior rank actively sabotage their ability to reach principal scope.
AI-assisted summary of Microsoft Distinguished Eng: His Principal Engineer Promotion Story | David Fowler — original source. Check the original for full context.
Source published:
Key ideas
- David Fowler was selected alongside one principal engineer to lead the architecture of .NET Core while still a senior engineer, directing roughly 30 engineers to rebuild the runtime, package manager, and base libraries from scratch. (0:00)
- Reviewing every single pull request across the new project pushed Fowler into severe exhaustion within 12 months, forcing him to shift from micromanagement to architectural trust and delegation. (0:00)
- The transition from senior to principal hinges on scaling impact through others rather than personal output, as Fowler notes that engineers 'aren't going to type harder and make a bigger impact.' (3:09)
Detailed notes
## Background Published on YouTube by Ryan Peterman on October 21, 2026, this video excerpt features Microsoft Distinguished Engineer David Fowler discussing his career journey across 11 promotions over 17 years at Microsoft. The discussion centers on the pivotal lessons Fowler learned during his promotion from Senior to Principal Engineer while helping architect .NET Core, as well as general advice for navigating software engineering growth at large companies.
## TL;DR After receiving discouraging feedback that his career trajectory would stall after making senior engineer, David Fowler was chosen to co-architect the ambitious .NET Core reboot across a team of thirty engineers. He quickly faced severe burnout from trying to micromanage every design detail and code review, forcing him to recognize that individual coding velocity does not scale to larger organizations. By shifting his focus from personal perfectionism to delegating tasks, mentoring junior colleagues, and triaging urgency, Fowler amplified his team's output rather than acting as a bottleneck. This operational and psychological transition enabled the foundation of .NET Core and earned him his promotion to Principal Engineer.
## Atmosphere & style The conversation has a candid, reflective, and grounded tone, free of corporate buzzwords or self-congratulation. Fowler shares his missteps with disarming humility, recalling the exhaustion of trying to out-code his team before realizing that sheer typing speed cannot produce organizational impact. Listening to the exchange feels like sitting in on an intimate mentoring session between engineering peers, charting an emotional arc from overstretched anxiety to mature leadership clarity.
## Bulletin - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) David Fowler was selected alongside one principal engineer to lead the architecture of .NET Core while still a senior engineer, directing roughly 30 engineers to rebuild the runtime, package manager, and base libraries from scratch. - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Reviewing every single pull request across the new project pushed Fowler into severe exhaustion within 12 months, forcing him to shift from micromanagement to architectural trust and delegation. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) The transition from senior to principal hinges on scaling impact through others rather than personal output, as Fowler notes that engineers 'aren't going to type harder and make a bigger impact.'
## Key takeaways - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Upon reaching senior engineer, Fowler was cautioned by his manager to expect promotions to stall, an assumption he defied by focusing on high-impact projects. - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Fowler built his early reputation working on SignalR and co-creating Kudu, an early Azure engine inspired by Heroku's git-push deployment workflow. - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Microsoft leadership tapped Fowler to architect .NET Core despite his senior title, giving the team wide creative freedom to rebuild the ecosystem from scratch. - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Attempting to personally review every pull request for a 30-person team created a bottleneck and led to severe burnout during his first year on .NET Core. - [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) Fowler's promotion to principal engineer coincided with the birth of his first child and the successful first year of the .NET Core initiative. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) Senior engineers frequently fall into the trap of self-reliance because implementing features directly often feels faster than teaching junior engineers. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) Delegating tasks to junior engineers should be treated as an investment in team capacity that yields significantly higher long-term compounding output. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) To sustainably manage large teams, senior technical leaders must stop treating every code imperfection or missing test as an immediate emergency. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) The individual control, perfectionism, and brute-force execution that propel engineers to senior levels actively hinder their progression to principal and distinguished tiers. - [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) Operating at principal or distinguished scale requires influencing through 1:1 mentorship and solid foundations rather than trying to out-code the organization.
## Detailed walkthrough ### [00:00](https://www.youtube.com/watch?v=a2G58axJZOc&t=0s) The Road to Principal and the Birth of .NET Core
When David Fowler was promoted to senior engineer at Microsoft, his manager at the time gave him an unexpected buzzkill rather than pure congratulations. Sitting down in that meeting, thrilled about the milestone, Fowler was told plainly that his promotions would slow down from that point forward and that he should not expect rapid progression anymore. Fowler did not take the discouraging advice to heart, but he recognized that jumping to principal was indeed a massive leap. During that era, Fowler had been working on SignalR and had collaborated with an architect to develop Kudu—an early Azure engine inspired by Heroku and AppHarbor that enabled developers to deploy applications instantly via git push. While deep in that work, Fowler's director pulled him aside to reassign him based on his proven track record, asking him to step onto an unannounced project despite Fowler's initial desire to finish what he was already building.
That new initiative became.NET Core, an ambitious, cross-platform, modern reboot of the entire.NET ecosystem. The sheer scale was both thrilling and intimidating: Fowler, still a senior engineer, was chosen alongside one principal engineer to serve as the project's lead architects, overseeing roughly thirty engineers with total creative freedom to build what they felt was right. Lacking previous experience directing a team of that size, Fowler initially fell into the trap of trying to personally code review every single pull request across the codebase. That bottleneck led to severe exhaustion within twelve months. He realized he had to learn how to triage urgency, establish architectural trust, and let go of micro-oversight. That foundational first year of designing and building.NET Core culminated in two major life milestones: the birth of his first child and his promotion to principal engineer.
```mermaid flowchart TD accTitle: Evolution to Principal Engineer accDescr: Progression from SignalR and Kudu to architecting.NET Core and scaling engineering practices.
subgraph EarlyWork["Early Foundation"] A["SignalR Development"] B["Kudu (Azure Git Deployments)"] end
subgraph Transition[".NET Core Inception"] C["Director Pulls Fowler to New Project"] D["Senior + Principal tapped as Lead Architects"] end
subgraph BottleneckBreakthrough["Scaling Throughput"] E["Initial Burnout: Reviewing Every PR"] F["Triage Urgency & Delegate"] G["Promotion to Principal Engineer"] end
EarlyWork --> C C --> D D --> E E --> F F --> G ```
- Fowler was warned by his manager upon making senior: “I sat down and I got this I got I got the promotion. I was really happy. he kind of gave me this downer like don't expect more promotions like from here because you know I was like what does that mean?” - Heroku popularized git-push deployments, which was mirrored in the.NET ecosystem by AppHarbor and subsequently built for Azure as Kudu. - Fowler and one principal engineer served as architects for roughly 30 engineers on.NET Core. - The promotion to principal arrived the same year Fowler welcomed his first child and navigated the first year of architecting.NET Core.
---
[03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) Shifting from Individual Execution to Team Amplification
Managing the architectural load of thirty engineers forced Fowler to confront how he delegated work. He had caught an early glimpse of delegation on the smaller SignalR team, which consisted of seven or eight engineers, product managers, and technicians, including two new college hires. Fowler’s initial senior engineer instinct had always been self-reliance—assuming that because he could implement features faster himself, handing tasks to junior engineers was inefficient. Over time, he realized that giving work to others is an investment in their growth; while junior developers take longer in the short term, leveling them up amplifies the entire team’s long-term output. This mindset shift—measuring success by team outcomes rather than personal lines of code—became the foundation that allowed him to survive and steer.NET Core, where the team was rebuilding the runtime, package manager, and base libraries from scratch.
To prevent recurring burnout on.NET Core, Fowler stopped treating every change as an emergency. He resisted the urge to block pull requests over imperfect interfaces or incomplete test suites, forcing himself to give engineers room to make mistakes. He observes that the exact traits that push an engineer from mid-level to senior—such as perfectionism, extreme control over code execution, and brute-force individual problem-solving—actively sabotage an engineer's ability to operate at staff, principal, or distinguished scope. Inspiring hundreds or thousands of engineers requires using 1:1 mentorship, setting solid foundations, and leading by example rather than attempting to out-code the organization.
- On the psychological shift required to become a principal engineer, Fowler explains: “I think the leap from senior to principal feels like being able to to do more through others than yourself and it's it's where I think a lot of people end up plateauing because software engineers are very like you know we want to we want to we like coding we want to be alone we want to build the things ourselves software engineering is a collaborative event it's like we want to figure out how to get the customer feedback figure out what to build figure out how to build it the best way and I think that change in in my brain prepared me for like on core because it was such such bigger scale like how do you even begin to manage that many people that that many facets we we rebuilt everything from scratch like we literally rebuilt the package manager the runtime the libraries like everything from the get-go and it was overwhelming at first”. - On the limits of personal output at scale, Fowler stresses: “Being a control freak, being someone who like is amazing at their job, getting stuff done in a very specific way doesn't really help you when you want to appeal to a thousand engineers.” - As Fowler summarizes the scaling trap: “You aren't going to type harder and make a bigger impact.”
## Notable quotes > [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) You aren't going to type harder and make a bigger impact. — David Fowler
> [03:09](https://www.youtube.com/watch?v=a2G58axJZOc&t=189s) Being a control freak, being someone who like is amazing at their job, getting stuff done in a very specific way doesn't really help you when you want to appeal to a thousand engineers. — David Fowler
## Mentioned David Fowler, Ryan Peterman, Microsoft, .NET, .NET Core, SignalR, Kudu, Azure, Heroku, AppHarbor, Git
## Video description David Fowler went from an intern to a Distinguished Engineer at Microsoft. That’s 11 different promotions all at the same company. I asked him about everything he learned by going through that process. We cover his full career story and go over general advice he has for software engineers. I was also curious to ask him about Microsoft culture and big company tips he has since he's been there for over 17 years.
Watch the full conversation: https://www.youtube.com/watch?v=d8tRM8RJ52M
[Source](https://www.youtube.com/watch?v=a2G58axJZOc)