Intern to Microsoft Distinguished Engineer in 11 Promotions (Career Story) - podcast episode cover

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

Sep 05, 2025โ€ข1 hr 33 min
--:--
--:--
Download Metacast podcast app
Listen to this episode in Metacast mobile app
Don't just listen to podcasts. Learn from them with transcripts, summaries, and chapters for every episode. Skim, search, and bookmark insights. Learn more

Summary

In this episode, David Fowler recounts his extraordinary 17-year career at Microsoft, advancing from intern to Distinguished Engineer through 11 promotions. He discusses the impact of permissionless projects like NuGet and SignalR, the evolution of Microsoft's culture under Satya Nadella, and invaluable advice on career growth, mentorship, and work-life balance in a large technology company. Fowler emphasizes the importance of agency, strategic delegation, and amplifying one's unique strengths for long-term success.

Episode description

David Fowler went from an intern to a Distinguished Engineer at Microsoft. Thatโ€™s 11 different promotions all at the same company. I asked him about everything he learned by going through that process.


๐—˜๐—ฝ๐—ถ๐˜€๐—ผ๐—ฑ๐—ฒ ๐—Ÿ๐—ถ๐—ป๐—ธ๐˜€:

โ€ข 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

Transcript

โ ยถ Intro

It 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 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. Before 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.

โ ยถ Microsofts leveling system

First 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.FY 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 two 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. So when you join from college, you typically start at 59 or 60, depending on late.

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 suite 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 to 64 is senior. And then principal is actually three levels. I never really thought about the why. 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 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 like just came from senior um and you wouldn't know from looking at their title so and then beyond that is like no one knows right it's like levels partner um that has three bands and then there's beyond partners like technical fellow and extension dinner yep so yeah it's a it's a broad system you know

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.

โ ยถ Joining Microsoft

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 LA. 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 our business 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 no thought 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 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.

But in the first Java class, no one knew how to code. And I was like, this is kind of crazy. 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 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 small companies in florida and my friend went to EA. So we built a game, he went to EA, interviewed there, got an intern 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. You know, before COVID, where it was all in-person whiteboarding, got my internship, and that was kind of like history. I interned twice. 2006 and 7. It was eye-opening. Coming from a small country, going to a big company, experiencing big campus, big technology.

talking to people who were like really, really, really smart, absorbing information. It was, it was kind of, it was great. And I was part of the last set of interns that got to go to Bill Gates Hill. So that was kind of. That's kind of fun. What was that like going to Bill Gates' 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?

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 away all your stuff, give you instructions. You actually park out, I think, at a church. And they would take your stuff so you could take pictures. They would tell you what you can and can't do at the house. And then all the interns would just go into his big, really huge mansion.

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. I shook his hand. So I spoke to him once. When you interviewed for Microsoft at the time in 2006.

Was there 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 like Microsoft created these like... Lee Code style puzzles that everyone loves to hate. 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 was on campus doing the interview.

Oh, don't forget. They were asking me questions. And I had been prepped for coding interviews. I had been thinking about 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 all the... of course 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 it 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 has to stop a bomb from going off. And there's water in a fountain. And they have a five-gallon jug and a three-gallon jug. And they have to mate exactly four gallons to avoid the...

the disaster. Ah, 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 what I heard.

I figured it out, but it was funny because 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? 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. And 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 miserably. That's so funny, because people... hate on Leak Code all the time, but these puzzles, it sounds like Leak Code's better than these puzzles, actually. 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 flew out and was on campus, I got asked, how do I add two numbers in base negative two? That was my final question. It was just like, what? It's come a long way since this change. Oh, 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.

โ ยถ First successful project

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 NuGet, which is the package manager. What's the story behind that project? That was interesting because NuGet, I think really 10 plus years in now is loop.

the the package manager for dotnet it was when i think 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 lap 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 think about that stuff. The bosses above me told me we're doing that. Let's do it. So we built this whole new web stack and Ruby on Rails had come out. concurrently at the same time and gems was like this huge deal ruby gems get gems get packages you know run commands and rails and we had seen that

But there's 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. 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.

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. It was me working with an architect saying, we had built something. 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.

Philhack. 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.

What 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, even before Newgate, I think my first year was me. I had interned twice, so I had a lot of experience, but just Microsoft is 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. And I just did that over and over and over. and then kind of showed product managers on the team and architects and who turns out were my sponsors. I guess in the looking back on how it went. And I think that helped me.

being a place where I could be the one to build Nougat. 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 PowerPoint. It's not a document. Here's a working example of something. Oh, we should start there and then move on to something else. So my review for NuGet 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. Stuff came my way. You mentioned that Nougat 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's some things we call them band changes right so when you jump across bands it's a bigger promotion within buying is a smaller promotion so if i go from you know 61 to 62 i'm still a sd2 but you know it's still worth a promotion but when you jump when you cross the boundary of going from

to senior or senior principal, you require 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 principal 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 you know keep you going forward etc etc so i think it did it did matter you mentioned some other larger projects so

โ ยถ Bootstrapping his own project

um maybe we can talk about some of those so there was a signal signal or is it signal signal okay That came from the naming. The name is the time frame 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 Sigmar. 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, Google Docs came out, and I have been enthralled with the fact that you could co-edit in a document. I was like, this is just nuts. And it works 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 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. We should collaborate on this new library, right?

So that kind of spawned the, like, 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 have been doing that, like... 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 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 and then at some point a product manager at microsoft on the team said hey we should make this official and that's when 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 funding 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. What was the motivation for signal are 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. 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 Saka.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. And we just, I think that just drove me because it was like, okay, I hadn't seen.

people attempt to do this before that's this let's push it's funny we we push the boundaries of like the technology a bit we hit limits like all over the place in in the tech stack that became problems to solve deep in the deep in the core platform too so that was a really good um way to learn learn more about the overall networking stack and i think the the the amount of problems we got to tackle maybe made it enthralling

a dev that like i got nurse night 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 um i'm kind of curious maybe we can

Is there some way for us to reverse engineer that for others? How do you go about starting projects where the motivation comes completely from you within a large company? That's a really good question. If I had to boil it down to one sentence, you can just do things. And I think the way people talk about it now is you have agency. And 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

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. 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 attach myself to him and I mimic 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... i would be the coder of his ideas right for a while and that turned into learning how to do on my own so i kind of i did this gradual thing where i was like attach myself to people who were like that and 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 helps people get over the hump of, like, should we build them here or not? I would build a thousand things.

maybe wall with the head 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 are 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

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. We want to get your tag. We want to get your opinion. Should we work on it? Can you help us build this thing? A lot of opportunity comes your way when I think you have a good rep for building stuff. I think further in my career, that showed very true for what happened after Signaler, pretty much.

You get a lot more of those permissioned opportunities when you have credibility and permissionless agency is 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 see that. Going to your late stage promos, you got the promotion to Principal. You got the promotion to Distinguished at Microsoft.

โ ยถ His principal promotion

I'm curious, what is the thing that led to the promotion to Principal? Principal was interesting. So I had one boss, I won't say his name, I had one boss who told me when I got the senior that my promo was slowed down. And I remember that meeting where I sat down and I got the promotion. I was really happy. And he kind of gave me this donor. 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 have been working on SignalR at the time. I built this. Have you ever used Heroku? Heroku pioneered Git pushing and deploying your app instantly, right? We had built, there was a tech call at Harbor for .NET. This company was doing the same thing for .NET. And we built a similar thing for Azure. This is like super early in Azure timeframe, really. We had...

built this brand new, it's actually still there, it's called Kudu. And I had been working with this same architect and I had built it with him. 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 going to finish what I'm working on. But then this thing happens. I'll help you with this thing. And that ended up being the beginning of the new .NET core, the rewrite. It was cross-platform and modern and new. And it was a big opportunity. So big, it was scary at first. Like, oh my gosh, what do you mean?

you're the architect like and i was senior i was i was it was me it was me 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 have like 30 engineers that were working on this project. We had free reign to kind of build whatever we thought was right. And that was like both amazing and terrifying. 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. Initially, I was trying to code review every single change. You can imagine that Bermuda. Within a year, it was like, okay, 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 urgent versus urgent, et cetera.

That year, I got promoted. Actually, I had my first kid, and I got promoted to principal that same year I did this. The first year of .NET Core design and building it. You mentioned that... 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 Sigmar. The smaller version of Sigmar 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. I never thought that way before. I was always like.

i'm a senior engineer i can get this done i i can do it faster than you like why would i give you this thing when i can do it faster um 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 signal 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, then you can kind of get, get more done as a team. You begin to think about outcomes and less about 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 where I think a lot of people end up plateauing because software engineers are very like, you know, 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 .NET Core because it was such a bigger scale. Like, how do you even begin to manage that many people, that many? facets we rebuilt everything from scratch like we literally rebuilt the package manager the runtime the libraries like everything from the get-go and it was overwhelming at first um what i think helped a lot was

not treating everything as equally urgent. That was a big deal. If this change over here went in and it wasn't perfect, I wouldn't be like, we can't merge this. We need to have this interface, these tests. Learning how to set foundations for others and to trust others and letting people fail was a really hard thing for me at first. I could avoid the failure.

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 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 to a thousand engineers. You have to kind of figure out how to inspire others to do the same as you through different means.

one-on-ones or or you being an example or like more more different techniques but it's difficult to just be to type you're not going to type harder and make a bigger impact so it's like I shifted my brand to be outcome focused. It was a big, 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 say to myself that's the role 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 bands you can be one of these And to me, it really means you're more breadth rather than depth. You're more overseeing the design of the overall system. We have different engineering archetypes, I would say, even at the highest level.

You have someone who's a super coder who is like, I am just going to build so much stuff. I 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 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 espnet core back in those days and i am like

overseeing the design of the whole stack the web framework web server web server how we how we ship package like the entire engineering um idea and i'm not the the engineering lead i'm the architect so i'm trying to vet the decisions that are going to like last for like 20 years. If we do this change now, we can't do this thing like five or 10 years. And I hadn't had experience doing that before, but I had a really good mentors who had done that. I had been.

watching and shadowing and trying to understand through experience, like, how do you build systems that last 20 years? Like, holy crap, right? So as you've grown to distinguished engineer at Microsoft, How has the percent of your time that you spend writing code changed? It's funny. I think there is what your job is. Like, do I have to code every day to do my job? I 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 i send lots of poor 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 i want to be the person who is like you i'm a pair on the team i want to be everyone's players and i want to be facing the builds and do it facing the tax and not there isn't any work that's beneath me it's kind of what i'm thinking um

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 distinguished engineer is definitely about company-wide or organizational-wide impact or company-wide impact. So I think even though my day job is definitely... making sure the architecture of of done 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 impact. 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 and someone said hey you should give a talk to the team you think about the impact of those things they they help when you see engineers who aren't just your boss telling you to go do something seemingly for bad reasons um 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 to be frank

โ ยถ His distinguished promotion

when you got the promotion to distinguished engineer what's the story behind that absolutely insane um first of all distinguished engineer is the final level of like If you go on to the levels FYI, you'll see level 59 to 80. I think the last is 80, the final level. Distinguished engineer, I think there's 70 on there. Right. There's actually an official process to get that title. It's not a promotion that you just get because you did a great job that year. It is...

A set of technical leaders have to peer review and decide if you are worthy or not. 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. Wow. Imposter syndrome, right? Imposter. And 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, like, am I really... at this level can i 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

um 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 impacts company-wide like things what have you contributed that has so it is a lot of it is like deferred impact I guess if it makes sense because um dotnet remember when I when I went to

from principal to partner and the email it had dot 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 a year before. It was like, this is built up impact. And then 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 there was all this kind of build up.

to like, I guess deferred impact is a really good way of saying it. And I think all those things helped. NuGet, SignalR, like how did it, how did the thing that you helped build and mold and... raise, like grow, how did it impact the industry, the company, and 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. 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.

But what made it impactful for me was seeing the other fellows acknowledge and say, well-deserved, and this is about time. Maybe I should be here. This is good. You mentioned the lofty expectations of this distinguished engineer level. Is that something that you worry about now that you've been acting in the role for a while? At first, I would tell people I am a baby D.

I've only been here a couple of months or it's been one year now and I'm not sure yet. I think no, it's been two and a half, two and a half, two years now. 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 impacts right it wasn't it felt very much like oh my gosh i should i need to make sure i'm writing all stuff down um telling my boss what i'm doing like making sure he knows and

Because I think you're almost an executive at the company. You're at the level below being an executive. And it's super scary to think about having to have that impact every year, repeatedly over and over. So I think... I found a pattern for kind of like making sure I had the right level of impact. Talking to my bosses, making sure I was visible, making sure I'm doing all the right things. So yeah, I don't feel the pressure as much now.

Who knows? I mean, things can 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 does that final boss level even look like? So the people who are fellows, tech fellows, I guess the one that, you know, in my division that everyone analyzes, Anders Helzberg. made Turbo Pascal, Delphi, C-sharp, and TypeScript. So, like, no one's competing with that, dude. Because, like, you can't repeat building four successful languages.

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 DAC back in like the 80s or whatever and he helped build, he built Windows NT, he built Azure, 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, 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 impact. To be a fellow, you need industry-wide impact, not just impact in your division, in your companies. 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 and yeah those are the kind of people that end up being fellows i think were there any unexpected perks of getting voted to distinguished engineer besides more money

What do you 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 D's on Microsoft. It is just the coolest alias of the Engineer on Microsoft.

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 So when I was going to be, I told my mentor I want to be at DE. I had mentors who were fellows. Okay, so one tip. When I became a partner, I told...

I told my management that I want a mentor. I want to help find 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. And one of my mentors was very impactful in my career. He 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 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 want to say, sugarcoat, like how to get places, how to get promoted, and they'll give you very generic feedback. You have to do a project that's super impactful. He was very, very much direct. We should go talk to the people who decide and ask them where you are. 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 on 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 in your, in your role. And I was like, that is. Super helpful. It helped me understand what I should and shouldn't be doing in a very real way. It wasn't just arbitrary advice that just happens to you. It was 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. And it gets turned into a package and they give you feedback. And it tells you your strengths, 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. 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? No one gets promoted to these roles for being average. You have to be superhuman. in something that you're like 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, right? So that actually helped me reframe how to think about amplifying what I do well to kind of... get more impact makes sense i mean it's kind of like uh 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

โ ยถ Engineers he looks up to

uh 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 people that I work with in general that are impressive for different reasons. My 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 and there 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 about the OS, and you're like, how does he seem to know everything about everything, right? And 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 recently.

What I say doesn't matter. What he says matters. I mean, it does. It counts. 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 is not talking down to you. I mean, this dude invented four languages that 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 down to you and you feel dumb because he's like, oh, he's super smart and I'm dumb. He does it in a very pragmatic, practical way. But then you see the code he commits and you're like, this dude is inventing typesism theory that we haven't even seen before, technically. Insane. So I admire a lot of watching people like that spread their impact.

Mark Rosanovic, who's CTO of Azure, famous for his Windows tools. He still codes and it blows me away sometimes. He actually is working on something right now.

and he sent an email two days ago and i was like holy crap and 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 i improved the performance i'm like here's the results now is this late 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 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, decline. Now I can write code.

โ ยถ Expanding on his top tweets

So I think the next set of questions I 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. Yeah. 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 though in industry computer science is not software engineering it's not even close right computer science is like learning how to 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. So 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.

right like 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 we would have a maybe it would have to change every year because students will like 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 got to 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 writing a binary 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 i think it's funny i think thinking i think it would be super useful like every every assignment

is making one one fix and maybe you can set up the code this such that it's not super hard to figure out what it is anyone with enough time maybe you know we could figure out i made it this one triple change and and add one text um But I think a lot of people's jobs are tweaking software that's there already. Not everyone gets to create new software. 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 OS. 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 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 first-hand 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 are maybe you learn some coding but they're just not the same skill set and 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's this second skill set that is just not right

not authoring code, that is, how do you even think through debugging issues? How do you know which thread cause the exception? What tools do you use? How do you think about how it 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. Like, figure out what the problem is.

And you aren't trying to see if they can solve it. You want to see what they even start doing. Like, do you start adding logs? Do you rerun the program? How do you think about risk conditions? Do you, like, print thread IDs and try to figure out interleaving? All these interesting things come out of watching someone try to diagnose problems. 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 and was running on Azure. And I was up late. It was 1 a.m. And my CVP... sends me a message, like a DM, 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. And, 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.

I thought to myself, this is one of the skills that you need to have as an engineer. Writing code is a small piece of your overall skill set. Learning how to debug and think through issues is 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 engineers on the team who there'll be a thread to get started off all perk issues somewhere in gRPC call

And I'll add the engineer to the thread and say, hey, can you look at this? Boom, boom, boom. Here's a trace. And I'm just like, oh my gosh, it's solved. It's solved. So impressive. 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 made you think of that? 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 printings or whatever i think maybe i have been working on something that broke i mean a lot of things break that are just kind of insane the 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 list down. So I think when you work at that lyricist, that you gain an appreciation for the kind of changes you can and can't make. I think that tweet maybe was inspired by one of these bugs. Because I work on, 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 how did you find that bug like no one has that what do you mean you have 400 400 arguments to method like that's not there's some limits somewhere that like That can 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'd be for, because I had it on a really fast path. And I thought, I mean, maybe it would make people jealous. It was like, why not me? 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 way smarter than me. So my way of working through imposter syndrome was just to work really hard.

be a busy bee doing stuff um i think i understood that when i got promoted senior that the impact was not about being intelligent it was not just about like getting the highest grade or being smart it was like are the things you that you're working on being a popular business and that was the shift right under 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 NuGet thing, the SignalR thing. That's how you get promoted. That's how...

you add impact to the team. It's not just about knowing this thing about 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 gotta 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 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 it's 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 really worried at the time because it was like, new person joins team, gets promoted really fast. Do people see that as, why not me? Or do they see it as, yeah, that makes sense. Right. when i asked 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 if people are just like, man, I don't think that person deserves it. So you've been working at Microsoft for over 17 years now. And one of these tweets that you have is talking about big company tips that you have. And it says...

โ ยถ Big company tip on reorgs

before you change roles ask when the last reorg was what's the thinking behind that advice the big companies are are a machine And I remember someone telling me really early on that, like, maybe it was tongue-in-cheek. It was like, when you are 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 an 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, who were the leaders? What was 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 where we are, where you would be heading, right, in that dimension. My org had a big reorg 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 it just happened, it tells you a lot about where the org is heading, where the team is heading, where things are going. I think it's easy to kind of change teams or move around and not think about the overall. place where that org is going. But then Microsoft is big enough that it's like every new org is a whole new company. So it's definitely worthwhile trying to figure out what the goals are of that org, where it stands, know what happened last time.

kind of thing i i bet i i tweeted that after either talking to a mentee um who had been reorg and i think that had been like four in a row or something crazy um 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. What can you not stand about working in the area or an environment or whatever it is? And go look for that. If you see that, that'll be the thing that will be hard to get around or work through. Let's say you hated open space and you wanted a closed office. If the company was open, don't go to the company that is open because then 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

โ ยถ What keeps him at Microsoft

I'm curious what has kept you at Microsoft as long as you've been. Yeah, every 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. And I actually interviewed at Twitter.

and at GitHub. It's funny, GitHub and Twitter at the same time. And I got both offers. And the offers were pretty good. And it was 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 signaler i was like on the up and up but then here's this offer that like seemed a lot better and they're create pre-ipo companies like shade gold

And there was a lot of deliberation as to 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. Instant depression. I was depressed for like a week. oh my god oh my god what 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 i got they they countered and the counter was

fine. It wasn't like, I mean, I guess looking back now, it was pretty good, but it was, it was fine. Um, but they, they had me talk to like our executive vice president and he was like, you're going to be like at the state of engineer in late. Five years. I mean, he definitely oversold. But I was, I think maybe for me.

It wasn't just the money that made me stay. It was like I had been working on something I had built that was impactful, that was like built permissionless. I think at the time I had been getting a lot of autonomy. at Microsoft and leaving would have been like starting over. Probably 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 a track record. I can kind of work on what I want to work on. at the 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 is like money is one thing um

The other is like, are the people good? Not just good engineers, but like good people that you want to work with. So there's 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. And 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 wanted 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 there. They're at Microsoft and they're doing well. And then they have a pre-IPO OpenAI offer or something better than what they have now. Well, 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.

So 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. You 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 decisions. It's a humbling experience. That's a good one. So it could be better for long-term growth 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 thing that I have worked on for 10 years, .NET Core, was the longest I've ever worked on anything in my career. Ever. Ever. And I think 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? It gives you a whole new skill set perspective on how to make decisions. And for some things, it's obvious. And you can say, OK, well, we didn't understand at the time the scope or the scenario or whatever else.

Things that didn't seem important became important. One of the jokes 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. Somebody will hit everything that you punted. And it happened. All of it happened. And I thought, 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 you shouldn't 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 that could 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 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. 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've seen that work out well and some things that are not well and yeah

Coming to the end of this, I kind of want to ask you some just high level reflections and things. 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. I know the common perception is.

โ ยถ Microsoft culture after Satya

pre satya microsoft was very different from post satya microsoft at least in terms of stock performance um 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 you...

I lived it. 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. It was like things were rolled out and there's a lot more...

The culture just changed completely, right? Probably one of the biggest ones that I noticed, because I experienced this when I joined there, was teams competing on the same... and go 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

Who knows what would happen? Misbandon, Riord, something else. There was a big focus on collaboration over just being the first to do something. I never experienced it myself on my team, but I... definitely work with teams who you could tell were kind of building the solution before knowing what the problem was. There's a lot of that I saw when 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 a pair or 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? This is not like stuff. Because I had grown up in a culture where you would just talk, right? You just talk. You wait for a pause and you talk. You don't raise your hand to talk or you don't. Maybe it sounds crazy. There's a lot more consideration for everyone else. It wasn't just, what's it called? Highest paid person's opinion. I think that's kind of how Microsoft felt when it joined. If you were in a meeting with people that are very senior...

Hard to get a word in sometimes. And if the most senior person was loud and aggressive, people that didn't think that way in the moment would not get a say. I think one of the big changes was in how we communicated as a company, as a team. Collaboration became a thing that was part of your review. So 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 going to 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 that were being modeled. by the leaders. Literally in meetings, people raising their hands, people calling people who haven't spoken. Imagine you're in a meeting.

and there's someone really quiet that has really good thoughts, but maybe they don't like to speak up in meetings, pulling it out of that person in the meeting. I remember when that first happened, I had never seen it before. I had never seen someone say, Hey Ryan, you're quiet. You'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 consideration for others. A lot...

Less people screamy, shouty. I was in a meeting like really early in my career people were like shouting. I remember thinking to myself like... 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 the gun 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 it 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 Safiya. 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 also.

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.

โ ยถ Career regrets and work life balance

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 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 just not important, right? Being right is like one of many things. And I used to want, I used to like...

I'm right. Therefore, everything else will follow on from there. I think learning over time that doesn't really matter as much because there's a lot of shit that's great when you're in software engineering. This is not the most important thing. I think early in my career, I was very much like, yeah, I'm right. I don't really understand why we're having this conversation. Why are we still talking about this thing? I'm right. Every now and then, it'll creep out.

I think I have a lot more self-awareness now whenever that's not the most important thing for the moment, even though it's like a thing still. I learned over time how to dial it. But in general, yeah. Maybe the fact that I didn't leave and go to Twitter, because I would have gotten a ton of money as a senior engineer. 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 going to do a Bitcoin company. I was like, I don't know about this crypto thing. Dude has so much Bitcoin, though. What? Oh, my God.

Yeah, that one. When you look back on your career, what was your work life balance like throughout? I used to answer this by saying there was no balance. There was just like work hard, play hard kind of thing. I would say now, someone told me recently that work life balance isn't about 9 to 5 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. And maybe 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 after work like on different things um because programming for me was not just my job it was like my passion so i

I'll never forget one summer I came back from vacation. I started making games. Just like for fun. 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 that if i were in meetings all day and i felt drained after work and i kept doing more work that to me would feel like no balance because i I want to do stuff that isn't meetings. I'm not doing that during the day. And 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 a workaholic. For me, I love this career. It's kind of insane that I get to code for a living. 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, that 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 one of andrew karpathy's talks and he said ten thousand dollars to get good at anything and maybe it's not true but i

early in my career, and maybe even now, I wanted to become a very good software engineer, right? And people always ask me, hey, what book did you read? What did you... What did you do to become a good software engineer? And 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 um and i'm not sure if it's good advice but why i know is that i did not get good at software engineering or building building a programming whatever you want to call it from like seeing something online or reading a blog post or it's like, just do it. Like build everything. Databases, distributed systems, games, like everything you build will teach you a new skill that you don't even know you have.

until later on. My GitHub is a graveyard project. I just build stuff and put it on there. I want to learn how to do... 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.

And 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? And that pattern of like, I need to know how this thing works. has served me like to this day right like i need i need to understand how the thing i'm doing works how do i get this thing to be on that thing um yeah so i i love what I do. And I think that has helped me do it more and get better at it.

โ ยถ Advice for his younger self

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. But 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 um 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 said no. Or I said, I'm going to go check out Google first.

Facebook and get offers. Now it's just like, what? And that just became normal. That became the norm. And it just blew my mind. I couldn't rationalize what was happening. I do think it's definitely worthwhile doing that. I've seen kids do it so well. I'm like, this is so impressive. This kid is telling us no. And I've been on enough hiring committees now to hire 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. Bump it up. It's awful. It's amazing. Mass respect. Awesome. Thank you so much for your time, David. Really appreciate it. Is there anything that you want to say now or maybe where can people find you? I am available on X, Discord, Blue Sky. Are those the main tools? Are there more? I mean, there's LinkedIn, but I don't know if you use it.

LinkedIn. LinkedIn. Yeah, you're right. LinkedIn. Yeah. It's funny. LinkedIn has become a social network is the most bizarre thing ever. I am on all these things. Tweeting about .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. 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 if 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.

โœจ This transcript was generated by Metacast using AI and may contain inaccuracies. Learn more about transcripts.
For the best experience, listen in Metacast app for iOS or Android