← Back
Scott Hanselman October 16, 2024 22m

EPISODE 2 - Scott & Mark Learn To... How Not to Ship the Org Chart

Read full transcript 15 segments
  1. hey friends I'm Scott hansman and this hey friends I'm Scott hansman and this week I want to learn how to not ship the week I want to learn how to not ship the week I want to learn how to not ship the org chart what are you learning today org chart what are you learning today org chart what are you learning today Mark learning with you how not to ship Mark learning with you how not to ship Mark learning with you how not to ship the org the org the org [Music] [Music] [Music] ch um Mark I went and I wanted to buy a ch um Mark I went and I wanted to buy a ch um Mark I went and I wanted to buy a new electric vehicle new electric vehicle new electric vehicle and I went and did a bunch of test and I went and did a bunch of test and I went and did a bunch of test drives so I'm test driving every EV on drives so I'm test driving every EV on drives so I'm test driving every EV on the market and I went and I I sat in an the market and I went and I I sat in an the market and I went and I I sat in an unnamed electric vehicle and uh the lady unnamed electric vehicle and uh the lady unnamed electric vehicle and uh the lady was you know the the the person so I was you know the the the person so I was you know the the the person so I can't I don't want to name it because I can't I don't want to name it because I can't I don't want to name it because I don't want to like have them email me don't want to like have them email me don't want to like have them email me and be mad uh I sit in this thing and and be mad uh I sit in this thing and and be mad uh I sit in this thing and she's like okay well here's the shifter she's like okay well here's the shifter she's like okay well here's the shifter and here's how you do it and whatnot and and here's how you do it and whatnot and and here's how you do it and whatnot and like I kind of froze up and I said I like I kind of froze up and I said I like I kind of froze up and I said I don't think I would be able to tolerate don't think I would be able to tolerate don't think I would be able to tolerate this car and it was a weird thing to say this car and it was a weird thing to say this car and it was a weird thing to say and I felt a little bit like that was and I felt a little bit like that was and I felt a little bit like that was awkward and she says why and I said well awkward and she says why and I said well awkward and she says why and I said well I'm looking at the map and then I turn I'm looking at the map and then I turn I'm looking at the map and then I turn and I'm looking at the climate thing and and I'm looking at the climate thing and and I'm looking at the climate thing and then I'm looking at the speedometer and then I'm looking at the speedometer and then I'm looking at the speedometer and I can see the O like like the letter the I can see the O like like the letter the I can see the O like like the letter the number o on the map is part of something number o on the map is part of something number o on the map is part of something and the an O as part of the temperature and the an O as part of the temperature and the an O as part of the temperature and an O as part of the uh the and an O as part of the uh the and an O as part of the uh the spedometer and they're all different spedometer and they're all different spedometer and they're all different fonts and then I realized it was three fonts and then I realized it was three fonts and then I realized it was three Android tablets chained together and I Android tablets chained together and I Android tablets chained together and I could suddenly see the organ could suddenly see the organ could suddenly see the organ organizational chart of this large organizational chart of this large organizational chart of this large International uh auto company and I

  2. International uh auto company and I International uh auto company and I realized that some group shipped the map realized that some group shipped the map realized that some group shipped the map thing and some group shipped the climate thing and some group shipped the climate thing and some group shipped the climate thing and some group shipped the thing and some group shipped the thing and some group shipped the trometer thing and then they stuck a trometer thing and then they stuck a trometer thing and then they stuck a bunch of android devices behind a screen bunch of android devices behind a screen bunch of android devices behind a screen and they called it the panoramic and they called it the panoramic and they called it the panoramic whatever screen and I was like they whatever screen and I was like they whatever screen and I was like they didn't even talk to each other and then didn't even talk to each other and then didn't even talk to each other and then I it overwhelmed me because the knobs I it overwhelmed me because the knobs I it overwhelmed me because the knobs the buttons they're all from different the buttons they're all from different the buttons they're all from different groups they shipped the organizational groups they shipped the organizational groups they shipped the organizational chart of the company in a car that they chart of the company in a car that they chart of the company in a car that they want me to spend $40,000 on uh so I want me to spend $40,000 on uh so I want me to spend $40,000 on uh so I didn't I didn't complete the uh the test didn't I didn't complete the uh the test didn't I didn't complete the uh the test drive am I a bad drive am I a bad drive am I a bad person well isn't that a separate person well isn't that a separate person well isn't that a separate question yeah is a separate question but question yeah is a separate question but question yeah is a separate question but but like have you ever had that feeling but like have you ever had that feeling but like have you ever had that feeling that yeah yeah I've had that feeling um that yeah yeah I've had that feeling um that yeah yeah I've had that feeling um and it's actually shipping the or chart and it's actually shipping the or chart and it's actually shipping the or chart is uh something it's a phrase that's is uh something it's a phrase that's is uh something it's a phrase that's used at Microsoft yeah a lot because we used at Microsoft yeah a lot because we used at Microsoft yeah a lot because we want to avoid shipping the or chart but want to avoid shipping the or chart but want to avoid shipping the or chart but unfortunately sometimes we do yeah I unfortunately sometimes we do yeah I unfortunately sometimes we do yeah I think all tech companies do that think all tech companies do that think all tech companies do that sometimes though is the answer to have sometimes though is the answer to have sometimes though is the answer to have some Steve Jobs typee Bill Gates at the some Steve Jobs typee Bill Gates at the some Steve Jobs typee Bill Gates at the top of the thing and then they just eye top of the thing and then they just eye top of the thing and then they just eye alone watch all things because that alone watch all things because that alone watch all things because that isn't really a good model I I think the isn't really a good model I I think the isn't really a good model I I think the that's one way to do it but I think a that's one way to do it but I think a that's one way to do it but I think a more scalable friendly way to do it is more scalable friendly way to do it is more scalable friendly way to do it is to come up with standards like the ux to come up with standards like the ux to come up with standards like the ux gestures you know and that and the ux gestures you know and that and the ux gestures you know and that and the ux language that is one place that you can language that is one place that you can language that is one place that you can just say here are the standards when you just say here are the standards when you just say here are the standards when you write to design a ux for your feature write to design a ux for your feature write to design a ux for your feature component here's your font here's your component here's your font here's your component here's your font here's your spacing here's the way the buttons are spacing here's the way the buttons are spacing here's the way the buttons are going to work and then everybody can go

  3. going to work and then everybody can go going to work and then everybody can go read it and make sure they adhere to it read it and make sure they adhere to it read it and make sure they adhere to it and then it looks consistent yeah some and then it looks consistent yeah some and then it looks consistent yeah some kind of like this we believe we can all kind of like this we believe we can all kind of like this we believe we can all get together write a constitution maybe get together write a constitution maybe get together write a constitution maybe amend it 26 times and then everything amend it 26 times and then everything amend it 26 times and then everything will be great and I'll give you a great will be great and I'll give you a great will be great and I'll give you a great concrete example of what we've done in concrete example of what we've done in concrete example of what we've done in Azure uh for that because when we Azure uh for that because when we Azure uh for that because when we started Azure resource manager our Azure started Azure resource manager our Azure started Azure resource manager our Azure resource manager is the control plane resource manager is the control plane resource manager is the control plane for Azure and it's a decentralized for Azure and it's a decentralized for Azure and it's a decentralized control plane it provides this entry control plane it provides this entry control plane it provides this entry point into Azure services but the point into Azure services but the point into Azure services but the services Implement resource providers services Implement resource providers services Implement resource providers that plug into that plug into that plug into arm arm arm and what we found was that re early on and what we found was that re early on and what we found was that re early on that we needed to to Define standards that we needed to to Define standards that we needed to to Define standards for the apis that these resource for the apis that these resource for the apis that these resource providers surfaced okay so that they providers surfaced okay so that they providers surfaced okay so that they were consistent with arm and with each were consistent with arm and with each were consistent with arm and with each other and so when you wanted to go for other and so when you wanted to go for other and so when you wanted to go for example query a resource for example query a resource for example query a resource for a list of child objects that that query a list of child objects that that query a list of child objects that that query operation was the same across all of our operation was the same across all of our operation was the same across all of our resources and not different for one resources and not different for one resources and not different for one versus another and so we came up with uh versus another and so we came up with uh versus another and so we came up with uh API guideline standards published on API guideline standards published on API guideline standards published on GitHub and we've got an API review board GitHub and we've got an API review board GitHub and we've got an API review board that ensure and we've got tooling to try that ensure and we've got tooling to try that ensure and we've got tooling to try to ensure consistency you know uh to ensure consistency you know uh to ensure consistency you know uh guidelines are good but tooling is even guidelines are good but tooling is even guidelines are good but tooling is even better that just pushes you to do the better that just pushes you to do the better that just pushes you to do the right thing but this is a place where right thing but this is a place where right thing but this is a place where we're not perfect and there's we're not perfect and there's we're not perfect and there's inconsistencies and if you actually look inconsistencies and if you actually look inconsistencies and if you actually look at the older API surfaces of azure at the older API surfaces of azure at the older API surfaces of azure you'll find even more inconsistencies

  4. you'll find even more inconsistencies you'll find even more inconsistencies but we continue to make it better I like but we continue to make it better I like but we continue to make it better I like the board idea I was uh like having like the board idea I was uh like having like the board idea I was uh like having like I had suggested maybe we should have you I had suggested maybe we should have you I had suggested maybe we should have you know like a CTO or something a boss like know like a CTO or something a boss like know like a CTO or something a boss like a single person but then that becomes a a single person but then that becomes a a single person but then that becomes a bottleneck yeah but a board can be a bottleneck yeah but a board can be a bottleneck yeah but a board can be a bottleneck as well like uh I was playing bottleneck as well like uh I was playing bottleneck as well like uh I was playing around with co-pilot in Visual Studio around with co-pilot in Visual Studio around with co-pilot in Visual Studio recently and looking at unused and recently and looking at unused and recently and looking at unused and commonly notused um features and I commonly notused um features and I commonly notused um features and I noticed that well in one instance it's a noticed that well in one instance it's a noticed that well in one instance it's a icon of a bot and in another instance icon of a bot and in another instance icon of a bot and in another instance it's a pencil with sparkles and in it's a pencil with sparkles and in it's a pencil with sparkles and in another one it's a magic wand and I was another one it's a magic wand and I was another one it's a magic wand and I was like wow the co-pilot people haven't yet like wow the co-pilot people haven't yet like wow the co-pilot people haven't yet figured out what the metaphor is and figured out what the metaphor is and figured out what the metaphor is and there should be like an icon board there should be like an icon board there should be like an icon board boards like this are helpful because boards like this are helpful because boards like this are helpful because they can make things look consistent but they can make things look consistent but they can make things look consistent but they would also slow down Innovation and they would also slow down Innovation and they would also slow down Innovation and they're really innovating at a very fast they're really innovating at a very fast they're really innovating at a very fast rate well it depends on a um the la how rate well it depends on a um the la how rate well it depends on a um the la how impactful an inconsistency might be in impactful an inconsistency might be in impactful an inconsistency might be in the case of an icon it's like okay so the case of an icon it's like okay so the case of an icon it's like okay so user might get confused or or look at it user might get confused or or look at it user might get confused or or look at it and go this is inconsistent and and uh and go this is inconsistent and and uh and go this is inconsistent and and uh it might hurt their impression of the it might hurt their impression of the it might hurt their impression of the Polish of the product which is a Polish of the product which is a Polish of the product which is a different level of impact than an API or different level of impact than an API or different level of impact than an API or multiple apis that are different that multiple apis that are different that multiple apis that are different that Force developers are go wait a minute Force developers are go wait a minute Force developers are go wait a minute I've learned this way to do it over here I've learned this way to do it over here I've learned this way to do it over here and now I've got to learn this and now I've got to learn this and now I've got to learn this completely other way to do it over over completely other way to do it over over completely other way to do it over over here and that causes them friction and here and that causes them friction and here and that causes them friction and turmoil you know time tedium and turmoil you know time tedium and turmoil you know time tedium and potentially even leads them to make potentially even leads them to make potentially even leads them to make mistakes um and and it's something that mistakes um and and it's something that mistakes um and and it's something that can't just be fixed because of backward can't just be fixed because of backward can't just be fixed because of backward compatibility it's going to be there compatibility it's going to be there compatibility it's going to be there forever and so you know 10 years down

  5. forever and so you know 10 years down forever and so you know 10 years down the road somebody coming across those the road somebody coming across those the road somebody coming across those same apis goes yeah like this and that same apis goes yeah like this and that same apis goes yeah like this and that versus an icon which okay next rev will versus an icon which okay next rev will versus an icon which okay next rev will just make it consistent and fix it so it just make it consistent and fix it so it just make it consistent and fix it so it depends on how uh important the uh the depends on how uh important the uh the depends on how uh important the uh the inconsistency is see now you're making inconsistency is see now you're making inconsistency is see now you're making me feel like I shouldn't have left my me feel like I shouldn't have left my me feel like I shouldn't have left my test drive because I thought it was test drive because I thought it was test drive because I thought it was important like software upgrade in a important like software upgrade in a important like software upgrade in a month and it'll be fixed well seriously month and it'll be fixed well seriously month and it'll be fixed well seriously can we all just agree on a font here can we all just agree on a font here can we all just agree on a font here like I didn't think it was that like I didn't think it was that like I didn't think it was that unreasonable I just found it very unreasonable I just found it very unreasonable I just found it very offputting yeah that I was looking at offputting yeah that I was looking at offputting yeah that I was looking at three Android tablets strung together three Android tablets strung together three Android tablets strung together but I UND but this is the thing I have but I UND but this is the thing I have but I UND but this is the thing I have empathy because I can imagine the teams empathy because I can imagine the teams empathy because I can imagine the teams making the decisions to string this making the decisions to string this making the decisions to string this stuff together I just it was stuff together I just it was stuff together I just it was very Frank and build yeah and made me very Frank and build yeah and made me very Frank and build yeah and made me wonder what the like those are just the wonder what the like those are just the wonder what the like those are just the visual systems here's another thing visual systems here's another thing visual systems here's another thing that's just the part that they put on that's just the part that they put on that's just the part that they put on the front and put a screen on the front and put a screen on the front and put a screen on what internal systems are shipping makes what internal systems are shipping makes what internal systems are shipping makes to question that because if it had been to question that because if it had been to question that because if it had been consistent on the top you'd assume it's consistent on the top you'd assume it's consistent on the top you'd assume it's consistent throughout so that's in a you consistent throughout so that's in a you consistent throughout so that's in a you know and basically they lost a sale know and basically they lost a sale know and basically they lost a sale because of that so that it you could say because of that so that it you could say because of that so that it you could say that is was impactful and they should go that is was impactful and they should go that is was impactful and they should go prioritize fixing prioritize fixing prioritize fixing it um but but it's important like that it um but but it's important like that it um but but it's important like that the The Experience somebody has the the The Experience somebody has the the The Experience somebody has the visible experience somebody has because visible experience somebody has because visible experience somebody has because they you just infer the rest from that they you just infer the rest from that they you just infer the rest from that yeah that's right I did infer that like yeah that's right I did infer that like yeah that's right I did infer that like if this is the the skin of the onion if this is the the skin of the onion if this is the the skin of the onion what else is going on inside this thing what else is going on inside this thing what else is going on inside this thing is it rotten meanwhile if it had been is it rotten meanwhile if it had been is it rotten meanwhile if it had been all consistent you're like let's make

  6. all consistent you're like let's make all consistent you're like let's make sure this is consistent but everything sure this is consistent but everything sure this is consistent but everything else is completely inconsistent you else is completely inconsistent you else is completely inconsistent you wouldn't have wouldn't have wouldn't have known well that's really interesting so known well that's really interesting so known well that's really interesting so like let's invert that and let's think like let's invert that and let's think like let's invert that and let's think about another unnamed electric car that about another unnamed electric car that about another unnamed electric car that is welln for being very consistent from is welln for being very consistent from is welln for being very consistent from a UI perspective that's very polished a UI perspective that's very polished a UI perspective that's very polished it's the iPhone of cars but there's been it's the iPhone of cars but there's been it's the iPhone of cars but there's been talk that the internals may not be as talk that the internals may not be as talk that the internals may not be as shiny so that is the inverted problem shiny so that is the inverted problem shiny so that is the inverted problem where the design is gorgeous but maybe where the design is gorgeous but maybe where the design is gorgeous but maybe the guts are less uh less awesome yeah the guts are less uh less awesome yeah the guts are less uh less awesome yeah and the importance of that depends of and the importance of that depends of and the importance of that depends of course on how much the internal course on how much the internal course on how much the internal inconsistencies are going to cause inconsistencies are going to cause inconsistencies are going to cause problems yeah um for example if you talk problems yeah um for example if you talk problems yeah um for example if you talk about a a cloud platform like Azure about a a cloud platform like Azure about a a cloud platform like Azure internal internal internal inconsistencies actually cause problems inconsistencies actually cause problems inconsistencies actually cause problems because again you can lead you can get because again you can lead you can get because again you can lead you can get that leads to mistakes that leads that leads to mistakes that leads that leads to mistakes that leads to additional time to go troubleshoot to additional time to go troubleshoot to additional time to go troubleshoot something uh in the case of a a lifeside something uh in the case of a a lifeside something uh in the case of a a lifeside incident for example oh I've got to do incident for example oh I've got to do incident for example oh I've got to do it this way over here and another way it this way over here and another way it this way over here and another way over here uh it causes extra engineering over here uh it causes extra engineering over here uh it causes extra engineering costs too because if you want to apply costs too because if you want to apply costs too because if you want to apply some improvement to something now you've some improvement to something now you've some improvement to something now you've got to make three versions of the got to make three versions of the got to make three versions of the Improvement because every place you want Improvement because every place you want Improvement because every place you want to apply it is slightly different versus to apply it is slightly different versus to apply it is slightly different versus if I can just improve it in one place if I can just improve it in one place if I can just improve it in one place one way and apply it to everything then one way and apply it to everything then one way and apply it to everything then uh I've saved a lot of time and energy uh I've saved a lot of time and energy uh I've saved a lot of time and energy and I've actually made sure the and I've actually made sure the and I've actually made sure the Improvement is reliable in once without Improvement is reliable in once without Improvement is reliable in once without having to do it three times where every having to do it three times where every having to do it three times where every time I do it I could be making mistakes

  7. time I do it I could be making mistakes time I do it I could be making mistakes so consistency inside of a a platform is so consistency inside of a a platform is so consistency inside of a a platform is extremely important but like you said extremely important but like you said extremely important but like you said you know moving it quickly for you know moving it quickly for you know moving it quickly for Innovation that's the way Azure started Innovation that's the way Azure started Innovation that's the way Azure started we had to move very quickly and then you we had to move very quickly and then you we had to move very quickly and then you know you don't have enough time to like know you don't have enough time to like know you don't have enough time to like what is you know what is the design what is you know what is the design what is you know what is the design Paradigm for the icon the equivalent of Paradigm for the icon the equivalent of Paradigm for the icon the equivalent of the icon inside of our API surfaces in the icon inside of our API surfaces in the icon inside of our API surfaces in the the the platform we don't have time to slow down platform we don't have time to slow down platform we don't have time to slow down and and decide because we don't even and and decide because we don't even and and decide because we don't even know really yet we're innovating and know really yet we're innovating and know really yet we're innovating and then you start to realize oh wait a then you start to realize oh wait a then you start to realize oh wait a minute this way of doing it is better minute this way of doing it is better minute this way of doing it is better than these other ways let's all than these other ways let's all than these other ways let's all standardize that makes me think about standardize that makes me think about standardize that makes me think about the kind of like the the layers of the kind of like the the layers of the kind of like the the layers of abstraction that sit on top of things in abstraction that sit on top of things in abstraction that sit on top of things in order to kind of clean up like you've order to kind of clean up like you've order to kind of clean up like you've got arm the Azure resource manager got arm the Azure resource manager got arm the Azure resource manager you've got bicep which is kind of like you've got bicep which is kind of like you've got bicep which is kind of like the typescript of the JavaScript of arms the typescript of the JavaScript of arms the typescript of the JavaScript of arms know using that analogy like it it it know using that analogy like it it it know using that analogy like it it it it's a little bit of layer that makes it it's a little bit of layer that makes it it's a little bit of layer that makes it better and then you know the UI the ux better and then you know the UI the ux better and then you know the UI the ux the portal that's that's calling all of the portal that's that's calling all of the portal that's that's calling all of those things and using all of those those things and using all of those those things and using all of those things is in some cases lying to you in things is in some cases lying to you in things is in some cases lying to you in a good way to make the experience seem a good way to make the experience seem a good way to make the experience seem consistent yeah while also maintaining consistent yeah while also maintaining consistent yeah while also maintaining backwards compatibility going back many backwards compatibility going back many backwards compatibility going back many many years which is something I think many years which is something I think many years which is something I think Microsoft doesn't get a lot of credit Microsoft doesn't get a lot of credit Microsoft doesn't get a lot of credit for that should get credit for yeah I for that should get credit for yeah I for that should get credit for yeah I mean that's been a principle of azure mean that's been a principle of azure mean that's been a principle of azure and you know Windows has had this too and you know Windows has had this too and you know Windows has had this too you could still you could still you could still you run doom on your windows 11 machine you run doom on your windows 11 machine you run doom on your windows 11 machine the example I gave was that you can the example I gave was that you can the example I gave was that you can still run um uh like well you can't on still run um uh like well you can't on still run um uh like well you can't on 64- bit but for a very very long time on 64- bit but for a very very long time on 64- bit but for a very very long time on 32-bit you could run visal you could run

  8. 32-bit you could run visal you could run 32-bit you could run visal you could run Dan br's visal from Dan br's visal from Dan br's visal from 1976 yeah and and I just got a dosbox uh 1976 yeah and and I just got a dosbox uh 1976 yeah and and I just got a dosbox uh set of uh of of Dos games called exod set of uh of of Dos games called exod set of uh of of Dos games called exod dos yeah which is like all of the 80s dos yeah which is like all of the 80s dos yeah which is like all of the 80s and it works great on Windows it runs on and it works great on Windows it runs on and it works great on Windows it runs on arm Windows that's incred it's just arm Windows that's incred it's just arm Windows that's incred it's just amazing and that's the the backward amazing and that's the the backward amazing and that's the the backward compatibility promise which is extremely compatibility promise which is extremely compatibility promise which is extremely important in the Enterprise not so important in the Enterprise not so important in the Enterprise not so important in the consumer space but important in the consumer space but important in the consumer space but extremely important in the Enterprise extremely important in the Enterprise extremely important in the Enterprise because Enterprises develop because Enterprises develop because Enterprises develop apps every time you break an app that apps every time you break an app that apps every time you break an app that costs the enterprise time money and costs the enterprise time money and costs the enterprise time money and maybe even prevents them from going to a maybe even prevents them from going to a maybe even prevents them from going to a newer version of the system which is newer version of the system which is newer version of the system which is going to give them a lot of benefits for going to give them a lot of benefits for going to give them a lot of benefits for security reliability features so uh security reliability features so uh security reliability features so uh backward compatibility is absolutely backward compatibility is absolutely backward compatibility is absolutely essential and um we have actually part essential and um we have actually part essential and um we have actually part of that APR review board we talked about of that APR review board we talked about of that APR review board we talked about it it approves breaking changes and I'm it it approves breaking changes and I'm it it approves breaking changes and I'm the actually the Arbiter for breaking the actually the Arbiter for breaking the actually the Arbiter for breaking change approvals and our standards change approvals and our standards change approvals and our standards around that as well as deprecation of around that as well as deprecation of around that as well as deprecation of services um because removing a service services um because removing a service services um because removing a service is also or um a breaking change um that is also or um a breaking change um that is also or um a breaking change um that we take very seriously so we've got we take very seriously so we've got we take very seriously so we've got published policies around SDK published policies around SDK published policies around SDK deprecations service deprecations deprecations service deprecations deprecations service deprecations announcements uh channels that are announcements uh channels that are announcements uh channels that are formal around how we tell people it's formal around how we tell people it's formal around how we tell people it's coming and a process that ensures that coming and a process that ensures that coming and a process that ensures that we're not doing it capriciously and only we're not doing it capriciously and only we're not doing it capriciously and only for good reason and that there's good for good reason and that there's good for good reason and that there's good path forward and and so that's just part path forward and and so that's just part path forward and and so that's just part of an Enterprise promise so it this is a of an Enterprise promise so it this is a of an Enterprise promise so it this is a good time to remind folks that have made

  9. good time to remind folks that have made good time to remind folks that have made it this far into the show that this is it this far into the show that this is it this far into the show that this is this is our opinions uh and uh while we this is our opinions uh and uh while we this is our opinions uh and uh while we may work for Microsoft we didn't work may work for Microsoft we didn't work may work for Microsoft we didn't work for Microsoft a very long time before for Microsoft a very long time before for Microsoft a very long time before this and after this we may not work for this and after this we may not work for this and after this we may not work for Microsoft so what I'm about to say is my Microsoft so what I'm about to say is my Microsoft so what I'm about to say is my opinion um I'm a I'm a fan of Windows I opinion um I'm a I'm a fan of Windows I opinion um I'm a I'm a fan of Windows I enjoy windows I have iPhone I'm enjoy windows I have iPhone I'm enjoy windows I have iPhone I'm non-denominational I have an iPad so I non-denominational I have an iPad so I non-denominational I have an iPad so I kind of move calmly and smoothly through kind of move calmly and smoothly through kind of move calmly and smoothly through things but often times I admire how things but often times I admire how things but often times I admire how consistent and self-consistent iPhones consistent and self-consistent iPhones consistent and self-consistent iPhones and Macs are in their look and feel and and Macs are in their look and feel and and Macs are in their look and feel and I am frustrated where Windows things are I am frustrated where Windows things are I am frustrated where Windows things are like why why does this look like this like why why does this look like this like why why does this look like this why does this behave like this but then why does this behave like this but then why does this behave like this but then I dig into it like how the window I dig into it like how the window I dig into it like how the window compositor Works in Windows and the compositor Works in Windows and the compositor Works in Windows and the different UI Frameworks and stuff and different UI Frameworks and stuff and different UI Frameworks and stuff and I'm like why can't we do this and I I'm like why can't we do this and I I'm like why can't we do this and I realized that a lot of the things that realized that a lot of the things that realized that a lot of the things that apple has done to make things look so apple has done to make things look so apple has done to make things look so quote unquote pretty and some of the quote unquote pretty and some of the quote unquote pretty and some of the things that Windows gets dinged for are things that Windows gets dinged for are things that Windows gets dinged for are uh well Windows chooses to have uh well Windows chooses to have uh well Windows chooses to have backwards compatibility and in the backwards compatibility and in the backwards compatibility and in the process possibly ship the or chart while process possibly ship the or chart while process possibly ship the or chart while apple with a smaller market share on the apple with a smaller market share on the apple with a smaller market share on the desktop and a very large Walled Garden desktop and a very large Walled Garden desktop and a very large Walled Garden on the uh on the mobile side choose to on the uh on the mobile side choose to on the uh on the mobile side choose to unapologetically break stuff and abandon unapologetically break stuff and abandon unapologetically break stuff and abandon entire Heart Like dope this one and the entire Heart Like dope this one and the entire Heart Like dope this one and the first time that we did that was the first time that we did that was the first time that we did that was the windows 11 security stuff where people windows 11 security stuff where people windows 11 security stuff where people are still mad uh that their processors are still mad uh that their processors are still mad uh that their processors in some instances their older Intel in some instances their older Intel in some instances their older Intel processors are being left behind it's processors are being left behind it's processors are being left behind it's interesting to see how often Apple can interesting to see how often Apple can interesting to see how often Apple can do that and people are like celebrate do that and people are like celebrate do that and people are like celebrate the change but if Microsoft makes your the change but if Microsoft makes your the change but if Microsoft makes your 15-year-old laptop no longer work on the

  10. 15-year-old laptop no longer work on the 15-year-old laptop no longer work on the latest operating system they're like ah latest operating system they're like ah latest operating system they're like ah you suck you know but there's there's a you suck you know but there's there's a you suck you know but there's there's a reason for it and the or chart and the reason for it and the or chart and the reason for it and the or chart and the values that they have as an organization values that they have as an organization values that they have as an organization where backwards compatibility are kind where backwards compatibility are kind where backwards compatibility are kind of like at the again and I think um it's of like at the again and I think um it's of like at the again and I think um it's consumer versus Enterprise is a big you consumer versus Enterprise is a big you consumer versus Enterprise is a big you know priority know priority know priority um yeah that's a good point you have um yeah that's a good point you have um yeah that's a good point you have like slas service level agreements on like slas service level agreements on like slas service level agreements on how things are going to work and there's how things are going to work and there's how things are going to work and there's well shoot dude I was running my blog on well shoot dude I was running my blog on well shoot dude I was running my blog on Windows Server Windows Server Windows Server 2002 or 200 you know like for like 20 2002 or 200 you know like for like 20 2002 or 200 you know like for like 20 years 2003 2003 yeah window Server 2003 years 2003 2003 yeah window Server 2003 years 2003 2003 yeah window Server 2003 and doet to and I stopped running it and doet to and I stopped running it and doet to and I stopped running it only because I couldn't get TLS only because I couldn't get TLS only because I couldn't get TLS 1.3 to work on a 20 20-year- old 1.3 to work on a 20 20-year- old 1.3 to work on a 20 20-year- old operating system and that's when I operating system and that's when I operating system and that's when I finally moved but the cool part was I finally moved but the cool part was I finally moved but the cool part was I was able to move to Containers so you was able to move to Containers so you was able to move to Containers so you were were were incredibly say that again sir you were incredibly say that again sir you were incredibly say that again sir you were incredibly insecure you were running on incredibly insecure you were running on incredibly insecure you were running on a unsupported version of the operating a unsupported version of the operating a unsupported version of the operating system that was no longer getting system that was no longer getting system that was no longer getting security security security fixes so you're lucky your website fixes so you're lucky your website fixes so you're lucky your website wasn't just owned well nobody nobody wasn't just owned well nobody nobody wasn't just owned well nobody nobody visits my website but you know yeah I visits my website but you know yeah I visits my website but you know yeah I was impressed though that the the was impressed though that the the was impressed though that the the compatibility lasted as long as it did compatibility lasted as long as it did compatibility lasted as long as it did like we should get credit for that I like we should get credit for that I like we should get credit for that I think think think yeah when you're when you're trying to yeah when you're when you're trying to yeah when you're when you're trying to avoid shipping the org chart uh but avoid shipping the org chart uh but avoid shipping the org chart uh but you're also at the top of the org chart you're also at the top of the org chart you're also at the top of the org chart uh is it is it frustrating like are do uh is it is it frustrating like are do uh is it is it frustrating like are do you just have to like make compromises

  11. you just have to like make compromises you just have to like make compromises and say well this is just the way it's and say well this is just the way it's and say well this is just the way it's got to be we're going to have to let got to be we're going to have to let got to be we're going to have to let that abstraction leak because you said that abstraction leak because you said that abstraction leak because you said that you're the Arbiter of some of these that you're the Arbiter of some of these that you're the Arbiter of some of these decisions at that board level well I decisions at that board level well I decisions at that board level well I mean what we do is try to identify mean what we do is try to identify mean what we do is try to identify places where we need to prevent leak and places where we need to prevent leak and places where we need to prevent leak and fix them I mean it's frustrating for me fix them I mean it's frustrating for me fix them I mean it's frustrating for me to see the leaks to see the to see the leaks to see the to see the leaks to see the inconsistencies but again like we only inconsistencies but again like we only inconsistencies but again like we only have so have so have so much you know I only have so much time much you know I only have so much time much you know I only have so much time and energy to go catching these things and energy to go catching these things and energy to go catching these things and we only have so much energy to go and we only have so much energy to go and we only have so much energy to go and fix these we have to prioritize and fix these we have to prioritize and fix these we have to prioritize where are the most important places we where are the most important places we where are the most important places we need to be consistent and prioritize need to be consistent and prioritize need to be consistent and prioritize those um and even in those areas like those um and even in those areas like those um and even in those areas like API reviews like what are the most API reviews like what are the most API reviews like what are the most important aspects of an API surface that important aspects of an API surface that important aspects of an API surface that must be consistent and and then that's must be consistent and and then that's must be consistent and and then that's where you we invest time and energy and where you we invest time and energy and where you we invest time and energy and reviewing and also coming up with reviewing and also coming up with reviewing and also coming up with tooling that helps ensure that those tooling that helps ensure that those tooling that helps ensure that those things are just consistent from the things are just consistent from the things are just consistent from the start and not something so we actually start and not something so we actually start and not something so we actually have a speaking of of types speec we've have a speaking of of types speec we've have a speaking of of types speec we've got something called type script which got something called type script which got something called type script which is no type spec sorry typ script we've is no type spec sorry typ script we've is no type spec sorry typ script we've got something called type spec yeah yeah got something called type spec yeah yeah got something called type spec yeah yeah which is a language we've created for which is a language we've created for which is a language we've created for defining defining defining apis and using types spec which in apis and using types spec which in apis and using types spec which in supports inheritance we can Define supports inheritance we can Define supports inheritance we can Define standards at a top level that get standards at a top level that get standards at a top level that get inherited by the API developers creating inherited by the API developers creating inherited by the API developers creating new resource providers so that they're new resource providers so that they're new resource providers so that they're automatically compliant with our type or automatically compliant with our type or automatically compliant with our type or API API API guidelines that that's a great way to guidelines that that's a great way to guidelines that that's a great way to not ship the org chart is to give

  12. not ship the org chart is to give not ship the org chart is to give something teeth I used to use the term something teeth I used to use the term something teeth I used to use the term Word documents don't break the build uh Word documents don't break the build uh Word documents don't break the build uh so someone goes and writes a word doc so someone goes and writes a word doc so someone goes and writes a word doc and someone publishes an API that's and someone publishes an API that's and someone publishes an API that's breaks something and nothing about the breaks something and nothing about the breaks something and nothing about the word document broke the build set off a word document broke the build set off a word document broke the build set off a claxon called anybody no one got paged claxon called anybody no one got paged claxon called anybody no one got paged but with something like types speec when but with something like types speec when but with something like types speec when you can go and describe the shape of you can go and describe the shape of you can go and describe the shape of something and then project it across something and then project it across something and then project it across rest graphql grpc whatever you could put rest graphql grpc whatever you could put rest graphql grpc whatever you could put constraints on the shipping uh to constraints on the shipping uh to constraints on the shipping uh to prevent something from leaking out that prevent something from leaking out that prevent something from leaking out that would show the orc chart or break would show the orc chart or break would show the orc chart or break something that we believe as a as a something that we believe as a as a something that we believe as a as a group so you're giving teeth to the spec group so you're giving teeth to the spec group so you're giving teeth to the spec by making it formal so the there's three by making it formal so the there's three by making it formal so the there's three degrees on this spectrum of of consisten degrees on this spectrum of of consisten degrees on this spectrum of of consisten or four there's like nothing let or four there's like nothing let or four there's like nothing let everybody do what they want to then everybody do what they want to then everybody do what they want to then there's like here's the dock or web page there's like here's the dock or web page there's like here's the dock or web page internal web page where it's the internal web page where it's the internal web page where it's the guidelines like we talked about earlier guidelines like we talked about earlier guidelines like we talked about earlier it's like here's you will do this you it's like here's you will do this you it's like here's you will do this you must do that you can't should do this must do that you can't should do this must do that you can't should do this kind of guidelines better than nothing kind of guidelines better than nothing kind of guidelines better than nothing but a lot of times people read it they but a lot of times people read it they but a lot of times people read it they forget it or they don't come across it forget it or they don't come across it forget it or they don't come across it they design something they ship it it's they design something they ship it it's they design something they ship it it's like oops I screwed up next step is like oops I screwed up next step is like oops I screwed up next step is auditing which is auditing which is auditing which is go check to see if they're doing it the go check to see if they're doing it the go check to see if they're doing it the right thing and flag them if if they're right thing and flag them if if they're right thing and flag them if if they're not and have them fix it again not not and have them fix it again not not and have them fix it again not that's better than even just the the that's better than even just the the that's better than even just the the dock but you still can end up having dock but you still can end up having dock but you still can end up having things leak out and then it cost time things leak out and then it cost time things leak out and then it cost time and energy to go fix them even better is

  13. and energy to go fix them even better is and energy to go fix them even better is the GU guard rails the controls that the GU guard rails the controls that the GU guard rails the controls that that just like when I go design the API that just like when I go design the API that just like when I go design the API it is by definition compliant because I it is by definition compliant because I it is by definition compliant because I can't make an incompliant one because can't make an incompliant one because can't make an incompliant one because the tooling won't let me and so if you the tooling won't let me and so if you the tooling won't let me and so if you take a look at anything when it comes to take a look at anything when it comes to take a look at anything when it comes to enforcing consistency whether it's enforcing consistency whether it's enforcing consistency whether it's security reliability consistency of ux security reliability consistency of ux security reliability consistency of ux consistency of consistency of consistency of apis that's you want to be on that end apis that's you want to be on that end apis that's you want to be on that end of the spectrum of the controls and but of the spectrum of the controls and but of the spectrum of the controls and but the controls also have to be not get in the controls also have to be not get in the controls also have to be not get in the way either and so they can't cause the way either and so they can't cause the way either and so they can't cause too much friction and they can't stop too much friction and they can't stop too much friction and they can't stop people from doing the things they need people from doing the things they need people from doing the things they need to do so obviously much more expensive to do so obviously much more expensive to do so obviously much more expensive to implement that side of things um but to implement that side of things um but to implement that side of things um but where it's really high impacts high where it's really high impacts high where it's really high impacts high stakes that's where you you want to be stakes that's where you you want to be stakes that's where you you want to be that that feels very they use that term that that feels very they use that term that that feels very they use that term shift left right the people that's shift left right the people that's shift left right the people that's exactly what shift left is is exactly exactly what shift left is is exactly exactly what shift left is is exactly that that end that whole Spectrum right that that end that whole Spectrum right that that end that whole Spectrum right there yeah yeah there yeah yeah there yeah yeah yeah the uh that shift left it's such a yeah the uh that shift left it's such a yeah the uh that shift left it's such a like a corporate business e person thing like a corporate business e person thing like a corporate business e person thing to do in like meetings with Executives to do in like meetings with Executives to do in like meetings with Executives and stuff like that but what you're and stuff like that but what you're and stuff like that but what you're really saying is Catch it early because really saying is Catch it early because really saying is Catch it early because a bug is cheaper before it ships yeah a bug is cheaper before it ships yeah a bug is cheaper before it ships yeah yeah an inconsistency once you have yeah an inconsistency once you have yeah an inconsistency once you have shipped the org chart they've seen shipped the org chart they've seen shipped the org chart they've seen what's going on um one of the when I what's going on um one of the when I what's going on um one of the when I used to work in um like XML and the soap used to work in um like XML and the soap used to work in um like XML and the soap days simple object access protocol many days simple object access protocol many days simple object access protocol many many years ago we would talk about like many years ago we would talk about like many years ago we would talk about like it's just an IDL right it's an interface it's just an IDL right it's an interface it's just an IDL right it's an interface definition language and it's choosing to definition language and it's choosing to definition language and it's choosing to expose stuff we would always use the expose stuff we would always use the expose stuff we would always use the analogy because I'm all about analogies

  14. analogy because I'm all about analogies analogy because I'm all about analogies of there's what's going on in the of there's what's going on in the of there's what's going on in the kitchen and there's what you choose to kitchen and there's what you choose to kitchen and there's what you choose to put on the menu and like if there's rats put on the menu and like if there's rats put on the menu and like if there's rats in the kitchen you don't want to put in the kitchen you don't want to put in the kitchen you don't want to put Rats on the menu and if you can get rid Rats on the menu and if you can get rid Rats on the menu and if you can get rid of the rats without the menu finding out of the rats without the menu finding out of the rats without the menu finding out then that would be like ideal and that then that would be like ideal and that then that would be like ideal and that that analogy has served me well for that analogy has served me well for that analogy has served me well for almost uh almost 30 almost uh almost 30 almost uh almost 30 years um this is interesting where would years um this is interesting where would years um this is interesting where would I go and learn more about this this is I go and learn more about this this is I go and learn more about this this is like it's leadership it's Cloud like it's leadership it's Cloud like it's leadership it's Cloud architecture like I wouldn't even know architecture like I wouldn't even know architecture like I wouldn't even know like shipping the or chart in quotes is like shipping the or chart in quotes is like shipping the or chart in quotes is a really great term and I like it but I a really great term and I like it but I a really great term and I like it but I don't know where I would give a call to don't know where I would give a call to don't know where I would give a call to action for me and listeners to learn action for me and listeners to learn action for me and listeners to learn more about how not to ship the or chart more about how not to ship the or chart more about how not to ship the or chart I don't have any good references either I don't have any good references either I don't have any good references either I'm sure that there's books out there on I'm sure that there's books out there on I'm sure that there's books out there on leadership leadership leadership and product design that cover these and product design that cover these and product design that cover these things though um I you know I from an things though um I you know I from an things though um I you know I from an engineering background I never I didn't engineering background I never I didn't engineering background I never I didn't get exposed to those kinds of books and get exposed to those kinds of books and get exposed to those kinds of books and so my learning of this has been on the so my learning of this has been on the so my learning of this has been on the job yeah that's a tough one like it's a job yeah that's a tough one like it's a job yeah that's a tough one like it's a very big concept there's articles on it very big concept there's articles on it very big concept there's articles on it online if I find some I will go and put online if I find some I will go and put online if I find some I will go and put them in the show notes this is an them in the show notes this is an them in the show notes this is an opportunity for us to to ask the opportunity for us to to ask the opportunity for us to to ask the audience if you recommend books that audience if you recommend books that audience if you recommend books that bridge leadership in the squishy busy bridge leadership in the squishy busy bridge leadership in the squishy busy sense and like this is highlevel CTO hey sense and like this is highlevel CTO hey sense and like this is highlevel CTO hey look we have a CTO here uh you know look we have a CTO here uh you know look we have a CTO here uh you know Chief Architect type type conversations Chief Architect type type conversations Chief Architect type type conversations and if you are whether you're in a big and if you are whether you're in a big and if you are whether you're in a big company or small company just being company or small company just being company or small company just being aware that maybe we don't want to ship

  15. aware that maybe we don't want to ship aware that maybe we don't want to ship the or chart and then what systems can the or chart and then what systems can the or chart and then what systems can be put in place to shift left again be put in place to shift left again be put in place to shift left again identifying identifying the systems or identifying identifying the systems or identifying identifying the systems or surface areas where surface areas where surface areas where it's most you know uh the impact of it's most you know uh the impact of it's most you know uh the impact of shipping the or charget is the highest shipping the or charget is the highest shipping the or charget is the highest so you can prioritize those things so you can prioritize those things so you can prioritize those things that's a great Point cool well I that I that's a great Point cool well I that I that's a great Point cool well I that I felt like I learned something there felt like I learned something there felt like I learned something there that's pretty cool yeah I did too all that's pretty cool yeah I did too all that's pretty cool yeah I did too all right well hopefully you're enjoying right well hopefully you're enjoying right well hopefully you're enjoying Mark and Scott learn to uh if you'd like Mark and Scott learn to uh if you'd like Mark and Scott learn to uh if you'd like to hear particular topics please let us to hear particular topics please let us to hear particular topics please let us know reach out to us on social media uh know reach out to us on social media uh know reach out to us on social media uh this is just a podcast that's getting this is just a podcast that's getting this is just a podcast that's getting started we're trying to figure out what started we're trying to figure out what started we're trying to figure out what we wanted to be but we know that Mark we wanted to be but we know that Mark we wanted to be but we know that Mark and I learn for a living we want you to and I learn for a living we want you to and I learn for a living we want you to feel great about learning for a living feel great about learning for a living feel great about learning for a living so please review share with your friends so please review share with your friends so please review share with your friends let us know what you'd like us to learn let us know what you'd like us to learn let us know what you'd like us to learn so that we can help you learn as well so that we can help you learn as well so that we can help you learn as well this has been an episode of Mark and this has been an episode of Mark and this has been an episode of Mark and Scott learn to thank you for making it Scott learn to thank you for making it Scott learn to thank you for making it this far

Summary

The main theme is about "shipping the org chart," illustrated by an anecdote of a poorly integrated EV dashboard resembling a company's internal structure. The conclusion is that this lack of cross-team collaboration, resulting in a dysfunctional product, is a common pitfall in tech companies that needs to be actively avoided.

View original episode ↗