Becoming the ASP.NET Architect with David Fowler
Gratefulness. Yep let's, do it. All. Right, welcome David. Can you give us your name your ranking your serial number. Serial. Number - who are you and what, is your role I'm David. Fowler I'm a principal. Software, architect on. The ASP on that team and. I've. Been here 10 years 10, years 10 years all right so I want to drill in on many. Of those words let's, start with like wake all right so architect, is like one of these words that I feel is like super, overloaded, yeah and so what I want people to walk away from is really understanding, like your understanding. Of how you view, your role as sort. Of I do, you think there sounds like this beyond that core architect, like what's the correct what's the right way of thinking about it um, so I've been on this the estimate team overall, for a loop for 10 years different managers different positions different roles I'm the, architect role for me when I first joined was the role where the. Person who kind of like made, sure the entire team had the right design aesthetically. So, it's kind of a mix between a, program. Manager which does a bunch of like planning and design but, we go deeper we we actually write code sometimes, ok so you have a mix, of writing code and of planning and of design so. You're in design meetings any, features but you're also planning, the next the next milestone with the PM's I see so in some ways like you you think about it as like you're intentionally, taking, a bunch of the roles and mixing them together correct, it's not like and in some ways like you you listed project management's in there a certain extent as well as design. As well as but obviously you you hack a lot of codes yeah ok I say that the biggest difference is that I, get. A chance to work on features that aren't planned, yet and and they may become features and I don't have to do the entire thing myself so I could I could, um have, a new idea for a feature do. A quick prototype ok and then have it that take it over I get, it so you don't you aren't responsible for actually doing all the future work of everything got it it's more you making sure that things are going as as planned, I see, and so, like in someone's you like you don't have you don't have reports, right now like you're not a manager so like when you do the handoff that's like you, have minions but they're not like direct right. What's. That what's a good word for this. Yeah. But, they're short and they're pill. All, right no all right so but you have someone you can call I'd take like you and, that allows you to kind of leverage your ability to focus on doing like design work what you see is like kind of your the core the core your core job, and then on you have other people like more, skilled at taking that vision and like making sure that it more. Skilled. Which. Is like even if you're a better, better. At typing than, the, person who in, the olden times when people use typewriters you would still have someone, do that for you so that you can leverage your time right to focus more on that so the key thing is influence, but no authority okay, and that's kind of the key phrase of this, I see rule that were, your we should say what I see my roles because i total, ambition, people. Who don't work in my, croissant. In our ecosystem. Can can learn from this so I see is an individual, contributor okay means you don't have reports, you know a manager, this. Is one of situations where both you and I have only have. You worked elsewhere, this. Is my my no critical here right so feel. Free to in the comments tell us when we're jargony, don't even know it assert Microsoft jargon or industry I think is I think it's industry jargon, okay think, maybe okay good, well now you know enjoy contribute yeah, so. The whole thing is that you have to influence teams and people without having any authority over them so you can't fire, them you can't tell them you know you're, getting a bad review you, can't have to go I'm we're. Doing this feature we. Should do it this way I'm. An architect please believe me like please God. We've see, you have to build up rapport and but the, the whole like York. Lot of people I see so they trust to you and like right, so it's like reputation. Management, yeah like basically, the key that's the key thing in games. I've done as an architect cool, alright so let's talk about what you've built so, architect. A is pet net stuff, so what, are the things that like you feel like you had the big, contribution to building, inside, a fantasy work so I started 10 years ago when I started I was working on asp.net, webforms. That. Was pretty fun I worked on this thing called dynamic data okay it was basically a way to scaffold, admin, pages for website, really fast and I work with the architects actually very closely David.
Emmel Who's, left now but um and. Then do, that for a couple of years then I worked on were, you sort of a dev at this point in the story yes I was his minion area so it's like so, he would throw things at me and I would just like do his his feet, and. Then from then I kind of got my own it is and it kind of gave me he can i he, pushed me off into into giving me that that kind of power to experiment. The stuff sure so, working on working on the. First night I ever did I worked on a bunch, of web forms of, features. Yeah, that basically. We showed as the future of web forms and I, and, and that's what I knew I was doing something special okay, we had, an MEP summit and, they were showing the things I do in my free time so the MVPs, sorry the yes, yeah. Yes planet all right so these. Are like the Microsoft most valued professionals. They're like I. Would. You cut like super enthusiasts, who work closely with the proper balance, ideas off them and then once a year they come in for the summit where is it once a year so yeah yeah that and they come in and we we share ideas but of course we get their information all the same so I've been working yes. Yeah. I've. Been working in my free time on on, a couple, of prototypes for, web forms and my. Team showed. It as like the future of asp.net, webforms and I was like wait I just had to stand together in my free time how. Come they're being shown as like the thing we're doing okay so this is a thing that I'm doing that actually seems to have value so I was keep doing it right right so we kept sort of like where you establish the, pattern that you wanted to later get yeah I I think, it made the team raise that that this guy could do some stuff right I could, trust. Forget. There and have a prototype, working, quickly. So. Then I we, ended up working on this thing called a plan, name with codename it was basically a compete, for PHP. Style. Sites the whole goal was to make it easy to write web pages and, dotnet and it's too hard because there's too much web forms and stuff so what, if you could just write code in pages again like PHP. All right got it the, whole effort spawned, a bunch of tech razor. Our, our. Rendering. Engine yeah but something engine I'm, at spawn you get a, new. Get was came, about, in a really fun way actually where new get we had a package manager in the webpage mm-hmm. We thought it was the coolest thing ever where. You can install packages in a random application, it's, not secure all but you know we didn't, ship it so you always had that stuff later exactly yeah okay. Yes. So we ended up having a meeting with Scott goo it was me Phil hack and David Emmel and we showed our prototype for the Umbro subversion, and Scott goo have been thinking about gems, for really our president our big boss Yeah right sure. You got the right tree we Rio. He. Had been taking about Ruby on Rails and, our compete with rails, and gems was, their package manager and we didn't have anything and there were a couple of package managers that were being made by third parties and, we have been working on nigut. So. We kind of got together built, a new get and that was kind of the first time I remember I got to use computer science at work like. It that in the. The--okay. All before that we do like some code, here. You. Know you do all the algorithms and you do all the CI stuff and then you come to work and you're working at only fixing the build yeah sure. And. That was the first time I got to you that graph theory and graph walking like that and so it was cool from me from that point of view got it I don't really understand, the impact of new get would have like, on the whole yeah. Going forward it just felt like this, is a cool thing I'm working on right now and then we saw it grown grown girl I think, that was one of the big, bigger, things I think had a bigger impact. Early. On we wrote the server the. Client it, was all crazy it, was us running, a life service, braylee, we had no idea how to do it and it would go down and we would patch it in production like like you all this dude. Not. A. Fun time this is probably worth mentioning that at this point yeah running services in Microsoft was still a new idea it's pretty new yeah yeah I'm. Not sure where Riley there was no Asherah I think it rocks that some guys Iran, ah maybe I'm dividend was like machine the. First version of Jack's Leon CodePlex okay it was repository, and we took poor requests for new packages and then. That outgrew. It's like sighs maybe let's, make a server with the protocol, and then. Use old data and then as a skill grew things.
Kind Of fell apart so we have to make, a brand new service that was kind of scalable, I, did. That for about two. Two, years two and a half years but, the whole team I was the first step on there yet okay it's. Funny because when, they get team come and talk to me some new dev yeah. That's. My good I'm sorry you gotta be careful because if you if you manage for too long they take all your code out and anymore. Intern. Last year was like yeah I removed. Some vodka from the again I was like that was my codes. No Thor yell I can't for anyone. So. That was first Nick it was first and then I. Was. At, the same time as plan nine and I'm, you get I was working on the side with Damien Edwards on this thing calls to signal, our and I. Had been doing it I'm not sure why I've. Been doing it I have been working on this thing like host ID so. You know how we had yeah Skye D like I do you would sky yeah so like cloud. IDE, got, it and the whole idea was to have a file. Sharing a kind of a code sharing experience, so, I want to make it so that you're, envious I'm in the browser I can share my sting with you so like life sure oh yeah, but like, seven. Years ago so, much much earlier than life here but. Worse a worse version, much. Worse version didn't, work at all so I was building this thing and, I, had to make it work with like if you're on that okay I say I start to work on a library to, make it so I can collaborate, over long polling between, vs, and between, my web application and then. That turned into this thing called signaler and I saw Damien had given a talk at a conference about, how, he could do long polling in its period because it because because there were no good blogs or anything on how to do it so, he had to give me a talk on how to do it and I had seen it today, I go away he worked here oh I. Said you guys we're gonna go so, I put a thing he, gave a talk about it I went to a minute and I said hey we should I did, a thing you should come see my thing ice, and then he saw it was organic, it's organic yeah okay, and then we started working after, work, on link. I think it was called a timely link not not scape for you. Called a different different yeah, that. Way and see me. Oh great we talked about that like after dinner, time we'd be on that thing until midnight okay, he's, an old mine he went to bed early I see I was up all night working, on this thing we, built the first version it was not a Microsoft, product it was open source okay, and, we. Put, it this like literally like lighting. It was yeah. It was actually where, we we, out work we didn't work on it at.
Home Opened, a different, version of this, video. Like. An older one so your. Xpress, i say so we didn't have to like that's. The license. Man so that's you, can do that so we put it on bit bucket it was our first experience doing open source and I got in real life it seemed. It I think, what made it pop it was so easy to use you could do chat only five lines which, maybe in hindsight was a bad thing because people end up like, having. Unscalable chat because the thing you can do I see what stop in five here this is like a if your sample, is too good it sounds too good filler yeah yeah people are still easy to get started that it really is but man my scale is really heard got, it well see we put it on bitbucket. Last for a while and then we had, a conversation with Scott hunter, who. Was our boss, at the time and he said we, had an agreement that after. We shipped platinum we would work we would make. Signaler, um I guess our product okay so I got transferred, from like, our ownership to be a Microsoft, product and, then we got you a test II don't like it's like that like a process you like a test ownership, we, had to sign, a, thing actually first. Time you had done like a copy right hand over to my dad a good lawyer, yeah I mean I got my lawyers I learned, up just to make sure all. The, legalese. Were perfect it was perfect um it's, funny at the same time this was happening I had been working on this. Thing called kudu. You. Know that is I don't think so so kudu is the, azure app, service, get, deployment, technology, oh cool, so when you do get push to, app service, he's, kudu and, that was me and David ever working on this thing so I have been working on that was like your day job yeah so my day job had been going from plan line to working on this thing because. At, that time Audra had just been like. It had been already I'm gonna have been really hard to use and up first was just coming out and saying okay I can, deploy Hoshi webpage yeah yeah host your simple website on our using app service I think, I think it was called something else but then leaked websites. Roger, websites yeah and we had been working on me and David about have been working are, in our day job on kudu, so. I've been doing it like in. My day job and then I'm in my free time every day signaler so it's kind of like split brained got it. And that's kudu kind of got booted, and I was working like maybe a year and a half in and, I got promoted to senior, and then, I had to make a choice like Leona keep working on kudu because because by then the, team was being a reorg to move into the azure team okay so I have to choose, at that point do I leave and, go work on kudu on on, ad your websites or do I stay and keep working on a Sigler and it. This, is this is. Interesting. That the choice if you so, of course one of our goals here kind of sit down and think through like where are the places where you had to make a decision actually, I have a thesis which I'll lay forth which is they're they're actually tended to not be as many of those in people's courses you think a lot interest I find that most of the people I talk to you kind, of weirdly just.
Create These environments where they fall into things that are awesome and creating that environment is the thing but this is like one of those parks down road yeah interesting. To me is the fact that it was organizational, yeah I like effectively, there was a reorg. I guess and, and you, had to choose left or right yep and it, was hurting me because that would have been the first time I wouldn't have had my arctor that have been the whole time at Microsoft I bow in this case yeah we have been working together the whole on everything basically everything we had done was together and then, I was, kind of located do a branch off and I'm, nagged I know or like is it is it time to like leave him and let things because he was going to kudu yep you go in there he was already set on up service that's his thing so. Eventually. We, split you know he went to work on app service and I stay on Ziggler, and when. We had finished like that work, we. Actually got a whole team to work on signaler and this was kind of like a moment where I went, from being just a, senior dev to be like the lead of his team and there's. No technical yeah, so there's, no like there's managers. And there's i sees a Microsoft. There's, no technically position usually, in a title yeah but I was like the person, on the team responsible, yeah. This isn't a formal thing, so. I mean it had been me and Damien and ran this entire team and we actually got like Jamie's. The program manager yeah for a matter yeah we got I think it was about five engineers working on it like two new hired from college I'm really good and so. You felt the skull pick so yeah so it felt like wow like I got a team to work on the thing that I built like in my free time this is this is this is a thing here copying, that but that's kind of cool we. Got our own beat we made a fake team room because but then there were still offices we had a we, got some conference. From flying, comments. We're. Sorry. I'm. Sure your opinions, about team rooms are very very. It. Was amazing. And. We went. To the experience, of going from an, open-source. Site project by Devin to p.m. - a real, Microsoft, product, with like security, requirements, and like it, was an insane couple, of months to make it go from that product to like a real team product got it bunch of bugs were found security, bugs security, reviews so, the level of investment, that, we that we had before compared. To like after it became a product was. Immense got it and the amount of stuff to go through and, like check boxes, to check to me it sure you can't ship as a product that was serviceable, impossible. Is like eye opening, for me. It's. Been Sigler kind of like we, shipped it one oh and they caught, on people used it like everywhere, it was kind of the thing that I thought would be impossible I don't, really understand how impactful, got, it we're like five years later even though people.
Are Just discovering it and going like oh my god I so he's the use and I'm like oh wow. This is this isn't even all this has been here five years but it's doing it's super useful do you like I don't know if we should serve we have like a number do you do you have a sense like I get I obviously don't have that kind of thing cuz it's people things are a bit boy but, do you have a sense of how little you think yeah I I, don't know I've talked my head I I a. Lot. Yeah. How. Many Twitter followers you got I'll tell you what I'll tell you is use. In places that I would have never thought we, used in the first place it's, using Visual Studio in various, extensions. It's used obviously anywhere, you want to connect to nab them communicate, through a pipe in it exactly, yeah yeah. What. What we learned the hard way of doing, Sigler in the first I learn, a couple of technical problems that'll, be sort of like doing. Distributed, systems in general, is really hard we, went in being, a team working on the single framework single, box was the main thing and then, doing a signal. Kind of was a different, kind of skill different kind of level of problem I'm going, into it you know I go in with first principles know if I'm doing X I didn't, read a theory I just like solve it doing these, things yeah yeah it's logical it makes sense and then you learn a theory and you're like oh that's. West but it's a guarantee order at my skill with infinite reach really but. Because, you weren't coming from a distributed, systems behavior yeah so we learned that the hard way like did, you like add people into the team that could help fill those things are you basically we strapless. Up various people in the company and that new stuff I am, II got feedback from those people and so. Because you had sort of a network available. Of people who could like supply the expertise, that you guys have now yeah it's not like you had to like go, to the Microsoft. So. Eventually ended up learning just, but, by nature of happens to helping, customers solve issues and fixing bugs the. Kind of things that you don't that you design for when building a system like this at scale I mean, like do. You feel like you. So, obviously you didn't have to throw it all the way in like, end up working so do you, like was that like a situation, where you just feel, like you just had ok, instincts, and that's why you landed, in a place where you were able to keep the design even though you didn't necessarily have, the skillset that you have now yeah, I think. It was more we, had a bunch of smartness on the team in general so people were just like talking about things in general so we, we knew a bit about some, things like theoretically, iç, ùm and we couldn't design for that and, we had some help from China's, vast errs who is an architect on the azure service bus team he. Helped us design some of the some, of our scaling. Primitives, I think, there, are design analogs. In there world exactly yeah I actually, a really good match because we we, supported, if you, have signaler on two machines and you want to broadcast to all users guess what if, if, you're over here it, has to get this machine somehow yeah, so there, we, had a plug in yet work. We, had plug in for service bus and, send. This how to written the first version, of that cool. Using. Our extensions. So. He helped us design that whole thing and it helped me learn about the systems. And, it helped me understand, what mistakes we made in the day in the whole design a signaler and what on what kind of things the next version would would or wouldn't have got, it right one.
Of The big things that I think we did like things, I saw buzz, that were very common that customers had yeah that were, hard, to solve or unsolvable, in the, older, version it. Was because of choices. That W made it really early on um, so, in the in the new version Sigma we said okay we'll, start by saying we learned these things before, we will. Make. It so that you. Can't delay it and you have to write your own code and then if everyone, complains that then. We'll make it easier I say, so too the approach of let's, not try to be everything to everyone by default but, make it really easy to use and easier, to wrap up on and then, for. The really hard problems well we'll, take it one at a time and solve. Some issues not all not, all at the same time got, it so I sort, of prioritization yeah, sure, yep got it do. You feel like there any like are there any major regrets in the story like or do you feel like there was a like. Is there like one thing that you would wish you hadn't have done that you can talk about that uh, I'd. Say like the adding. Support for scaling out Sigler to multiple machines it's not a regret it's. A thing I wish we understood, more about before just like jumping into any would have looked at that earlier so we shipped one Oh without it we ship one point one we added it and it was that, was me doing the feature I did that whole picture like myself. And, we so we designed it but I wrote all the code for the future I understood I like some of the design choices, that we made we're. Just like insane. And. Was it just like and then you got a major, version number sort allows you to like undo those decisions, yeah okay, yeah so, for example um no fatal flaws base yeah we had a cache of a million by default and then everyone was like we're, leaking memory, and I was like oh, maybe. That's too big like, those, kinds of things were the best that should, have been obvious about, doing it were just like interesting. This bug. Okay, cool do you want to talk about anything after signal our before transition, into the next section anything so there's yeah new get kudu signal. And then I worked on so. I think either signal our people saw. That I had a track record. For getting. Stuff done and, maybe maybe running a team or running a running. The design, of a yeah big thing right yeah so then I got entrusted, with being. One of the architects for a spinet quarter it got me and a guy called luis de chardin uh-huh. We, got told by managers, hey we're. Trying to work on this this, brand and by the way it was called a spin at five there, was no Korra all at, this point yeah we had been we had a thing called katana and Owen from the older stack that we were kind of trying to figure out how to move that forward, uh-huh, we, got told we're making a thing called it's been at five want. You guys to leave it like. Just go figure it out so. At. This point I was okay I'm still working on a single line so fixing, bugs I'm still like in, the day-to-day how. Do I like pull do you think about this is making a transition from tech, lead to to this is when you start to a become, like baby our katana I didn't yeah it didn't feel so, I. Was still Devi was thinking I was too late writing the code in the buzz answering customer on, Stack Overflow and, github I. Was. Still in it right I would. Design features but I still be like coding things like every milestone, when. We did a spinet core like when. I'm into that role that felt, more like okay you, don't have to code anymore you don't really have to you can if you want to but, your job is to make sure that the, whole team knows.
What To do okay, and we. Kind of sat down me, and Lou and we brought, a bunch of prototypes demoed. A bunch of things had, the nice MVP summit remember, ID them on the thing that was basically the, future of a spinet core and it and there's me on stage showing. Product. Jason and the. Whole then I'm a compilation model, and we went, we went and we wrote a thing and, we came back I said this is what we're gonna build and then. After. After selling its people. We. Were just talking about. I'm. Just pointing that out all right. But. Um yeah it's been a course started, and it was a big, project that we basically had. Air cover from our, minds and it was the first time I felt, that much autonomy it was a little bit scary at first it was like oh like. There's. Being responsible, and then there's like okay you can do whatever you want and your, manager will cover you and hopefully you, made the right choices yeah that, kind of. Okay. I. Shall. And. We learned about being a bottleneck so there was a big team working on a spinet core and every. Single a design decision was, going through me and Lou and I got to a point where we became like this bottleneck, and this funnel got, it where everyone had people. That want to design a thing yeah, we're coming to us and going okay I have this problem and we really like it I'm doing, these ten other things I can't, do this right now so, we made a thing called labs lines. And boxes okay. So every every. Um. Every. Day during the week we'd have like open, open hours for like lab designs okay, where some would bring in their design issues and we'd go over it in the board like a diagram, I see boxes in. Different. Yeah. I. Guess balanced. And. It helped us kind, of like finally the problem and this, is where I began, to learn about trusting. Other people got. It smells bad what, I really whatever I mean like we all go through so. It, went from me having control over the code I was writing and everyone I didn't go across yeah according, to everything having. To like not being able to review, everything and it was really hard for me to be good in some ways I think quite yes, the architect, role is ambiguous yeah, it's actually one of its defining characteristics, but in some ways that's, the thing about it it's like you're probably not an architect if you, can't like. Delegate. In the, individual. Contributor sense of exactly of decisions, to other people and building that trust and you have to let other people growth as well all right like right I don't. Want to micromanage everyone's, decisions, so you, have to kind of let people make decisions and, then, kind of like keep, them on course but don't grab, them and tell them to do like take your battles yeah exactly yeah I remember, there was one situation, that that I'm that happened I won't mention any names where. A dab design a feature, he. Went overnight he got he got requirements. From the PM he designed the feature overnight, he came and showed us and. Somebody. Had a different idea of what, they wanted not, idea they had a different, implementation got, it in their head so. Whatever they were shown this, wasn't the answer because it wasn't did you match the vision they had them yeah so they're like as.
A Result that they're not being not not a great thing. Because the, dev didn't feel like it was in power to make decisions right that's when I began to realize okay this rule is a one yeah, this isn't really about me. Being right or me having the answers to this yet, some problem it's, really about like making. Everyone more productive it's like creating the environment yeah it's, the right environment it's, the right technical leadership and guidance for, people to. Not to not only tell them what to do but to tell them like to, give them free roam and have them tell, you what they think is right or wrong so. I had to learn how, to go from we, should do this to, what do you think we should do interesting. Let's, see how we can tweak that to match, whatever the goal is so, what got you from A to B is it like you just had this realization, at one point beat into it. Bang. Your head against a with a scale the, amount of people that were coming to me and asking for, Lea made you make choices why I had to like to, prune I have to go I can't I cannot. Micromanage, every single decision I see even when even with two architects, we, could admire the work so, in some ways if you're working forward like it at each of these sort of transition, stages yeah you. It, was basically you, had to identify what, the skill was that you needed at that point and then, basically. You allowed the time, management right, to force, you to do the, transition, that you needed to exactly and, that resonates with me as a manager yeah it. It took me maybe, so I told me maybe I would say only two. Years ago I really. Felt like I have I had, let go I say, enough I still, felt like I was like I have to do this thing after this thing and then. After a while bug, stopped getting assigned to me but, I must I were assigned to me were like we're come to us because that weren't gonna happen. Instead. Of using a tag you just assign it to David I definitely. I can't, I sign the but because he's the architect he's, not the one who's gonna fix it anymore and I, thought wow is, the thing happening here this is, this is this is different I thought I knew I thought that was you're like looking, back and seeing it when it happened I wasn't, just a principal dev I was. Like a person. Who wasn't supposed to be in charge of writing the code for a future at that moment I was more. Hey. The bug is assigned to him but you know this should be a saint to a dead person I work on it and they can give it can give the feedback this bug okay, cool yeah all, right let's transition let's talk about so we did one of these already I want to work backwards in time and I, want to see the places where you felt like you had to make a choice are, there others like is, the one that we talked about where there was a reorganized, left or right what were the others what was a or two so I. Had a bunch of your Microsoft, is really good at Career Development by, a theory. Or guide it was one where I recall. Us. Having a choice well, what working on a signaler to. Be merged into service bus okay. And, I was like whoa. We we. Had been merged into the azure org as a whole, yeah but then there, was gonna be a different, Fork okay, and I went huh I have. To decide, if I wanna like if stick was gonna move for, this thing or if it won't and I, had, a choice to like do we want to have the team go there like you have that be a different manager and I said. No and we kept Sigler and, it's. Beyond that, though. I think I was a good good choice overall but, it had, been a whole like conversation, like should we put Ziggler as, the cogniser thing it should be a per service bus and, like, what do you feel like what like what what, made you like, we don't need to replay the engine, but I'm curious like what you learned or or whether, you feel like you did that well or if you would have learned. Anything from the process and so that's it what everyone always told me and they said this isn't a statement on any specific specific. Team or manager yeah um. Working. With a good manager that you like and let you enjoy working with is super important okay um it. For me at that point it was like I lightly manager my management chain I think, I'm doing well we thought you were getting the support you need it so rather than taking a variable, yeah into there where you'd be adding risk yeah, exactly you felt like you could still grow yeah I thought I had let's, me autonomy what working I spent I felt like I at that point we're like why, change this right now this feels like I'm still, like in the middle of it I don't want is.
It Is it fair to say like you're you're still able to turn that into this sort of the juice right yeah it, was that and that like yes, you buy it buy no there's an alternative, universe you know in, the Marvel multiverse exactly. Where you're over here we're getting very. Established. All of those exactly, things, but you felt like because you had that support, structure in there why take the risk exactly yep yep. I think, of a different, time where it happened, I, say. Every time I move from, from, my previous predator, to the new one like moving from you get to signal or it was tough - did. You was that intentional did you did you choose that I don't know that one I had to move between my two children but, I felt it felt like man you get and you get wasn't like done it was, we. Were growing a team there's. A lot of people working I know it's the key, there. Was a server team and a client team and I had been working on early both and I have been lately new get guys because I have a different beginning and like. I had been working on Sigler in my free time but, now I was getting the chance to have to like lead signaler, I was. Like I have to I can't not so in this case so, in the last one the decision was between like, you know support this one was about there. Was just a baby and you just needed you just needed to make Sophie's, Choice between yeah. In. There and and and you just felt like there was so much potential inside, of signor and that was the signal that you just basically went with yep cool. Okay. How'd you pick this place Microsoft. Yeah that's funny so. I, went to college in Florida I call it the the MIT of Florida which is it isn't it's fi to you Oh Florida. Tech okay, and, I went there because I knew Microsoft, went to went to the career fairs, Wow. And. I think I mean they go to a bunch of cars in my site I chose that. Because they had a good CS program and. Because we, had a code there, was a career fair that had Microsoft. And. I. Heard. Didn't recruit like freshman's. Is to earth recruit freshmen so, you'd only go like for an intern yeah so you go to the career fair in your league senior, year but when, you're almost done okay, to, get in again internship. My, freshman, year my friend, I wrote a game we made a game and there was EA there and a Microsoft. Cards. Yeah yeah. Yeah okay and we, showed the game to, the. Turner arts and to Microsoft, and we, got interviews because. They were like oh my god you guys wrote a game like cuz we didn't know anything. Remember. Writing I'm sure you do a thing. Any. Theory this. First year you learn Lee intro to Java and. I have encoding way before like this, college, right, so. We did a Java is that thing it's like it's, like c-sharp but like. Yes. Um. So, you are learning yeah theory, so you weren't learning so for example in the, game we wrote we, wrote a parser, for my math right so you could like evaluate.
Expressions, In in, the game it's like the traditional first Delta calculator yeah out so in your game but. It was like parsing, in fixed professions, and can't evaluate, things, like, we didn't know that you're, behind it so, I wrote a thing just, based only first principles I thought was like right, and. It turned out it was right sometimes but then other things it was just like completely wrong or because it didn't. Have the right precedents, and ordering and stuff and then my friend went to class but went to a lot, of class and he learned about RPN, reverse, polish, notation and. Then he was like oh my god I've solved the problem that, was our first learning of already a parser, and that, we. Were at that stage got, it taken at any course in algorithms it, and. We got interviews, so. I interviewed for internship and my. School was known for testers we had a software testing Nuria so. I got put in a bucket from the get-go there was yeah, which was basically, Microsoft up until about, five. Years ago we, had three disciplines I was suffered to development, engineer software development engineer in test and program. Manager yep so you were asked it yeah so I was I was so, I didn't know that at first my yeah so during an interview I. Had. To go like study superher because I had nothing algorithms, yet so had to go learn a bunch of things that linked. List yes I. Got. Asked all the weird. Brain. Teaser questions on there oh really or we cut those questions I hope because we did, yeah, I felt like I got, asked the question about how do you count the number of gas, stations in, Florida and I remember staying on going I like that they localized, the question. Is. That trick question I asked mr. question, he said no and I was like what. So. I got an interview um I interviewed for my internship I flew out to Microsoft, interviewed, I was a member being. On in the hotel room with, with the algorithms, book like open is the past you still are my face book, I. Was. Like, reading a book I was like I'm gonna fail I'm enabled, heaps and trees. Very. Much just in time I didn't just. Do, it the night before in. The hotel yep. Got. Internship. I wasn't asked it on the AC on that team okay, oh. Wow. Okay yeah so the constant from internship yeah and then, I at. The, anime internship I told my manager this is a great internship I want, to be a developer, and, I interviewed, to be a developer the. Last day of my internship oh good to be a developer intern so. I came by that next, year hasn't asked that as an SD intern and then you sort of rode the intern program into yeah, compliment. Putting forth an offer and young folks yeah yeah, let's wrap those traps Go Daddy go to fight to Bill Gates house I was the last class. To go to a Bill Gates house yeah. Yeah I think. We still do pretty good job yeah. Yeah they get lately, artists, known right that's, what we should you should send us Twitter and bust if you're an intern at Microsoft, we'll let you go over to David John's he's, got some work at the back yes. I. Was. This close to bug is I was like so. The the intern at the in tournament on his house they take your phone and stuff cuz can't take pictures at his house, where. They. Took us to like a like a church I think and like they said, hand the phones over and I was like swear on the Bible I think I think, there was a good I'm, not a doctor - definitely, took, our stuff and. Went to his house and, we're, sitting on his like epic. Lon and then. Someone. Shows Bill. Gates and I remember, standing it up I like turning around and he. Was like the interns hadn't had pulled a circle and I, was in the middle of the circle and he, was there I was like. Hi. And. They're all super. Smart by asking him like questions, that are that sound super smart and I'm just like shall. Shortly. My. Closest, touched, by greatness stories, is like one time when I was at my first conference with customers I came out of the. Bathroom in a Japanese like conference, hall and then, I bumped, into bomber. As he was on his way to stage so. Yeah. Yeah. Yeah. Cool. All right so, let's, go to the beginning then yeah so when, do you realize that computers, are thing like what's your first computer when did you have your first I had a computer, exp, intosh, se, when. I was playing Frogger on that thing from be had karpas Frogger, the Frog did you become, er San Diego I'm about, then I was just playing games I think games got me into the programming, I want to make games games, were like I played so much games like oh my gosh got, it where's that I played so much games in my like teenage years and.
I Don't play anymore at all no I just like stop playing games i I find. There a thought playing games but I used to play so, many games like I had, I was the same yeah but then now, at the kids i yeah. Maybe, eventually when kids, get older I'll tell you more games. I've. Been playing ton, of games RPGs, like everything Age of Empires all this stuff and then like. Around the age nine, ten. I just, felt, like I wanted to make one so. I went online like how do you make games there's, online in the store I had a hat on I had internet. AltaVista. Today's program, is brought to you by Alta, Vista vest. Cert so. How do you make how, do you make games and I found. This thing called QBasic okay, and then I was awesome that it was basic install QBasic and then. I made. A towel based RPG because. That's my my. First things a towel based RPG within day on screen moving around and, then, that got me into programming I just learnt like a from. There it, was QBasic, so it was like 10 print, David is awesome 20, tile. Based RPG you. Then. IPhone pass callosum. Home so you sit, mostly self-taught yeah, from, I still before, school, so, I learnt my stuff on my own and then we, had a passcode class I had Pascal in school you did yeah even the, old side yeah. And. I'm by, then I had known enough, to like know the basics and stuff yeah then. I did I see, I finished so. In barbarous, there's primary school yeah we should talk about yeah where's Bart baby I think what does in the case I'm from the Caribbean I'm not from America. Marianna. Were, in the same school, what. Is it like at, the same time same time Sam school should we see she is two years younger than me so. As, you saw me she, might she probably looks up to you she might actually know me I'm not sure though I, saw. Her in Barbados like maybe like four. Years ago no really. I. Looked this up so it's, part of wanting to look smart like, I I did I did read the Barbados wiki nice last night and, she's I think she's actually like she has a title, as the ambassador. Plenipotentiary yes. Which is a great word. Yeah. So. We written so you have something to aspire to you're the same school yeah, that. Means stuff. So. In Barbados. The way it works is you go to primary school until age 11 they, make you take a test like. The SATs to, get into high school it's crazy actually I I guess, I know I'm. Gonna Barbados. Yes. But it sounds like in the like UK, style, is that right is it your uniform country your uniforms, you don't wear your own clothes to school that's that's. American a sweet pole right now we're like your kicky. Uniform. And you wear your dress. For your school so. You do a test at 11:00 to get into high school you. Get just some some high school and then. Getting track you basically the track yeah yeah you can go until until. You're 16, or 18, okay, so, you can, leave a 16 and go to go to Community. College I'm, get, an associate degree or you can go through go, through until 6 form and get your, a levels marry you just kind of like um, it's. Um in for. The UK people is. GCSE. Yeah, yeah. So I'm there different time working yeah. He's. Right 18 right. You take it like junior, senior year high okay yeah I'm third, fourth year so, what I did is I I left class 16 and I went to Community College I did physics. IT. And, math. I. Got. An associate, degree and those. Things and asked and at that point I hadn't been doing IT Billy. Programming, got it and that was like where, I had to do it for a class like for real and. When. I knew I want to do programming again, when I like see the deal yeah, was when I had. Been doing a project for our senior project and I want to make a Windows, GUI I didn't. Want to do I just like been. Online Windows me right sure just type in on on, the AltaVista, or. Maybe I think. Goes there by then and. Just. Think oh when 32 and. I, didn't, even know that I was coding and see really I just nervous coding in Windows early cuz you're kind of going from the samples yeah example he's not too easy for signal and, everything so MSDN had called hobbles for everything I could just copy and paste and run and like learn by trying things right and debugging, I've, been using Visual Studio did.
You Get from school. You. Could say pi. Radian. No. I got it from school hmm. Yeah, got. A really good educational, program I we give those things away and, I. Had I have been up all night I remember I was up until a 5:00 a.m. and I wrote this in GUI in win32. In like see I could have used a visual basic I could have used like VBA and like, anything. Else right but I had done it in like C, and it felt soup I felt like super, hardcore hardcore. Like an actual GUI right like buttons, and we interactive, in the dropdowns and like got the whole thing working no. ATL none. Of that stuff just like when drawing 32 right Wow and I demoed it my, teacher was in the commune yeah yeah, her for class and, I demoed it and I was so tired I was like I, had. It slept like. For a whole day I was up just Li glazed, over I my, professor asked me like what I use I say win32, and he was like what. Yeah. I just wouldn't. Happen I. Don't. Believe you. Printed. Out the code I'm a dot matrix printer. DBA. Or something else and got and the. Same was like okay and so, that that's the next sign that you are capable. Of doing something and I had been I had been like a TA in the class I have been helping everyone with their programs I see, so really realistically. Like if we were looking at this there, was never a doubt yeah computers if you were if you were to ask people in my class there to be like yeah okay, he's a programmer I guess all right let's shoot forward in time again let's talk Mentors so there was at least one in the story right yeah seems like he taught. You some stuff yeah super informal but he was a really good mentor was. The number one thing you felt like you learned from them oh debugging, skills. There's. Something I tell people this all the time, I'm glad you said that he has, some habits that really really good like, imagine. You made a chance to some piece of software and you. You you applied the change but then an it didn't leak show us show, any effect yep, first, thing you do is you you thrown exception in the coal pile in the main code path a play again did. It throw oh it, didn't throw all your thing isn't running like. That. Technique is so simple I see. People debugging and they don't know and I'm like oh my god he would do it all the time he would he, would always ask these questions I were just like perfect like did you try this and there's like Oh, No. So. You told me like yeah really this is my thing like anytime you have any opportunity, you know I'm gonna give careers I started like where you can learn how to debug better like it a conference, or yeah read, blogs or whatever oh my god yeah such. A good skill yeah I. Mean. I'm sure I learn a bunch from him that's, one of the stands on because he would it was so obvious, so it was so like I see, other people like not. Having that skill on going like man he taught me that super early just yeah and he, didn't teach me I just learned from him doing it I mean oh that's how you do it like yes, I was the manager for the burger team for a little while and like I would always tell people like me like you trying to explain to somebody non-technical what you do you say oh yeah I write code which is a lot. Like. Five minutes in the, restaurant, figure out what doesn't work and so, anything you can do in your life - like shrink, that period, is. The number one thing yeah he was amazing at debugging okay point issues um really, good all right best, career advice best. Great vice received. Maybe, the one I got from Scott goob where I remember I was trying to solve. A problem where I had to get a team to do a thing and I had no influence over them so, I thought I had to go like all the way up there management a push all the way though I was gonna say that's a that's good, I thought I thought to get things done you had to leg talk to your boss and your boss's boss and you boss's boss's boss and then have their boss took, across and then push down right like all the way up we. Get to data. Structures, yeah. Seem. Like it's, a tree yeah, fair, point I can jump to like a cousin, they have to like go through there through the appearance so. He. Where, he told me some story about him it's over like this and him. Making a thing happen because he knew a guy on some. Other team that was in his org and this, him knowing that guy and the trust between those two like help them get things done do you do that do, you do intentional. Networking behaviors or is that sort of just something that happened no, I, try.
To Do it more no because I see the importance, of it, the, only reason he's talking to mirror I. Think. For the most part I hadn't, tried it had, been mostly organic got, it yeah do. You have a worst career advice I was thinking about the worst career advice maybe I did, have career advice but I just really. Threw away that you'd like you, sideswiped. The the, disaster. I can't. Think of a late ice off my top of my head okay that's fine, it's not right I've never had my career bus ever in my life, and. We. Kind of talked about one but let's talk about like so. In, terms of making yourself more efficient like what are your like top like in order to achieve what you've achieved like what are your productivity hacks like how do you stay effective, good. Question sleep sometimes yeah, it's a good question it's, funny it's like I had kids, like. Right. In the middle of HP net core and that's, a life-changing thing because you go from like yes I used to work like crazy, hours I would work out work work. At home like, it was no break right. People. Would say does, that buddy don't do it as often I think that, before so. I use my work to communicate, with others to I, use work to talk to the people that are at work and like figure. Out designs and like, figure. Out issues the people are having how, to solve as issues, you. Redirect more of your time towards interaction. Yeah I'm. Not quoting at work so I think I'm in a place now where I get, things, done like. After. Hours that I would normally do I'm sorry, either early in the morning before I start my day I would, do coding stuff or. Afar slightly after the, day's ending when, I was going home I'll do some coding stuff but during the day I don't like coding because I had people are there and I want to use them and get their brain power and access to them at work yeah, so, I normally. Take a list of things that I think are things to solve like, for, the next milestone, it for the next week or the next month I write, in. Notepad and then I, kind of order. It so. You do have a backlog, in OneNote, oh yeah, so, it's consistency, I'm bad I just started, doing it again this year, like I'm, gonna do this here from like blah I kind, of want. To like keep it honest so I can see why I did I said I've been removing stuff just to the as, I complete because I felt, like it was a lot of a lot of overhead to have it there in the file got it if I come if I accomplished it. Yeah. He. Asked me go I did all this stuff already this week a nice I'm doing stuff cool. Yeah you got anything else do you want to share with folks and in terms of curves yeah I'll, say one thing that's interesting I got to a point where. Where, I didn't know if I was doing any work.
And. It felt I felt like I was in limbo where I would come to work I would. Talk, to people go, to meetings, do. Stuff and, I felt like I did something and, I get home and I go what I do, I didn't I didn't like have any commits. I didn't like close, any bugs I didn't do anything concrete how. Are they measuring me how are they like how am I gonna get fired soon are they, gonna find me out like am I like. That yeah and then it took, me maybe. Two. Years to realize that this is my job like what I'm doing is my job I need to go on me everyone else productive like there's, a blog post on hacker news about what, a principal engineer is it's. A forcement that's a force multiplier, so. Senior, dev like you type super hard, you're technical, you get your area you, just like, principal. Devs like don't just type harder they impacts. Like the entire team in in different, ways right I think that's the big difference between got, it between like going from being a really good dev to being like someone who has to impact the entire league team. Or org or company like it's, a different scale it's like you had to figure out how to take, to, take, credit for it ya know, ya journalized, anyway, that was work so for example I remember I wrote the prototype for the in process in. A. Strike or 2.2 we have a new module for I after I resin process and I wrote the poor, light for it but then like. Devs. Wrote the actual code and it took it took a while and, like, we shipped it and I'm like did I I do. It they do yeah. Yeah I recall being in meetings display agreeing, on stuff but I didn't actually write anything, do. Anything without. Useful it's great I'm actually looking forward to getting like people. From all sorts of different roles I suspect, we're gonna find that as we just comfortable were further, along in their career that like I certainly that resonates with me like I literally, sit and talk to people all day and when, I go that's. Like a bad day actually, it's weird kids, like what do you do at work I leave ice bolt two people in it to meetings yeah. Is. That glue work alright, cool, cool thanks, for your time thanks alright, great.
2019-06-09 03:39
That was a bit nostalgic :) Had the same path to computing programming... Gaming, want to make game, Basic, Pascal, hehehe., and now ... C#, Javascript, etc. hehehe.
What a lovely guy, huge fanboy!
Nice! So honest and down to earth, nice tidbits, new follower here...
Inspiring. Recently I became an 'architect' and I'm trying to to do my best, David sounds like a true alpha-dev turned alpha-architect. I especially struggle with no longer feeling the sense of accomplishment (50:45) ... that was a huge carrot when I was a senior dev.
@Barry Manilowa he could have gotten more $$ for sure. I full well stay with my large stable employer because I hate everything about running my own business. Most who go githubs way, fail. For some, the possiblity for granduer and riches is worth the risk. Not for me. Some of the stuff we built could help the world like github did. Screw the world, let them figure it out eventually.
Al Bud Read my comment. You don'r want to follow in his path.
47:00 to expand this - learning how to troubleshoot in general is super helpful in tech and life.
03:35 IC - individual contributor is (tech) industry jargon
David is awesome :)
Nice conversation! Candid yet informational at the same time.
Mr Fowler is now speaking like a real Partner - is about influence but not authority.
Architects are person who don't like their hands dirty.
@boblefest hardest? It's ASP .Net
You mean people who like to do the hardest work.
Been following David Fowler on twitter for a looooong time. Been using Signal R for enterprise apps for years now. He’s so helpful on social media. Fan girl
Typo: "I am David Fowler, *Partner* Software Architect"
We filmed this before the promo was announced in case anyone is wondering why he introduced himself as Principal Architect but the title card says Partner. :)
Nice talk with Mr. Fowler.
@Iwe Naeem architects are usually stack independent. You're supposed to know pretty much every stack. This is asp.net because it's at Microsoft.
Drunk
He always seemed like an arrogant know it all to me. As far as I'm concerned the ASP.NET changes in the last 10 years are a train wreck. Thanks for throwing Web Forms under the bus also. You had it right the first time, until you decided to ditch it and create Microsoft Ruby On Rails, a dumbed down version of Web Forms, minus UI controls. Something that to this day is still missing.
Awesome interview!
Architects need to start lifting and sun exposure.
Poor David Fowler. He could have jetted Microsoft and joined GitHub like some of his coworkers, but he instead chose to remain a loyal worker bee. Ironically, his former coworkers were extravagantly rewarded for their sedition through his employer's GitHub acquisition. America systematically rewards bad behaviors, but penalizes good ones, such as, in his case, hard work and commitment. It is a truly satanic kingdom.