Intern to Microsoft Distinguished Engineer in 11 Promotions (Career Story)

5 Sep 2025 · 1 h 33 min · 36 chapters

Ask about this episode

Ask anything about it. ChatGPT or Claude reads this page and answers with the times it was said.

Connect VO and ask about every podcast you hear, including the moments you saved. Add to ChatGPT · Add to Claude

In short

David Fowler’s career at Microsoft, including how he went from intern to Distinguished Engineer in 11 promotions, plus Microsoft leveling mechanics, how Satya’s CEO tenure changed culture, and what drives permissionless agency and company-wide impact.

Guest backgrounds

David Fowler is from Barbados and studied at Florida Tech (computer engineering then computer science). He interned at Microsoft in 2006 and 2007, then stayed for 17+ years. He became a principal architect for ASP.NET Core and later a Distinguished Engineer (final partner level), working on major .NET and web platform efforts.

Key claims

Microsoft’s leveling uses level bands (titles don’t reveal exact notch), and higher jumps (e.g., senior→principal) require repeated, compounding impact rather than one-off wins. Agency comes from building prototypes and solving real problems first (“code is currency”), then using credibility to earn more opportunities. Distinguished Engineer is a peer-reviewed, technical-leadership process requiring company-wide and industry-level impact.

Notable examples

NuGet’s founding team (first engineer with architect David Ebo and Phil Hack) after meetings comparing package ecosystems (Rails/gems, WordPress/Drupal). SignalR, inspired by Google Docs-style co-editing and real-time web patterns; built via nights/weekends and later open-sourced. .NET Core rewrite: he helped architect at large scale (dozens of engineers), learning to delegate, trust, and focus on outcomes.

Written by AI. May contain mistakes. Listen to the episode to check what was said.

Chapters

Tap a time to open that second in VO

Understanding Microsoft's Unique Leveling System

0:48 to 1:50

David explains Microsoft's leveling system from intern to distinguished engineer.

“Can you explain the Microsoft leveling system a little bit?”

David's Path to Microsoft: A Story of Opportunity

1:50 to 5:50

Discover how David secured his internship at Microsoft and his experiences as an intern.

“In Microsoft, there are things called level bands.”

Memorable Moments: Interns at Bill Gates' House

5:50 to 7:12

David shares stories about the iconic visit to Bill Gates' home as an intern.

“Coming from a small country, going to a big company, experiencing big campus, big technology, talking to people who were really, really, really smart, absorbing information.”

Interview Process Insights: The Microsoft Experience

7:12 to 9:46

Insights into the interview process at Microsoft and the types of questions asked.

“When you interviewed for Microsoft at the time in 2006, was there a leak code or what did the process look like at the time?”

Building a Career: The Rise Beyond Internships

9:46 to 13:58

David discusses his rapid career growth and pivotal projects at Microsoft.

“But these puzzles, it sounds like LeakCode is better than these puzzles, actually.”

Early Career Insights and Promotions

14:01 to 16:20

Learn how early performance reviews and energy influenced career growth.

“I was very, I mean, maybe I'm still the same way.”

The Birth of SignalR

16:21 to 19:09

Discover the journey of creating SignalR and its significance for developers.

“You mentioned some other larger projects.”

Motivation Behind Innovation

19:10 to 21:44

Understand the motivations and challenges faced while innovating at Microsoft.

“What made you pull the weekends and the late nights to build this thing that seems like it was outside of Microsoft?”

Agency and Career Growth

21:45 to 24:29

Explore how personal agency and building a reputation can enhance opportunities.

“So on my team, there was an architect, David Evo, and his job seemed really cool.”

Promotions and Major Projects

24:30 to 28:01

Learn about the pivotal projects and experiences that led to significant promotions.

“Um, a lot of opportunity comes your way when, when I think you have a good rep for building stuff.”
Show all 36 chapters

Learning to Scale as a Principal Engineer

28:01 to 28:48

Discover how trusting team members and delegating tasks is essential for scaling in engineering roles.

The Shift from Individual Contributor to Architect

28:49 to 30:57

Understand the transition from coding alone to overseeing architecture at a larger scale.

“year of.NET Core design and building it.”

Defining the Role of an Architect at Microsoft

30:58 to 34:20

Learn what it means to be an architect at Microsoft and the balance between breadth and depth in engineering.

“So it's like, I shifted my brand to be outcome focused.”

The Evolution of a Distinguished Engineer

34:21 to 37:08

Explore the journey to becoming a Distinguished Engineer, including contributions and peer reviews.

“So as you've grown to distinguish the engineer at Microsoft, how has the percent of your time that you spend writing code changed?”

Navigating Expectations and Imposter Syndrome

37:09 to 42:06

Discover how to handle the pressures and expectations that come with a high-level engineering role.

“When you got the promotion to distinguished engineer, What's the story behind that?”

The Journey to Distinguished Engineer

42:06 to 44:50

Learn about the journey and impact of becoming a Distinguished Engineer at Microsoft.

The Value of Mentorship

44:51 to 46:09

Discover how impactful mentorship can guide career advancement and technical growth.

“Well, for instance, I guess the thing that I'm curious about is at a lot of companies, when you get promoted to a certain level, you get added to special forums that only distinguished engineers have access.”

Amplifying Strengths Over Weaknesses

46:10 to 49:00

Understand the importance of focusing on strengths to achieve success in your career.

“And he was one of the best mentors that I've had.”

Admiring Engineering Greatness

49:01 to 53:06

Explore what makes certain engineers impressive and the lessons they impart.

“So as an example, if I form a team, I am not the one that's going to schedule meetings or I am not going to go through every detail of how we ship and all the checklists.”

The Need for Practical Software Engineering Education

53:07 to 56:05

Learn about the gap between computer science and practical software engineering skills.

“So I think the first one is talking about university courses.”

The Importance of Debugging Skills

56:05 to 58:06

Learn why debugging is a critical skill in software engineering.

“That is, how do you even think through debugging issues?”

Real-World Problem Solving in Engineering

58:07 to 1:00:03

Discover a fascinating story about debugging a site outage.

“I have the highest respect for engineers who can be thrown into a problem situation where they don't know the code base super well.”

Understanding Stack Depth and Mistakes

1:00:04 to 1:02:00

Explore the implications of working at different levels of the technology stack.

“The things that we change that break services are absolutely unheard of.”

Promotions and Imposter Syndrome

1:02:02 to 1:04:16

Discuss the connection between promotions and feelings of inadequacy among engineers.

“It was not just about like getting the highest grade or being smart.”

Navigating Reorganizations in Big Companies

1:04:17 to 1:07:44

Learn why understanding company reorgs is crucial for career planning.

Staying at Microsoft: A Personal Journey

1:07:45 to 1:10:03

Hear a personal story about career choices and staying at Microsoft.

“And I think I am part of a generation of millennials who broke the curse of like our boomer parents like trying to stay in the same place forever.”

Deciding Factors for Staying at Microsoft

1:10:03 to 1:13:25

Explore the reasons behind choosing to stay at Microsoft despite other offers.

“But I will say the morning like Twitter went public.”

The Value of Long-Term Projects

1:13:25 to 1:15:40

Understand the significance of long-term projects and their impact on personal growth.

“company, but they weren't in a place where they could do their best work.”

Cultural Shift Under Satya Nadella

1:15:40 to 1:17:47

Learn about the cultural changes at Microsoft since Satya Nadella became CEO.

“One thing I'm curious, because you're so high up at Microsoft at this point, and you've been there for so long, too.”

Collaboration and Communication Changes

1:17:47 to 1:22:06

Discuss how collaboration and communication styles evolved at Microsoft.

“And it's really hard to see the big jumps from where we are now to where we used to be because it literally happened gradually.”

Reflections on Career Regrets

1:22:06 to 1:24:00

Reflect on career regrets and lessons learned regarding arrogance and empathy.

“Am I going to have to shout at some point?”

Self-Awareness in Career Decisions

1:24:00 to 1:25:00

Learn how self-awareness impacts decision-making in a tech career.

Work-Life Balance in Tech

1:25:00 to 1:26:40

Discover the evolving definition of work-life balance in the tech industry.

Intrinsic Motivation and Skill Development

1:26:40 to 1:29:00

Understand the role of intrinsic motivation in skill development for software engineering.

“And maybe it's not true, but I, early in my career, and maybe even though, I wanted to become a very good software engineer, right?”

Advice for New Graduates

1:29:00 to 1:30:00

Learn the importance of negotiating salary for new college graduates entering tech.

“It was just to learn how to build a fighting game.”

Observations on Salary Negotiation

1:30:00 to 1:31:20

Explore experiences and observations on salary negotiation in tech hiring.

“When I got my job, I did not know that I could even negotiate.”
Hear the part that matters, and keep it.Open this episode in VO. Double tap your headphones to save a moment as you listen.
Get VO free

Transcript

Automatic transcript. May contain errors.

0:00It was probably the craziest promotion I've ever experienced. This is David Fowler. He got promoted 11 times from an intern to a distinguished engineer, all at Microsoft, and I asked him about everything he learned along the way. A lot of the things that get you to senior and maybe principal hurt you even further. What are the hidden, unexpected perks of getting promoted to a distinguished engineer? Okay, the coolest part. Also, since he's been at Microsoft for over 17 years, I asked him for his unique perspectives about the company. Did you notice anything internally when Satya became CEO? The culture just changed completely, right?

0:37Before you change roles, ask when the last reorg was. What's the thinking behind that advice? I'm curious what has kept you at Microsoft as long as you've been. Here's the full episode.

0:53first thing i wanted to go over is i think microsoft's leveling system is a little bit unique compared to the other big tech companies i see on levels.fyi that the leveling system goes from 59 to 70 and there's almost two levels per uh title you know two levels per sd1 two levels for SD2, 2 and Senior, and it keeps going on all the way down to Distinguished. Can you explain the Microsoft leveling system a little bit? Yeah, so I can't tell you why it starts at 59. I'm sure someone who's been there longer than me can tell you why it starts at 59. I believe there are levels below that that aren't engineering roles, and that's probably why it has that system.

1:37So when you join from college, you typically start at 59 or 60, depending on how many times you interned, how well you did, there's different things that go into it. But entry is 59. So that's like sweet one at other companies. And then you progress in level. In Microsoft, there are things called level bands. So when you say there's like two levels per title, the title tends to be the band. So you can say like, I am a junior engineer, you could be 59 or 60. So you can't tell from someone's title which which notch they're at um so there's you know 59 60 is sweet one 50 60 one 62 is two and then 62 64 is um senior and then principal is actually three levels i never really sat on a thought about the why is it's done that way i'm sure people that are really smart came up with those levels and weather that way but the like principal level the band is so broad the depth of experience of the people in that band is immense so you could be talking to someone who is like the last level of principal band that's been there forever or someone who just entered the principal band just came from senior and you wouldn't know from looking at their title and then beyond that is like no one knows right it's like Level's Partner that has three bands and then there's beyond partners like technical fellow and extension engineer yep so yeah it's a it's a broad system yeah yeah thanks for laying that out so yeah that's the thing i want to dig into is i mean you went through this entire thing you started all the way as an intern and you've been there for your entire career and you grew all the way to distinguished um so i kind of want to go over that story could you tell me the story behind you joining microsoft yeah so i went to college at florida tech and i'm from barbados i left barbados at like 18 like everyone else that goes to college went to college funny enough i was looking for colleges that had career fairs and i chose one that was closest to like barbados one flight home to the caribbean from florida so that was a really convenient place I got in um funnily enough my first major was computer engineering because I thought I wanted to do software and hardware but in the first class I was like nope not for me I want to code I have been coding since I was like 10 years old so that's what I wanted to do um changed majors to computer science did my first year of programming I thought funny enough I thought people that chose computer science had been doing programming like their whole life and they knew what they wanted to do.

4:24But in the first Java class, like no one knew how to code. And I was like, this is kind of crazy. I thought, I thought this was like a thing that everyone that chose computer science would do before you come here. And that was kind of like being tossed into the pit of computer science, like learning about algorithms. And then after that, I kind of met one of my best friends to this day, still, we still like best friends. And we started to make games. and we have been working on like nights and weekends making games for fun at school and we by the time the first career fair came around there were a bunch of companies that came in to come you know see different students and we thought to ourselves how do we differentiate from other students so we came in with a laptop showing our game demo and we we showed it to all the recruiters um and that first year we got like i think like four offers for internships I got Microsoft, GE, a bunch of other smaller companies in Florida.

5:20My friend went to EA. So we built a game. He went to EA, interviewed there, got interned there. I went to Microsoft. And that's how I got the internship. I showed them the game. We did interviews on campus, did full-time interviews. Before COVID, where it was all in-person whiteboarding, got my internship. And that was kind of like history. I interned twice, 2006 and 2007. It was eye-opening. Coming from a small country, going to a big company, experiencing big campus, big technology, talking to people who were really, really, really smart, absorbing information. It was great. I was part of the last set of interns that got to go to Bill Gates Health.

6:11That was kind of fun. what what was that like going to bill gates's house so historically every intern group at the end of the summer got to go to bill gates house that was really the main event right um in my time at least and you would get picked up in a bus and they would take all your technology they would take away your phones take all your stuff give you instructions you actually park out i at a church and they would take your stuff so you could take pictures you get you know they would tell you like what you can and can't do at the house and then all the interns would just go into his like big really huge mansion um funny story is i recall just standing around talking to interns not paying attention to what was happening and i remember seeing a rush of interns like run towards me and i kind of figure what was going on i turned around he was like he was behind me There's Bill Gates.

7:10I shook his hand. So I spoke to him once. When you interviewed for Microsoft at the time in 2006, was there a leak code or what did the process look like at the time? What kind of things did they ask? There's a book called How Would You Move Mount Fuji? And it's this classic book doing tech interviews. Microsoft created these leak code style puzzles that everyone loved to hit. know like the puzzles that are like why is a man who'll cover round is one of the most famous ones that people would ask you a question when i when i was on campus doing the um interview i'll never forget they they were asking me questions and i had been prepped for coding coding interviews i had been thinking about like coding stuff but i hadn't taken all the classes yet because i was in my first year of university so i hadn't done like all the courses required to learn about all the things right so it was me on my own my friend trying to figure out how to like what how to prep for interviews and they asked me it's so it's so visceral they asked me a palin drum question super easy not not hard i did on paper like with a pencil like working on paper and then they asked me did you ever watch die hard three no there's a scene where bruce willis and sam jackson have to stop a bomb from going off.

8:32And there's water in a fountain. And they have a five-gallon jug and a three-gallon jug. And they have to make exactly four gallons to avoid the disaster. Oh, okay, okay. And I had seen the movie, right? But I couldn't remember the sequence of steps required to get that to work. And in an interview, after the quoting question, they asked me this puzzle. So you have infinite water and you want to make four gallons and you have a three and a five jug. and you have to make exactly four gallons like how do you do it and I sat there and I was like oh my god this is the hard and I figured out but it was it was funny because it to me it was like this is like pre-leak code not even thinking about solving some sorting question or something this was just like puzzles like can you think through puzzles um and the last question was how do you count the number of gas stations in Florida and I sat there and I was like is this a trick question And the guy looks at me, he says no.

9:30And I'm like, what? I don't get the point. I don't get the point of this stuff. And I thought I had done really poorly. But they called me. So I was like, okay, I couldn't have failed it miserably. That's so funny. Because people hate on LeakCode all the time. But these puzzles, it sounds like LeakCode is better than these puzzles, actually. A hundred percent. How is this related to the job? I don't even know if you can prepare for some of these things. Like my last interview, my second last interview when I was when I flew out and was on campus, I got asked, how do I add two numbers in base negative two?

10:07That was my final question. It was just like, what? It's come a long way since this changed a lot. I mean, like some for the better, some for the worse. So going back to the story then, so after you had the internship, say you committed for full time and then you had a pretty quick career growth on the outset. And I see that there are a few pivotal projects that led to the upward trajectory past senior. Kind of want to talk about the story behind those projects. So for instance, maybe we can start with Nougat, which is the package manager. What's the story behind that project? That was interesting because NuGet, I think we're like 10 plus years in now, it's like the package manager for.NET.

10:51It was, when I think about the impact now compared to what it was when it started, it's kind of jarring. Because we started off, we were building a brand new web stack. And we're trying to compete with like the LAMP stack, right? So LAMP was like Linux, Apache, MySQL, PHP. and we were competing with that from a.NET Windows server standpoint whether or not that made sense or not at the time I didn't I didn't think about that stuff like the bosses above me told me we're doing that like let's do it so we built this whole this whole new web stack and Ruby on Rails had come out like concurrently at the same time and Gems was like this huge deal Ruby gems, get gems, get packages, run commands in Rails.

11:36And we had seen that, but there was also a cohort in the company looking at things like WordPress and Drupal, and those have packages too. And I think the consensus was we need to have a package manager to pull in packages so you can extend the platform. And the very first version of NuGet was this in-browser package manager that was like a WordPress thing. And I remember we had this meeting with, who is now an EVP, Scott Guthrie. And it was all about like Rails and gems and we have to compete with the package manager. And there was a product manager who had mocked up in screenshots and PowerPoint and experience.

12:18And it was me working with an architect saying like, we had built something. Like, can we just start from here? And that meeting formed the NuGet team. It was me, I was the first engineer. There was an architect, David Ebo, and Phil Hack. And we were the founding team of NuGet. There were other open source nascent package managers in the ecosystem, OpenRap and Nu. And we had a conversation with some of those people. And we started off this mission to build a package manager for.NET. And so when you were building this, it sounds like it got pretty critical adoption within the.NET platform. Yeah.

13:00What did your performance review look like when you were, you finished building this thing? Was that like a really incredible success for someone who wasn't even a senior engineer yet? Yeah, I got my first promotion came like eight months in when I joined. And even before Newgate, I think my first year was me. I had interned twice, so I had a lot of experience, but just Microsoftness in general. And I would work on the things I was assigned, and then I'd work on more stuff. One of the things I did was I would troll forums looking for feedback for our products, and I would just build features to solve them.

13:41And I just did that over and over and over. And then kind of showed product managers and the team and architects and who turns out were my sponsors, I guess, looking back on how it went. And I think that helped me be in a place where I could be the one to build new Git. I would basically just look for problems to solve and I would attempt to code them first. I was very, I mean, maybe I'm still the same way. I'm a code first, ask questions later kind of person. So my whole thing is code is currency. I can show you a working sample. It's not a PowerPoint. It's not a document. here's a working example of something oh we should start there and then move on something else um so my review for nugget was like i was getting really good reviews early in my career because i would just grab things funnily enough one of my directors at the time told me like maybe five years ago that he would just tell people that david has energy go talk to him maybe that's my Stuff came my way.

14:44You mentioned that NuGet grew way past what you imagined. And I know at some companies, there's this idea of deferred impact where sometimes people continue to get credit for something that they built and is continuing to pay out for the company. Did you see anything like that in your subsequent performance reviews? Yeah, I want to say maybe the bigger ones. the bigger ones felt to me like a conglomeration of history like past success adding up plus success um i think on microsoft in general impact is supposed to be for the year but i think when you're doing these i think there are some things we call them band changes right so when you jump across bands it's a bigger promotion within bands a smaller promotion so if If I go from, you know, 61 to 62, I'm still an SD2, but, you know, it's still worth a promotion.

15:40But when you jump, when you cross the boundary of going from two to senior or senior principal, you require more, more things, more impact to make that leap. And I think, I'm not sure if there's an official deferred impact thing in Microsoft, but I remember that did come into play when I went to higher levels of principle and stuff. Because it was definitely not a one-off, like, oh, you did this one thing this year, you're promoted. It's like, have you been showing repeated impact over the last 10 years? And do we want to keep you going forward, et cetera, et cetera. So I think it did, it did matter.

16:22You mentioned some other larger projects. So maybe we can talk about some of those. So there was a signal, signal error or is it signal? Signal error, yeah. So that came from the naming. The name is the timeframe came from the time of Flickr. Web 2.0, remove ease from the end of things. That's, I don't know why we called it signal error. I mean, we know why. That was a fun project. I had been working on nights and weekends on this project. And it was, funnily enough, like Google Docs came out and I had been like enthralled with the fact that you could co-edit in a document. And I was like, this is just nuts.

17:00And it worked super well concurrently. And I was like, can we do this for code? So I had to start, I went off trying to build Google Docs for code. Could have been rich, but ah, didn't do that. Anyway. And while doing it, I learned about WebSockets, which actually hadn't come out yet. I learned about basically how to build those kinds of apps. and that led to the creation of SignalR. In the meantime, there was a product manager on the team, Damon Edwards, who was also building a talk to describe how to build long-running streaming apps in.NET. So I had seen his talk and I was like, hey, I'm building this thing.

17:37We should collaborate on this new library, right? So that kind of spawned the nights and weekends, what we call on Microsoft, you can moonlight and work on things that are not tied to your work separately, officially. So we had been doing that overnight. We'd just work on this thing until midnight every night. We made it open source. And then people started to use it. And we were like, okay, this is interesting. It's catching, catching on, becoming a thing now. It was still just two of us working on this every now and then. Didn't know what we were doing really, kind of like just building this thing to make it work.

18:13and then at some point a product manager at microsoft on the team said hey we should make this official and that's when that i think that was the first thing i experienced like building a project from scratch previously i had been working on other people's ideas you know someone had a great idea i was a a decent dev i would come in and be like founding engineer this one was like my brainchild so it was very much i we built the prototype built the entire thing from scratch and now i was being given the chance to have a have a team to work on it um i was never a manager but i was the pseudo tech lead so we we hired like kids from college i ended up working on signaler i had we had a team of like eight i think at one point and it was surreal because it was like, okay, there is this random thing that I built like on a weekend and then it kind of turning into this project that's real.

19:12What was the motivation for SignalR? What made you pull the weekends and the late nights to build this thing that seems like it was outside of Microsoft? I hadn't seen anything like it. Okay. Like when, when Google docs came out, it was first of its kind to work that well. And it just felt super new and no one, I hadn't seen apps do that. And it was like, how do we enable more apps to do the same kind of thing? Node.js, like Socket.io and Node were super new and Socket.io had just come out and it was like, oh, that's a really cool way of building these apps that are chat and can send stuff from server to client.

19:54And we just, I think that just drove me because it was like, okay, I hadn't seen people attempt to do this before. Let's push. It's funny, we pushed the boundaries of the technology a bit. We hit limits all over the place in the tech stack that became problems to solve deep in the core platform too. So that was a really good way to learn more about the overall networking stack. And I think the amount of problems we got to tackle maybe made it enthralling for like a dev that like i got nurse knight it was a catnip that this is so interesting because you grew through this project and it was permissionless which is that no one handed it to you there wasn't some manager some pm that came to you and said hey your staff's on this project you just went and you built something and it was so impactful that it actually led to a ton of career growth.

20:51I'm kind of curious, maybe we can, is there some way for us to reverse engineer that for others? Like how, how do you go about starting projects where the motivation comes completely from you within a large company? It's a really good question. If I had to, to boil it down to one sentence, you can just do things and i think the the way people talk about it now is you have agency and it it often seems like you don't like it's really hard to find time and i am not recommending people spend nights and weekends working on all the projects but early in my career i my my main goal was to get better at like software engineering and the way of doing that was to learn everything like build anything you can build games websites like just build a ton of different things and you just gain experience from learning how to build those types of software right um so i think that was ingrained in me from really really early on and then the other thing i did early on in my career was i found someone that i wanted to i found someone on the team that I wanted their career.

22:04So on my team, there was an architect, David Evo, and his job seemed really cool. He got to think about the future. He kind of spanned multiple areas of the product. He got to build the next wave of what was coming next. So I basically attached myself to him and I mimicked his behaviors. And I said to myself, okay, I want that role. Let me make sure I'm seeing what he does that seems to work. And I want to keep doing that. and I would be the coder of his ideas, right, for a while. And that turned into learning how to do it on my own. So I kind of did this gradual thing where I would attach myself to people who were like that.

22:42And then I found myself in that same position. Okay, here's a new thing. I have some insights. Let me try spiking a thing that will work. And then I communicate ideas with code. So I would always build a prototype first and then show someone, show an advocate on the team, show the architect, show the PM and say, is this useful? Is it cool? I saw this issue that a customer was having. I think this solved the problem. Do you think we can turn into something? And I think that pattern of doing that helped me gain insights into what people, what helps people get over the hump of, like, should we build them here or not?

23:23I would build a thousand things and maybe one would hit. it's it's interesting that you say agency i think a lot of people who work at big companies or talk about big companies they feel like it's difficult to have agency they have all these projects that are assigned to them depending on the team culture and it sounds like you had that agency through energy so you were moonlighting you were doing going above and beyond you did your normal stuff but then on top of that you had all this extra agency uh in my understanding that's how you unlocked agency at a big company and i think it afforded me i think once you build a reputation for being able to kind of perform build and build things i think more things come your way i don't want to say like it is easy or it will happen but i think in my case a hundred percent Like when I, when I, the more things I built, the more things I showed people on the team, people would just say things like, Hey David, we're building this new thing.

24:25Like we want to get your tag. We want to get your opinion. Should we work on it? Can you help us build this thing? Um, a lot of opportunity comes your way when, when I think you have a good rep for building stuff. I think further in my career that showed very true for what happened that what happened after Signaler pretty much. you get a lot more of those permissioned opportunities when you have credibility and permissionless agency is uh it's almost this hack to kind of bypass credibility yeah and a funny story i think the funny thing is like you you get a chance to be more permissionless the better your track record is so the more you have the more success you have the more liba you get to fail which gives you space to try more things yeah yeah no that makes sense i've seen that a lot the very high fast growing software engineers they're almost this weapon that management and people around them say we trust you go do that thing that you do and they can go and try all these risky projects i bet if you were someone who was struggling to meet expectations a lot more directed opportunities are being handed to you and you're being monitored so i can totally yeah totally see that so true going to your late stage promos you got the promotion to principal you got the promotion to distinguish that microsoft i'm curious what is the thing that led to the promotion to principal principal was interesting so i had i had one boss I won't say his name.

26:01I had a warm boss who told me when I got the senior that my promos would slow down. And I remember that meeting where I sat down and I got the promotion. I was really happy. He kind of gave me this downer. Like, don't expect more promotions from here because, you know, I was like, what does that mean? And I really took it to heart. But the jump to principle is a big jump. I had been working on SignalR at the time. I built this. Have you ever used Heroku? Heroku, like, pioneered get pushing and deploy your app like instantly right we had built there's a there's a tech call app harbor for for dot net this this company was doing the same thing for dot net and we built a similar thing for azure this is like super early in azure time frame really we had built this like brand new it's actually still there it's called kudu um and i had i had been working with the same architect and i had built it with him um and then at some point in that time frame i got pulled off of that and i think this is one of the places where like your track record helps just get set up for the future opportunities so i had my director tell me hey we have this new thing spinning up and we need you to go work on it and obviously you know you're working on something else you're like man i'm i want to finish what i'm working on but then this thing happens you're like i'll i'll help you with this thing and that ended up being the beginning of the new dot net um dot net core the rewrite those cross-platform and modern and new and it was a big opportunity like so big it was scary at first like oh my gosh like what do you mean you're the architect like and i was senior i was i was it was me it was me and another principal engineer that got chosen to be the architects of this project and i hadn't had an experience working at that scale before because i think you had like 30 engineers that were working on this this project um we had free reign to kind of build whatever we thought was right and that was like both amazing and terrifying um and i think through that project i learned a ton of things like knowing how to i don't want to say we weren't managers but learning how to manage a project and architecture and scale and like initially i was trying to code review every single change you can imagine that bermio within that within a year it was like okay i can't i can't we can't do this anymore we have to figure out how to trust people and scale and figure out what's important what's not it what's not urgent versus urgent etc um that year i got promoted actually I had my first kid and I got promoted that to principal that same year.

28:47I did this, the first year of.NET Core design and building it. You mentioned that the team grew so much that you had to scale yourself out of necessity. What are the things that you did that allowed you to be an architect for so many engineers without burning yourself out? So I learned some of this during Signlar. The smaller version was Signlar only had like seven or eight people overall, right? Engineers, texters, product managers. And we had two new hires. And I had never had the experience of delegating in a way where I thought it was like, if I gave you this work, it's to grow you, right?

29:32I never thought that way before. I was always like, I'm a senior engineer. I can get this done. I can do it faster than you. Why would I give you this thing when I can do it faster? We had really smart engineers that we hired from college. And it took me a while to kind of get past it's going to take them longer at first. But once they understand all the stuff, then we can amplify the impact. And I think once I saw that, it flipped my brain. so I had I had something from from the Sigma to my friend that was like okay if you can invest in people and kind of get them on the same pitch as you if you are on the same wavelength if you can delegate more um then you can kind of get get more done as a team right you be you begin to be you begin to think about outcomes and less about like the work you're doing individually I think the leap from senior to principal feels like being able 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 it 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 my brain prepared me for like dotnet core because it was such a bigger scale like how do you even begin to manage that many people that that many facets we rebuilt everything from trash like we literally rebuilt the package manager the runtime the libraries like everything from the get-go and it was overwhelming at first um what i think helped a lot was not treating everything as equally urgent like that was a big deal like if this change over here went in and it wasn't perfect i wouldn't be like we can't merge this and he's to have this interface these tests um learning how to set foundations for others and to trust others and like letting people fail was a really hard thing for me at first it was okay i could i could avoid the failure and and it turns out that the team like i think a lot of the things that get you to senior and maybe principal hurt you great even further right 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 feel it's about thousand engineers you have to kind of figure out how to inspire others to do the same as you through different means like one-on-ones or or you being an example or like more different techniques, but it's difficult to just be, to type, you're not going to type harder and make a bigger impact.

32:20So it's like, I shifted my brand to be outcome focused. It was a big change. You mentioned the architect title or I guess role. What does that mean at Microsoft? That's a fun one. When I joined, I saw someone who was a principal software architect. Let me just say to myself, that's the role that I want. I don't know what it is. that's what i want though it's kind of a semi-official role at microsoft in like a certain levels the middle principal band you can be one of these architects and to me it really means you're more breadth rather than depth you're more overseeing the design of the overall system that we have different engineering archetypes i would say even the highest level you have someone who's a super coder, who is like, I am just going to build so much stuff.

33:09I can impact so many things. There are people who work on really deep technical details that have a huge impact. We have one of the foremost GC experts in the entire world, working on the.NET garbage collector. So you can have that kind of impact. You could be someone overseeing a hugely impactful area of the product. so there's a lot of space to kind of like figure out what archetype you want to be and I think the architect role for me felt like breadth so I am architect for ASP.NET Core back in those days and I am like overseeing the design of the whole stack the web framework web server how we how we ship package like the entire engineering idea and I'm not the the engineering lead, I'm the architect.

33:59So I'm trying to vet the decisions that are going to last for 20 years. If we do this change now, we can't do this thing in five or 10 years. And I hadn't had experience doing that before, but I had a really good mentors who had done that. So I had been watching and shadowing and trying to understand through experience, how do you build systems that last 20 years? Like, holy crap, right? So as you've grown to distinguish the engineer at Microsoft, how has the percent of your time that you spend writing code changed? It's funny. I think, I think there is what your job is. Like, do I have to code every day to do my job?

34:40I don't know if I get rewards anymore for coding. I get rewards for outcomes, but for myself, selfishly, I code every day. So my team knows right now that I send lots of pull requests every day to the code because i'm currently working on um i have a new project i'm working on this shirt um aspire and i code a lot so i i personally make sure that when i'm working on a project i am somewhat involved coding still i don't want to be the architect who doesn't know the code and is giving people instructions like you should do this and i'm going to go away now and disappear somewhere else and anyone see me again.

35:22I want to be the person who is like, I'm a pair on the team. I want to be everyone's players and I want to be facing the builds and facing the tasks and there isn't any work that's beneath me. It's kind of what I'm thinking. So when I'm on team, I typically work as an engineer on the team. If you stopped coding right now and you just kept leading the team, would your performance review look fine yeah i think so but this new inch engineer is definitely about company-wide org organizational wide impact or company-wide impact like so i think even though my my day job is definitely making sure the architecture of of dotnet as a whole is is sound and good and moving forward and we're doing the right things and pushing is a part of my job that is like looking forward and you know talking publicly and like um inspiring people internally and mentoring people and so there's a lot of things i do that aren't like what i used to do way before that i think help with with impact um as an example i gave four talks internally about how to use ai to do software engineering and that happened just because i had been using it myself for a lot of different things.

36:46And someone said, hey, you should give a talk to the team. You think about the impact of those things. They help when you see engineers who aren't just your boss telling you to go do something seemingly for bad reasons. Engineers who are credible telling you how they do their jobs. So I do a lot of that stuff too. A lot of things are not software engineering, to be frank. When you got the promotion to distinguished engineer, What's the story behind that? Absolutely insane. First of all, Distinguished Engineer is the final level of partner. If you go on to the levels FYI, you'll see level 59 to 80.

37:28I think the last is 80, the final level. Distinguished Engineer, I think there's 70 on there. Right. and there's a there's an actually there's actually an official process to become to to get that title you don't just it's not a promotion that you just get and because you did a great job that year it is a set of technical leaders have to peer review and decide that decide if you are if they're worthy or not they said if you're worthy or not of that title um it was probably the craziest promotion I've ever experienced mostly because of the people that are there at Microsoft. Just as an example, Guido Van Rossum, who created Python, is the same level as me.

38:20Imposter syndrome, right? Imposter. Guido's great. He's great. He's a really fun, cool guy. Maximum imposter syndrome. I'm young. I think I'm young for that role too. So when I was going for that role, I felt that would affect me as well. It didn't, but I felt it would affect me. So I had all these hold-ups about, am I really at this level? Can I perform there? Can I do well there? And then with all of my... I think this is probably where all the work I've done in the past helped. Because you do need a body of work. And you do need a good track record. to qualify for these kinds of roles you can't just become a de because you had a one fun one fun year um i think some of the criteria ends up being like what have you contributed like that that impacts company-wide like things what have you contributed that has so it is a lot of it is like deferred impact i guess i think makes sense because um dotnet remember when i when i went to from principal to partner and the email that had.net course impact and that was a by then it had been about seven years it wasn't like I did it last year or before it was like this is built up impact and then like I had been the architect to help people adopt the new.net internally and I had done that for a bunch of different teams so like there's there was all this kind of build up to defer it and pass it.

Read the full transcript

39:57I think all those things helped. NuGet, SignalR, how did the thing that you helped build and mold and raise, grow, how did it impact the industry, the company? Those all come into account when I think they're fellows who decide who becomes a DE. Were you involved in that process at all or was it a surprise when you got the Distinguished promo? I was involved from the point of view of helping my leadership with content. So I gave them all of my contributions to things, things I've written, like papers I've written, code contributions to various projects. I kind of gave them the raw material. I didn't do anything else.

40:46But what made it impactful for me was seeing the other fellows acknowledge knowledge and say like well deserved and it's about time and like okay maybe I should maybe I should maybe I should be here this is good you mentioned the lofty expectations of this distinguished engineer level yeah is that something that you worry about now that you've been acting in the role for a while at first I I would tell people I am a baby d I've only been here like a couple months or or it's been one year now and i'm not sure yet um i think no it's been two two and a half two and a half two years now um i feel pretty confident i can perform at this level and i think i understand what is what is required um i would say initially very much yes my first review cycle um i felt pressure to like document everything and just write down what i thought was all the impact right it wasn't it felt very much like oh my gosh i should i need to make sure i'm we're not writing all stuff down um telling the boss what i'm doing like making sure he knows and because i think you're you're you're almost an executive at the company like you're you're at the level below being an executive and like it's super scary to think about how having to have that impact every year repeatedly over and over so i think i found the pattern for kind of like making sure i had the right level of impact um talking to my bosses making sure i had i was visible making sure i'm doing all the right things so yeah i i don't i don't feel the pressure as much now um but who knows i mean things could change so you went through it looks like 11 promotions which is kind of ridiculous you went all the way from the beginning all the way to then and the crazy thing you're saying guido the founder or the creator of python is that level as well i can't even fathom because apparently there's one last one the technical fellow what what does that final boss level even look like so the people who are fellows tech fellows i guess the the the one that you know in my division that everyone analyzes anders helsberg made turbo pascal delphi c sharp and tetra so like no one's competing with that dude because like no you can't repeat building four successful languages um but i think if you were thinking about the the archetype of like someone who is a fellow it's that level of impact right or the people who built the windows kernel actually there's one guy dave cutler who came from deck back in like the 80s or whatever and he helped build he built windows nt he built azure the the os he built the hypervisor for xbox he is the only senior technical fellow wow that isn't even a real title that's just his title wow so it's kind of like it i think at those levels everyone's a unicorn and everyone has their own path so you aren't trying to follow people's path one-to-one you're looking for proxies for for impact to be a fellow you need industry-wide impact not just impact in your division in your company it's like you need to do something that impacts the industry i think we hired someone recently who is a fellow who like invented rss it's like that it's like that level of like fame right it's like you built something that became the industry standard for you know the internet like um there was a guy on my team who was the intern for tim berners lee and he is on the hdp spec like is that yeah so yeah this those are the kind of people that end up being fellows i think were there any unexpected perks of getting promoted to distinguished engineer?

44:53A size more money? Let me think. Well, for instance, I guess the thing that I'm curious about is at a lot of companies, when you get promoted to a certain level, you get added to special forums that only distinguished engineers have access. Okay, the coolest part. Here's the coolest part. There's an email alias called engineer. that is all the de's on microsoft oh it's just the coolest alias of the engineer on microsoft like all those that's awesome that's one of the perks yeah but there is there is there's a there's internal um there's a forum where we all meet i think every every couple of months the way this typically works is you have a sponsor right so when i'm when i'm when i was going to be i told my mentor i want to be a de you know i had i had mentors who were fellows okay so one one tip when i became a partner i told my men i told my management that i want a mentor i want help playing a mentor who is a fellow because i want to be one so i figured if i want to be one i should have people who are mentors that can help me get there um and my one of my mentors was who was very impactful in my career.

46:09He invented a PowerShell, Jeffrey Snover. And he was one of the best mentors that I've had. He actually left Microsoft and went to Google recently. But he was like really, really impactful for me in my career. He was one of my main sponsors. And I ended up getting to go to one of these tech leaders forums. I got to mingle and talk to all the people who were like there. And it was really, really interesting, really cool. you mentioned that that mentor was incredibly impactful what was the things that he was telling you that made a difference a lot of people i want to say sugarcoat like how to get places how how to get promoted and they'll give you very generic feedback um you have to do a project that's super impactful he was very very much direct like we should go talk to the people who decide and ask them like where you are and then and it was jarring to me because i never thought about asking the teacher for why why it like no one ever tells you um you have to do x to get promoted exactly and it never exactly works one-to-one it's like you have to have more impact so make sure you're working on something that's like you know super impactful and maybe you aren't now and change he was like let's go to the source go to the host let's go talk to the ctos let's go figure out like what it means for you and your in your role and i was like that is super helpful and because it helped me it helped me understand what i should and shouldn't be doing in a very like real way it wasn't just arbitrary advice that just happens to you it was like very explicit i had a second mentor i had done some there's this thing where you can get feedback from different people in the company, your manager, your peer, et cetera.

47:57And it gets turned into a package and they give you feedback. And it tells you your strengths and what you're good at, what you're really bad at, how you act under stress, all these things. And my first reaction is, oh my gosh, I am going to have to fix all the things I'm bad at. I got to figure out how to get leveled. And my mentor was like, no, no. take your strengths and amplify them even more you could work on the things you're not good at and be average at those or you can work on things that you're really good at and be superhuman at those things and it it broke my brain because up until and that was like i want to say five years ago up until then i had been thinking about man how do i make sure i am better at everything so I can be a well-rounded individual.

48:48I think it was like, no one gets promoted to these roles for being average. You need to, you have to be superhuman in something that you're really good at, that people aren't, right? So that helped me refocus to thinking about finding ways to make up for things that I'm not good at. So as an example, if I form a team, I am not the one that's going to schedule meetings or I am not going to go through every detail of how we ship and all the checklists. I am super bad at that stuff. And I will make sure I have someone who is really, really good at that stuff so I can focus on what I'm doing at. So, basically, help me reframe how to think about amplifying why I do well to kind of get more impact.

49:37Makes sense. I mean, it's kind of like a power law type of thing. At the top is where there's the most insane returns. Just take those things and go further on that exponential. Exactly. It's exactly that. Yep. You mentioned a lot of these, you know, impressive engineers. And I think as a distinguished engineer, you have a unique perspective because you can see what is impressive with a critical eye of a great engineer. What are some examples of other engineers that you look up to and what makes them impressive to you? I can talk about some of the well-known ones and then talk about these people that I work with in general that are impressive for different reasons.

50:17My current team, there are like five other partner-level engineers that have been here 20-plus years that are just really, really good for different reasons. Like experts in the GC. One person is like a super coder. like just he just codes 10x people complain about engineers aren't 10x he's 10x he just produces way more code than everyone else combined right um there's one guy who like literally seemed to know everything about obscure things you would never understand and you're like without having to have seen it yourself there's all kind of stuff stuff about c stuff about compiler stuff both the OS and you're like, how does he seem to know everything about everything, right?

51:05And then there are engineers who just seem to know what to build and have a good eye judgment. So I'm on the C Sharp design review team. So we meet every couple of months and we review C Sharp features, right? New features come into language. And I'm on there with Anders Helzberg who made C Sharp, right? So like, what I say doesn't matter, what he says matters. I mean, it does it counts um but the way he communicates like the way he gives feedback for what feels good and what does not feel good he always does it in a way that is very much like he's not talking down to you i mean this dude invented four languages are just like what everyone uses and yet he can still talk about it in a way where it's like you know some people are really smart and they talk dumb to you and you feel dumb because he's like, oh, he's super smart and I'm dumb.

51:59He does it in a very pragmatic, practical way. Then you see the code he commits and you're like, this dude is inventing types of theory that we haven't even seen before, technically. Insane. So I admire a lot of like watching people like that spread their impact. Mark Rosanovic, who's CEO of Azure, famous for his Windows tools. Um, he still codes and it blows me away sometimes. Like he's, he actually is working on something right now. Um, and he sent an email two days ago. And I was like, holy crap. And it was, it was very dev, a dev centric email. It wasn't a high level. We should do X. It's like, no, I wrote some code.

52:45I improved the performance. I'm like, here's the results. And I was just like, how does he have time to do stuff? so i think whenever i see high level engineers or ices still coding like that i get really inspired it's really easy to fall into the meeting trap um actually when i went partner i fell super steeply into the meeting trap of like i was in meetings all day every day and i got really sad and my mentor said as an IC your job is to have like you need something to think and to build stuff so minimally on your calendar block eight hours a week minimum to to do that stuff and it took me a while to change my brain to say I can just say no to meetings decline decline decline decline decline my can my carry code so I think the next set of questions want to ask you, because you have a public presence on Twitter, there's all these top tweets that you have that I think are really interesting short thoughts that I'd be curious to have you expand on.

53:54Yeah. So I think the first one is talking about university courses. And you said that there should be a university course that explains how to refactor code, how to make changes to it without breaking an existing code base. My question to you is if you were to design that course, what would some of the key concepts be? Having been working for this long now in industry, computer science is not software engineering. It's not even close, right? Computer science is like learning the science of computers and bits and bytes and the math and algorithms. And you do a little bit of things that are software engineering like, but it's nothing like software engineering.

54:39So when you get your first job, you spend a lot of time just trying to understand what's there. So you can surgically make your first change and not destroy everything. Don't break the bill. Don't break everything else. So I think if I were to have a course, you would be thrown into an artificially big code base. We would have a maybe it would have to change every year because students will just copy from the previous year. So it would change every year, different code base. And your job is to make a bug fix. you gotta fix a bug in this code base and write a test for it and just the the skills you learn being a code architect a code archaeologist is so different from just just writing by an LLE code question or doing a homework assignment that is just like this one thing in a textbook you learn a lot of adjacent skills from just trying to figure out where to put the code in the first place i think it's funny i think thinking no i think it would be super useful like every every assignment is making one one fix and maybe you can set up the code base such that it's not super hard to figure out what it is anyone with enough time like you know we can figure out i made it this one triple change and and add one text um but i think a lot of a lot of people's jobs are tweaking software that that is there already not everyone gets to create new software like if you if you work on windows sure you'll build new components but you aren't going to change the kernel unless you're going to do a new a new os um so yeah super useful skill yeah i think there was another set of tweets that i saw that was kind of around this idea of that tech interviews are focused so much on writing new code but actually the real high leverage skill is debugging it yeah what gives you that that thought maybe you can expand on that so early in my career I worked with a ton of engineers who were and on the Donna team we had a lot of engineers who just worked at the platform level so I got to see firsthand people diagnosed crazy crashes risk conditions threading issues I got firsthand a firsthand seat to even watching people's mindset when they go to diagnose issues I thought to myself like there's kind of two skill sets that maybe you learned some coding, but they're just not the same skill set.

57:05And if you think about building an application, deploying it, shipping it, and then getting craft reports, trying to resolve issues, like trying to figure out what's going on in production, there is this second skill set that is just not authoring code. That is, how do you even think through debugging issues? How do you know which thread caused the exception? What tools do you use? How do you think about how I got there? And I thought to myself, it would be fun to have an interview where you give someone a crash dump or something. Like, hey, this app just crashed. Figure out what the problem is.

57:44And you aren't trying to see if they can solve it. You want to see what they even start doing. Do you start adding logs? Do you rerun the program? How do you think about risk conditions? Do you print thread IDs and try to figure out interleaving? All these interesting things come out of watching someone try to diagnose problems. It's funny. I have the highest respect for engineers who can be thrown into a problem situation where they don't know the code base super well. And they can kind of solve the issue. Super fun story. I remember being, this is early days in Azure. there was this very i can't remember what the site was but there was a very popular site that was going down i was running on adler and i'm like also i was up late it was 1am and my cvp sends me a message like a dm it's like hey you free i'm just like what yeah i'm free i get added to a call that has like 100 engineers trying to debug why the site is crashing.

58:55And, you know, we called the team who was working on it. It was some other company, but we were helping them as engineers, trying to debug the issue. And you could just see the different people's skill sets trying to figure out what the issue was. And we solved it eventually. it was a concurrency issue somewhere in some dictionary that caused a risk condition and i thought to myself like this is one of the skills that you need to have as an engineer like writing code is just it's a small piece of your overall skill set learning how to debug and think through issues is like another big big chunk yeah and as evidence of that being very impactful i know some companies you know every company has their different archetypes and you mentioned like super coder also known as code machine in some places yep there's also i've heard the archetype fixer too and that's that's that's a really cool one because it's been described as someone drops in somewhere they make a one-line change after tons of investigation and it gets two times better three times better or something like that oh my gosh we have some engineer on on the team who there'll be a thread to get started off all per issue somewhere in grpc call and i'll add the engineer the thread say hey can you look at this boom boom boom here's a trace i'm just like oh my gosh it's solved it's solved so impressive um another tweet that you had i thought was really interesting is it says lukewarm take the lower on the technology stack you sit the less mistakes you're allowed to make what what made you think of that what did something break super low level in the stack somewhere i have to be working on something so i work on platforms so the way we think about software is way different from you know higher level services or even web web front lines or whatever i think maybe i have been working on something that broke i mean a lot things break that are just kind of insane.

1:00:57The things that we change that break services are absolutely unheard of. We will change the order of how things come back in a method and it just snaps some company's website goes down. So I think when you work at that and it's that you gain an appreciation for the kind of changes you can and can't make. I think that tweet was inspired by one of these bugs. I think at that time I had been working on first party adoption of.NET and we had seen a couple of people upgrade and hit issues that made us just completely shocked. it was like, how did you find that bug? No one has that. What do you mean you have 400 arguments to method?

1:01:54That's not... There's some limits somewhere that can't be a real problem, right? There's another tweet here, and that was really interesting. It's about promotions. You said that when you got promoted to a senior software engineer at Microsoft, you remember thinking that other people were smarter than you and should have been promoted first, and you would have thought they would be angry, but the opposite happened that actually having good co-workers matters a lot and people weren't you know so yeah yeah what's your your thought there this is you you are you are bringing about some good memories so i remember when i was going to senior i actually i was actually a little worried about getting what it before because i had it on a really fast path and i thought i mean maybe maybe it would make people jealous it was like why not me and and when i joined my team i think there were four people from mit and two from cmu and i had gone to florida tech and i was like these people are like way smarter than me so like my way of working through imposter syndrome was just to like work really hard and like be a busy bee doing stuff um i think i understood that when When I got promoted senior, that the impact was not about being intelligent.

1:03:13It was not just about like getting the highest grade or being smart. It was like, are the things that you're working on being impactful with the business? And that was the shift where I began to understand like, okay, it's not just about what I know. It's not just about that this person on the team is really smart in area X. It's like, can I take all that and produce something that is impactful? and that promotion helped me see okay that was the new get thing the signaler thing that's how you get promoted that's how you you you know you you add impact to the team it's not just about knowing this thing about this this feature about this area about this os because i always felt like man i don't know enough about you know technology x or about area x i got to go deeper and learn more and the question was always is that for you or is that for your career right what's it for um you don't have to know how i don't know maybe you should but you don't have to know how tcpip works to get promoted to the senior um i'm sure people don't know the details of how it works right um i think that that promotion for me helped me separate like being smart from making an impact okay promotions impact these promotions being smart is something else is just like knowing knowing more stuff and being helpful for solving problems um and the second part was my co-workers were happy for me at least outwardly it was but i was i was really worried at the time because it was like new person joins team gets promoted really fast like do people see that as why not me or do they see it as yeah that makes sense right when i ask questions about other people who kind of went up really fast to my period at the time they would say things like everyone knew it was going to happen like there's certain people where people kind of know where it happens and you never know if that's the case for you or not or or people are just like man i don't think that person deserved it so you've been working at microsoft for over 17 years now and one of this tweets that you have is talking about big company tips that you have and it says before you change roles ask when the last reorg was

1:05:37what's the thinking behind that advice big companies are are a machine and i remember someone telling me really early on that like and maybe it was it was tongue-in-cheek it was like when you're when you're when you are uh an executive vice president at these companies or a cvp or whatever you are you show that you're doing something like it's like motion like reorgs are motion and motion means that you're you're changing stuff and the only thing constant is change in these big companies like there's always a reorg plan there's always a there's always a reorg coming there's always a reorg that just happened and you're trying to figure out in between the reorg moments what were like who were the leaders what was the the impetus what caused it to happen i mean you can never know when that's what's coming but learning about the previous one is super i think it's super important just to understand like where we are where where you would be heading right in in that dimension my org had a big reorg late recently previous meta person now runs um j now runs um my my my org and i think it's super important to know that because it helps you figure out what the purpose is now right if if it just happened it tells you a lot about where the org is heading where the team is heading where things are going um i think it's easy to kind of change teams or move around and not think about the overall place that org is going but then microsoft is big enough that is like every new org is a whole new company so it's definitely worthwhile trying to figure out where what the goals are of that org where it stands now what happened last time kind of thing i bet i i tweeted that after either talking to a mentee um who had been reorg and i think they had been like four in a row or something that's crazy um or or it happened to me but yeah i see so you're saying you should read the behind the scenes of the reorg and what that means for your career in the future oh yeah oh yeah i heard someone say something to me recently that was really good advice it was when you're looking to change jobs don't think about the things you love because they'll be easy to do think about the things you hate like what what can you not stand about like working in the area or an environment or whatever it is and go look for that if you see that that'll be that'll be the thing that will be hard to get around our work through let's say you hated open space and you wanted a closed office if the company was open like don't go to the company that is open because like then you'll you'll be unhappy right um there are better examples that are probably more toxic about like people but that's a simpler um way of describing it you've been at microsoft for a long time about your entire career even including your internships i'm i'm curious what has kept you at Microsoft as long as you've been?

1:08:35Yeah, every time. Yeah, I think about this myself a lot. Like what keeps me here? And I think I am part of a generation of millennials who broke the curse of like our boomer parents like trying to stay in the same place forever. I have a lot of friends that jumped their own and they got paid for it and it was really good for them in their careers. I want to say I maybe they didn't take the same pack and it kind of worked out. I had a couple of times where probably the most impactful time where I maybe almost left was when I was senior. My boss left and went to Twitter, pre-IP of Twitter. And a year in, she tells, she pings me and tells me to come like go interview at Twitter.

1:09:24And I actually interviewed at Twitter and at GitHub. It's funny, GitHub and Twitter at the same time. and I got to I got both offers and the offers were pretty good and it was the probably the first time in my career where I was like at a crossroads because my career had been going fine I was working on SignalR I was like on the up and up but then here's this offer that like seemed a lot better and they're pre-IPO companies like should I should I go um and there was a lot of deliberation as to like if I should go or should stay or not or whatever. I ended up staying and it worked out. But I will say the morning like Twitter went public.

1:10:11Instant depression.

1:10:16I was depressed for like a week. Oh my God. What kept you at mark? Because it sounds like those offers were better than what you were making at the time. Yes, they were. They were. So when I got, they countered and the counter was fine. It wasn't like, I mean, I guess looking back, no, it was pretty good, but it was, it was fine. But they, they had me talk to like our executive vice president. And he was like, you're going to be like a distinct engineer in like five years. I mean, he definitely oversold. but i was i think maybe for me it wasn't just the money that that made me stay it was like i had been working on something i had built up impactful that was like built permissionless um i had i think at the time i had been getting a lot of autonomy at microsoft and leaving would have been like starting over um probably one of the one of the things that people don't talk about when changing roles or leaving or getting a better offer somewhere else is you build up a network a network of people a network of of you know a track record i can kind of work on what i want to work on at the moment at that time maybe not so much but i think i had been given more more autonomy and when you're weighing the the like should i stay or should i go it's like money is one thing um the other is like are the people like are people good not just good engineers but like good people like but but you want to work with so there's the the people aspect the money aspect the network aspect all these things kind of matter in the soup and i think i stayed because at microsoft i had been getting my fix of working on a new thing every couple of years every if on my LinkedIn, there's like a new project every two years.

1:12:15And that was like by design. I think it helped me not get bored or not like kind of like be, I didn't feel the need to go somewhere else to do what I want to do because I felt like I could do it on Microsoft. So that kept me here for this long. I mean, I won't say that I hadn't thought about leaving every now and then it does it does come with my brain every now and then but i think so far the people um the pay for me is is fine um the people to pay the project the impact i get to have working on what i work on is a is a big big thing for me as well do you think that if you had a mentee today facing the same decision so they're they're at microsoft and they they're doing well and then they have uh you pre IPO, open AI offer or something better than what they have now.

1:13:11Well, would you tell them you should stay at Microsoft or would you say, you know, maybe go with the risky thing? I would tell them to go.

1:13:23So fun story, Ashley had a mentee who got an offer from a separate, a different company, but they weren't in a place where they could do their best work. So the combination of the offer plus that, I was like, you have to go. I said, they're going to counter, but you have to go. You can't stay here. You should go. You should go. If I had that for myself, maybe I would have been gone. I would have been gone.

1:13:54You had this interesting tweet on job hopping that I thought was maybe relevant now, which is that you said once in your career, you should work on a project long enough to see the long term impact of your decision. decisions it's a humbling experience that's a good one so i it could be better for long-term growth uh in some cases yeah so what i would say so that one that tweet was inspired by my career has always been this like work on a thing and move on i would still have ties to the thing i worked on help people that are working right now whenever things go wrong or whatever but the the thing that i'm i have worked on for 10 years dotnet core was the longest of ever worst my anything in my career ever ever and i think it was a good it was a good change because it really helped me appreciate like deciding to do something in the first two years and then holy crap seeing the impact of that decision whether it be bad or good right um it gives you a whole new skill set perspective on how to make decisions and for for some things it's obvious and you can say okay well we didn't understand at the time the scope or the scenario or whatever else but things that didn't seem important became important um one of the jokes that i make about you know when you work on something for 10 years all the small issues you thought were small that were just like we can do it later will become big issues at some point like somebody will hit everything that you planted and it it happened it it all of it happened um and i thought like i think maybe if you think about 10-year projects 20-year projects who knows if it's good for career growth maybe not like maybe if you work on the same for 20 years like oh my gosh not not great but it'll teach you a different skill set that is like you get to understand the implications you get to understand you know if you were going to the next next version you would have much more insight into like what you messed up it's really hard to appreciate what you messed up when you like do a thing and you you leave you should be one all good new project but i don't i don't fault anyone for like doing both things because i've done both too yeah i could see it better for i guess developing judgment but i and i could also see it being you know imagine a career that's a leg of jumps back and if assuming every jump is higher than the other that person's probably have a lot of career growth but if all the projects they start just kind of go downhill once they leave i wonder what it does for their pattern recognition judgment yeah yeah exactly it's funny i i told someone i don't know exactly how to describe the ingredients that make up a successful project but i can tell you when i'm working on one versus when i'm not and that is built up over time and experience and like seeing which things work out which things don't work out um it's kind of fine-tuning i guess an internal model in my head okay this this has the smell of something that can be successful versus versus not and there are some things here that i'm seeing that work out well and some things that are not well and yeah coming to the the end of this i I kind of want to ask you some just high level reflections and things.

1:17:22One thing I'm curious, because you're so high up at Microsoft at this point, and you've been there for so long, too. I know the common perception is pre-Satya, Microsoft was very different from post-Satya, at least in terms of stock performance. Did you notice anything internally, like the culture shifting when Satya became CEO? Huge. I mean, I always tell new hires that it's really hard to think about the culture shift between Satya and Balmer because I lived it, right? I was in it. And it's really hard to see the big jumps from where we are now to where we used to be because it literally happened gradually.

1:18:09it was like things were rolled out and there's a lot more because the culture just changed completely right probably one of the biggest ones that i i noticed because i i experienced this when i joined there was teams competing on the same and angle like two different teams that i think i think historically there's been a microsoft used to do this thing where two end teams could work on the same end state and then one would win and the others would be who knows what would happen miss bando and reyard something else um there was a big focus on collaboration over like just like being the first the first to do something i never experienced it myself on my team but i definitely worked with teams who you could tell were kind of building the solution before knowing what the problem was there's a lot of that um that i saw when i was and i was i was i was an observer i was like very early in career like observing how people interacted and culture wise and just the way people interacted changed like meeting culture like how it means with with a pair like emails things that seem so obvious in hindsight like if i look at how people would communicate in meetings now versus emails versus how you used to work like remote friendliness versus like how people work in teams like i remember being in a meeting and someone raising their hand on teams i was like raise your hand for talk what this is not like so because i i had i had grown up in a culture where you would just talk right you just talk well you don't you wait for a pause and you talk you don't you don't raise your hand to talk or you don't like maybe it sounds crazy a lot more consideration for everyone else it wasn't just what's it called um highest paid person's opinion i think that's that's kind of how microsoft felt when i joined like if you were in a meeting with people that are very senior um hard to get worded sometimes and if and if the if the most the most senior person was loud and like aggressive like people that people that didn't think that way in the moment would not get saved wow i think one of the big changes was in like how we communicated as a as a company as a team collaboration became a thing that was part of your review so like if you were not using if you were not trying to use things that other teams built like you were dinged for it if you were gonna copy and create a clone of someone else's thing because you're special no the incentives push you in the opposite direction i think that's probably the most impactful change that and that and the style of comms was like a big change that i observed just like existing in those time those times i see okay so the culture shifted through performance incentives and maybe just some of the stuff that was messaged top down yeah yeah and and and the behaviors are that were being modeled by like the leaders like literally in meetings people raising their hands people calling people who haven't spoken like imagine if you're in a meeting and there's someone really quiet that has really good thoughts but maybe they don't they don't like to speak up in meetings pulling it out of that person in in the meeting like i remember when that first happened i had never seen it before i had never seen someone say hey Ryan, you're quiet.

1:21:47You've been quiet the whole time. What's your opinion on this matter? There was just people talking and then you would leave. Now there's a lot more, it's much better, much more consistent for others. A lot less people screaming, shouting. I was in a meeting really early where people were shouting. I remember thinking to myself, like, this is normal. Am I going to have to shout at some point? There's a famous XKCD comic about the culture at different companies. And if I recall correctly, the Microsoft one is a drawing of people with guns pointed at each other. The guns. Yeah. It's so funny. I think that picture is funny and it's definitely not guns at all.

1:22:29It went from guns to ambivalence, like don't bother me, to collaboration. So I think that progression is probably the biggest change in between Bomber and Safia. the joke about the guns to, I don't have a gun at you, but as long as you aren't going to disturb my situation, we're good to go. You're over there, I'm over here, it's all good. Two collaborations. We incentivize collaboration. You get rewarded for collaboration. I think that was the biggest shift and change I saw in the culture. When you look back on your career so far, do you have any major regrets that people can learn from? that's a good question major regrets major maybe not I would say early in my career I would say super arrogant I was very arrogant you could probably find my github if you look at some of the github comments and the tone I would say I was lacking some empathy in a bunch of different places one of the big shifts that I think my brain made over time learning how to build teams and kind of impact with others was like patience patience empathy um those two traits help help a lot with like growing teams and growing like influence and people right it's not just because you're right being right means nothing it's not important right being right is like one of many things um and i i used to want i used to like i'm right therefore everything else is like we'll follow on from there and i think learning over time that that doesn't really matter as much because there's a lot of shades of gray when you're in top range areas this is not the most important thing so i think early in my career i was very much like yeah i'm right like i don't really understand why we're having this conversation why are we still talking about this thing i'm right um and every now and then it'll creep out but like it i think i have a lot more self-awareness now whenever that's not the most important thing for the for the moment even though it's like a thing still i learned over time how to dial it um but in general yeah maybe the fact that i didn't leave and go to twitter because i would have gotten like a ton of money as a senior engineer um or go to or go to or go to facebook i i had a bunch of opportunities i just didn't i didn't take it super early on okay one regret that i do have that is not directly career related but like maybe in the same ballpark um i had a friend in 2008 who sent me a message he was gonna do a bitcoin company i was like i don't know about descriptive thing dude has so much bitcoin though what what what oh my god that's so funny yeah that that one um when you look back on your career what was your work-life balance like throughout i used to answer this by saying um there was no balance there was just like work hard play hard kind of thing i would say no someone told me recently that work life balance isn't about nine to five and stopping it's about what things give you energy and what things drain energy from you so early on in my career i was working all hours i still do because i enjoyed what i was doing i may be a little too much so i would just like have to dial back every now and then but i enjoyed what i was doing so i worked a lot like at work i have to work like on different things um because programming for me was not just my job it was like my passion so i i never forget one one summer i came back from vacation i started making games just like for fun um and i learned a lot about making games i took that into things at work that i was doing and more stuff and for me it was always i just love building stuff so i want to build more stuff um what i would say is draining now is like meetings that just don't feel like they have a purpose so if i were in meetings all day and i felt drained after work and i kept doing more work that to me would be like no balance because i i want to do stuff that isn't meetings but i'm i'm not doing that during the day and then then i'm going home after hours doing more work that is like burnout quality so i would say like balance was always i work a lot i'm absolutely over calling for me this i love this career it's it's kind of insane i i get to code for for a living so i i see that as like a privilege that i'm going to keep doing until i can't do it anymore yeah i think when i look at a lot of people's careers who have been you know as successful as you the that's one of the unfair advantages i see almost everyone has is they have this innate intrinsic motivation so they they work a ton of hours just non-stop and and a lot of like like you a lot of people love it and that is such an unfair advantage it is i i saw um when andrew kirkpatty's talks and he said 10 000 hours to get good at anything.

1:28:00And maybe it's not true, but I, early in my career, and maybe even though, I wanted to become a very good software engineer, right? And people always ask me, hey, what book did you read? What did you do to become a good software engineer? And I'm like, I wrote and read a lot of code. Like just anything you can get your hands on. And there's so much more code now. There you can read, consume, and write. And I'm not sure if it's good advice, but why no is that I did not get good at software engineering or building a programming, whatever you want to call it, from like seeing something online or reading a blog post.

1:28:45Just do it. Like build everything. databases distributed systems games like every everything you build will teach you a new skill that you don't even know you have until later on um my github is a graveyard of project i just build stuff and put it on there and it's like i want to learn how to do um multi and i don't forget i tried to build a fighting game when i was 16 i wanted to build street fighter so i got all the art from somewhere online, I started to build a Street Fighter clone. It wasn't for any real purpose. It was just to learn how to build a fighting game. How do you make key combos work and how do you make that stuff work?

1:29:27That pattern of I need to know how this thing works has served me to this day. I need to understand how the thing I'm doing works. How do I get this thing to be on that thing? Yeah. So I... I love what I do. And I think that has helped me do it more and get better at it. And then last question, if you could go back to yourself when you were just graduating college and entering the industry and give yourself some advice, what would you say? Oh, my God. Negotiate your freaking salary. When I got my job, I did not know that I could even negotiate. I would have gotten more offers. I mean, looking back, it doesn't matter right now.

1:30:13But if I was going to talk to a new college hire, getting a job, like get multiple offers and like bump up that money, bump it up. I watched my friends do it. I was I was just like in shock. Like I'm from Barbados. I go to the States. I get an internship. I get a job. They give me the most money I've ever seen in my life. And I'm like, thank you. Thank you. Thank you for the money. I have my job. to hear kids talk about yeah i i said no or i said i'm gonna go check out google first or facebook and get offers now it's just like what and that just became normal but that became like the norm and it just it blew my mind i couldn't rationalize what was happening i i do think it's definitely worthwhile doing that i i've seen kids do it so well i'm like this is so impressive this is just like this kid is is telling us no and and i've been i've been like on enough hiring committees now to the higher interns and i'm watching the back and forth between this kid and the recruiter and i'm just like this kid's a genius bumping up it's awfully it's amazing mass respect awesome all right well thank you so much for your time david uh really appreciate it um is there anything that you want to say now or maybe where can people find you uh i am available on x discord um blue sky are those the main socials are there more i mean there's linkedin but i don't know if you use it linkedin i'm linkedin yeah you're right like yeah it's funny linkedin has become a social network is the most bizarre thing ever i am on all these things tweeting about dot net and ai and all kinds of programming stuff awesome i'll put it in the links in the show notes thanks so much dude awesome thanks for listening to the podcast i I don't sell anything or do sponsorships, but if you want to help out with the podcast, you can support by engaging with the content on YouTube or on Spotify.

1:32:13If you want to drop a review, that'll be super helpful. And if there's any guests that you want to bring on to, please let me know. I feel like sourcing very senior ICs. There's no well-studied list out there on Google that I can just search this up. So if there's someone in your org or at your company who you really look up to and you want to hear their career story, let me know and I'll reach out to them.

From the publisher

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.


𝗘𝗽𝗶𝘀𝗼𝗱𝗲 𝗟𝗶𝗻𝗸𝘀:

• Transcript: https://www.developing.dev/p/intern-to-microsoft-distinguished

• YouTube: https://youtu.be/d8tRM8RJ52M

• Apple: https://podcasts.apple.com/au/podcast/the-peterman-pod/id1777363835


𝗧𝗶𝗺𝗲𝘀𝘁𝗮𝗺𝗽𝘀:

(00:00) Intro

(00:53) Microsofts leveling system

(03:17) Joining Microsoft

(10:18) First successful project

(16:22) Bootstrapping his own project

(25:44) His principal promotion

(37:10) His distinguished promotion

(49:51) Engineers he looks up to

(53:40) Expanding on his top tweets

(1:05:20) Big company tip on reorgs

(1:08:25) What keeps him at Microsoft

(1:17:22) Microsoft culture after Satya

(1:23:04) Career regrets and work life balance

(1:29:51) Advice for his younger self


𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗗𝗮𝘃𝗶𝗱:

• LinkedIn: https://www.linkedin.com/in/davidfowl/

• X/Twitter: https://x.com/davidfowl


𝗪𝗵𝗲𝗿𝗲 𝘁𝗼 𝗳𝗶𝗻𝗱 𝗥𝘆𝗮𝗻:

• Newsletter: https://www.developing.dev/

• X/Twitter: https://x.com/ryanlpeterman

• LinkedIn: https://www.linkedin.com/in/ryanlpeterman/

• Threads: https://www.threads.com/@ryanlpeterman

• Instagram: https://www.instagram.com/ryanlpeterman

• TikTok: https://www.tiktok.com/@ryanlpeterman

More from The Peterman Pod

All 60 episodes
Intern to Microsoft Distinguished Engineer in 11 Promotions (Career Story)The Peterman Pod · 1 h 33 min
Listen in VO