Navigated to Building Trust with Sean Goedecke - Transcript

Building Trust with Sean Goedecke

Episode Transcript

1 00:00:00,000 --> 00:00:11,120 Welcome to Fork Around and Find Out, the podcast about building, running, and maintaining 2 00:00:11,120 --> 00:00:21,600 software and systems. 3 00:00:21,600 --> 00:00:24,680 Hello and welcome to Fork Around and Find Out. 4 00:00:24,680 --> 00:00:27,360 I am Justin Garrison and with me is always is Autumn Nash. 5 00:00:27,360 --> 00:00:29,360 How's it going Autumn? 6 00:00:29,360 --> 00:00:32,280 I'm just waiting for the dad joke that's coming out of this. 7 00:00:32,280 --> 00:00:33,280 Just anticipation, okay? 8 00:00:33,280 --> 00:00:34,800 We're going to build up to it right now, right? 9 00:00:34,800 --> 00:00:40,400 And today on this show, we have Sean Getiky, who's going to talk to us all about a blog 10 00:00:40,400 --> 00:00:44,720 post he wrote a little while ago about how he ships products at big tech companies. 11 00:00:44,720 --> 00:00:45,720 Welcome to the show Sean. 12 00:00:45,720 --> 00:00:46,720 Hey, thanks. 13 00:00:46,720 --> 00:00:47,720 Great to be here. 14 00:00:47,720 --> 00:00:52,320 I'm not going to start with dad jokes right now. 15 00:00:52,320 --> 00:00:55,880 I do want to get some background here though, because I read this blog article, which by 16 00:00:55,880 --> 00:00:58,880 the way, you are a very prolific writer on your blog and I love it. 17 00:00:59,400 --> 00:01:00,400 Thank you. 18 00:01:00,400 --> 00:01:06,040 I was like, you are writing almost every day about something and at least for the history 19 00:01:06,040 --> 00:01:09,520 that I scroll back into, how do you do that? 20 00:01:09,520 --> 00:01:14,680 Well, I think I seem more prolific than I actually am, because I have several like 21 00:01:14,680 --> 00:01:17,680 drafts on the go at any given time. 22 00:01:17,680 --> 00:01:20,000 And usually I'm either not productive or I am productive. 23 00:01:20,000 --> 00:01:23,240 When I am productive, I sort of clear a lot of drafts. 24 00:01:23,240 --> 00:01:27,320 So there'll be days where I publish like two or even three posts, which I think is not 25 00:01:27,360 --> 00:01:30,600 a very good idea if you're a blogger and you want to like maintain an audience and get 26 00:01:30,600 --> 00:01:31,600 people reading. 27 00:01:31,600 --> 00:01:32,600 That's actually too much. 28 00:01:32,600 --> 00:01:37,360 But, you know, blogging is not my main thing, so I do it anyway. 29 00:01:37,360 --> 00:01:40,880 But there are like weeks where I don't publish anything and I don't I don't do any work. 30 00:01:40,880 --> 00:01:41,880 So. 31 00:01:41,880 --> 00:01:44,080 And I mean, RSS feeds exist for a reason. 32 00:01:44,080 --> 00:01:49,280 So people should subscribe if they want to keep up at their own pace. 33 00:01:49,280 --> 00:01:53,840 But this this blog post specifically, I know it made the rounds a little while ago as around 34 00:01:53,880 --> 00:01:56,960 on Tacker News and some other people, how you ship at big tech companies. 35 00:01:57,360 --> 00:02:00,120 I don't know if you ever mentioned which tech companies you were talking about if you're 36 00:02:00,120 --> 00:02:03,080 allowed to talk about which companies you were working at. 37 00:02:03,080 --> 00:02:05,720 I know Autumn and I both worked at Amazon in the past. 38 00:02:05,720 --> 00:02:07,600 So we were at big tech. 39 00:02:07,600 --> 00:02:10,120 Autumn is currently at Microsoft, so still big tech. 40 00:02:10,120 --> 00:02:12,440 So we've we've been around. 41 00:02:12,440 --> 00:02:14,760 I don't know about what is your experience with that in the past? 42 00:02:15,160 --> 00:02:15,600 Yeah, sure. 43 00:02:15,600 --> 00:02:16,400 Happy to talk about that. 44 00:02:16,400 --> 00:02:20,680 And I think it's I think it's really important as well, because a lot of I write about this 45 00:02:20,680 --> 00:02:25,800 too, in other places, but it's really hard to get like representative experience in the 46 00:02:25,800 --> 00:02:27,600 tech industry, because companies are also different. 47 00:02:27,920 --> 00:02:31,200 And you have to stay at a company a really long time to sort of figure out how things 48 00:02:31,200 --> 00:02:32,000 work there. 49 00:02:32,000 --> 00:02:35,760 And by the time you've stayed there five years, the situation has changed underneath you anyway. 50 00:02:36,240 --> 00:02:39,200 So like, I think it's really important to say, you know, here's who I am and where I've 51 00:02:39,200 --> 00:02:39,960 worked. 52 00:02:39,960 --> 00:02:44,000 And for many engineers, it's not going to be like particularly useful to them at all. 53 00:02:44,080 --> 00:02:48,040 But hopefully there's enough people who work in similar kind of big SaaS companies that 54 00:02:48,040 --> 00:02:49,200 this kind of resonates. 55 00:02:49,200 --> 00:02:54,800 But all that aside, Zendesk and GitHub are my two sources of like big tech experience, 56 00:02:54,800 --> 00:02:59,440 basically, with about a five years stint at both and a little bit of work at like tiny 57 00:02:59,440 --> 00:03:00,720 companies in the meantime. 58 00:03:01,120 --> 00:03:04,560 But yeah, Autumn, you and I are kind of colleagues, I guess, or almost colleagues. 59 00:03:05,440 --> 00:03:07,720 Get get our Microsoft subsidiary. 60 00:03:08,320 --> 00:03:13,360 It's crazy, though, because going just between two big tech companies, it's so different. 61 00:03:13,360 --> 00:03:18,560 And I feel like where we were 10 years ago or five years ago felt so different, you know, 62 00:03:18,600 --> 00:03:20,320 like so much has changed. 63 00:03:20,320 --> 00:03:24,680 Like I think a few episodes ago, we were talking about the difference between like just 64 00:03:24,680 --> 00:03:27,480 that infrastructure has grown in the last 10 to five years. 65 00:03:27,480 --> 00:03:33,280 And just think about the height of COVID versus now and the tech community. 66 00:03:33,320 --> 00:03:35,320 It's wild how much things have changed. 67 00:03:35,920 --> 00:03:36,560 Yeah, for sure. 68 00:03:36,560 --> 00:03:41,560 I mean, the when I joined Zendesk, it was all like virtual machines and microservices 69 00:03:41,560 --> 00:03:42,880 and like the rise of Kubernetes. 70 00:03:42,880 --> 00:03:45,440 And that's entirely like nobody talks about that now. 71 00:03:45,920 --> 00:03:48,080 There's like three or four kind of cycles that have gone by. 72 00:03:48,080 --> 00:03:52,040 And then, of course, the other thing is that working in tech got real, real, real 73 00:03:52,040 --> 00:03:54,440 different after about twenty twenty one, twenty twenty two. 74 00:03:54,880 --> 00:03:59,280 Yeah, once once the interest rate was gone and investment was kind of disappearing, 75 00:03:59,280 --> 00:04:00,920 then hiring wasn't paying as well. 76 00:04:00,920 --> 00:04:02,720 And then it was about cost savings. 77 00:04:02,720 --> 00:04:04,720 And now we've had a lot of people leaving. 78 00:04:04,720 --> 00:04:09,800 But just think about what it was to like, I mean, like, I don't know, like. 79 00:04:10,800 --> 00:04:15,960 Two thousand and fifteen, two thousand and I mean, even nineteen and two thousand 80 00:04:15,960 --> 00:04:18,840 and twenty two was like a completely different ballgame. 81 00:04:18,960 --> 00:04:19,640 You know what I mean? 82 00:04:19,640 --> 00:04:25,160 Those two were like and then you see the peak of COVID and it is wild how far we 83 00:04:25,160 --> 00:04:29,880 fell like every time there's like stuff going on, you're like, is this the new normal? 84 00:04:29,880 --> 00:04:33,520 Or, you know, like you never know, like, which is the new normal? 85 00:04:34,240 --> 00:04:35,760 Yeah, no, I agree with that. 86 00:04:35,760 --> 00:04:40,600 The the cultural expectations and just the culture in general that like the places 87 00:04:40,600 --> 00:04:42,520 I've worked at has changed dramatically. 88 00:04:42,520 --> 00:04:45,640 Like, and I know it's the same at at Zendesk as well, even though I left. 89 00:04:46,600 --> 00:04:48,720 I left there around the start of COVID. 90 00:04:48,720 --> 00:04:50,560 I have my brother works there right now. 91 00:04:50,560 --> 00:04:52,120 So absolutely. 92 00:04:52,120 --> 00:04:52,840 That's awesome. 93 00:04:52,840 --> 00:04:53,440 Second row. 94 00:04:53,440 --> 00:04:55,640 Second row seat to what's going on. 95 00:04:55,640 --> 00:04:59,720 I think that's I actually really liked your blog, but I think that's a part 96 00:04:59,720 --> 00:05:02,920 that confused me and it wasn't that you were confusing me, but it was like. 97 00:05:03,920 --> 00:05:08,600 I think big shipping at a big company and just shipping in different areas of a company 98 00:05:08,600 --> 00:05:09,920 are very different, right? 99 00:05:09,920 --> 00:05:15,080 Like, so if you're building a button or things for people to interact with, like in a 100 00:05:15,080 --> 00:05:18,520 retail setting, that's very different than building a language, right? 101 00:05:18,920 --> 00:05:20,320 The process is very different. 102 00:05:20,320 --> 00:05:24,000 The kind of the cycle in which you release and what you're releasing and what you're 103 00:05:24,000 --> 00:05:26,040 interacting with, like it's crazy. 104 00:05:26,040 --> 00:05:30,880 Like sometimes you can be doing straight, like adding a feature to a code base or you 105 00:05:30,920 --> 00:05:33,680 can be doing like releasing or, you know what I mean? 106 00:05:33,680 --> 00:05:37,760 Like the just, you can have two jobs at the same company and it'd be like night and 107 00:05:37,760 --> 00:05:42,960 day, skill wise, and then you can be releasing something at a cadence, something huge, 108 00:05:42,960 --> 00:05:45,960 like an operating system or language, and then that's very different and they're very 109 00:05:45,960 --> 00:05:46,960 different from each other. 110 00:05:47,640 --> 00:05:52,000 So it's like already in the same company, it can be different in two different 111 00:05:52,000 --> 00:05:52,160 companies. 112 00:05:52,160 --> 00:05:53,200 It's completely different. 113 00:05:53,200 --> 00:05:58,440 And then when you think about the fact that there's been so much change, if keeping 114 00:05:58,960 --> 00:06:03,400 essentially in your blog posts, you said shipping is keeping, you know, the people 115 00:06:03,400 --> 00:06:08,840 that pay you basically and your leadership happy, but how do we even know what that 116 00:06:08,840 --> 00:06:09,840 is now? 117 00:06:09,840 --> 00:06:11,360 Like, you know, like. 118 00:06:12,360 --> 00:06:14,600 Yeah, um, very, very good points there. 119 00:06:14,600 --> 00:06:18,320 Like I, I want to respond to the, to the first thing you said first, which is that, 120 00:06:18,320 --> 00:06:23,280 um, different like teams and different programs of work at large companies operate 121 00:06:23,280 --> 00:06:27,400 very differently in, in, in almost every single way, like working on an operating 122 00:06:27,480 --> 00:06:31,320 system is very different than, than like releasing kind of front-end changes for, 123 00:06:31,320 --> 00:06:32,280 for a SAS. 124 00:06:32,280 --> 00:06:35,680 Um, I know before we started recording, we were talking about how much riverside 125 00:06:35,680 --> 00:06:40,480 changes, like the cadence is so, is so fast on that and releasing, releasing new 126 00:06:40,480 --> 00:06:43,400 versions of windows is sort of the, the, the exact opposite. 127 00:06:43,640 --> 00:06:47,800 So just, just to put my cards on the table there, I've, I've worked in, uh, kind of 128 00:06:47,800 --> 00:06:52,120 SAS feature stuff, uh, my whole career and, and some, um, kind of internal 129 00:06:52,120 --> 00:06:56,160 infrastructure is stuff, probably the most like, uh, fundamental kind of thing was 130 00:06:56,160 --> 00:06:58,560 like the, the markdown rendering engine on GitHub. 131 00:06:58,560 --> 00:07:01,080 I, I, um, as part of the team that owned that for a little while. 132 00:07:01,640 --> 00:07:04,720 Uh, so it wasn't, it wasn't exactly like building a button, but it still wasn't 133 00:07:04,720 --> 00:07:09,120 kind of, you know, working on like the TypeScript language or, or something like 134 00:07:09,120 --> 00:07:09,640 that. 135 00:07:09,640 --> 00:07:13,480 Um, but yeah, in terms of, um, how do you, how do you know what the people, uh, 136 00:07:13,800 --> 00:07:14,800 above you want? 137 00:07:15,120 --> 00:07:18,200 I think this is, this is a really interesting question in some ways. 138 00:07:18,200 --> 00:07:23,000 This is like the big question, but, um, certainly the more you're working on 139 00:07:23,120 --> 00:07:26,440 the more you're working on things that are like central to the company mission, 140 00:07:26,480 --> 00:07:27,880 the more you just get told. 141 00:07:28,720 --> 00:07:32,680 So when I was working on, on like at GitHub, for instance, uh, I, I, I started 142 00:07:32,680 --> 00:07:36,560 out on kind of gists and these kind of features that are really near and dear 143 00:07:36,560 --> 00:07:39,840 to my heart, but maybe aren't so like central to the, to the company mission. 144 00:07:40,400 --> 00:07:45,360 Um, and it was, it was kind of hard to figure out what the, uh, what the goals 145 00:07:45,360 --> 00:07:47,760 were that sort of leadership wanted with that stuff. 146 00:07:47,760 --> 00:07:50,600 They sort of just wanted it to like be better and people to like it. 147 00:07:50,600 --> 00:07:52,040 It was that level of generality. 148 00:07:52,680 --> 00:07:57,160 Um, and then like, like many people at GitHub, uh, I, I moved over to the, uh, 149 00:07:57,160 --> 00:08:02,800 co-pilot team where let me tell you, uh, there was a much clearer mission and 150 00:08:02,800 --> 00:08:04,880 there was a lot more, a lot more urgency. 151 00:08:04,880 --> 00:08:06,560 It was a, it was a very different ball game. 152 00:08:07,280 --> 00:08:11,880 Um, and in that environment, figuring out what leadership wants is, is I think 153 00:08:11,880 --> 00:08:15,320 actually pretty easy because they tell you, they, they are telling you over and 154 00:08:15,320 --> 00:08:18,320 over, they're like every meeting and every email and stuff. 155 00:08:18,320 --> 00:08:20,880 They're kind of telling you what they want and what projects they care about 156 00:08:20,880 --> 00:08:21,840 and what they want to see ship. 157 00:08:22,840 --> 00:08:24,600 Are you allowed to speak about that experience? 158 00:08:24,600 --> 00:08:28,000 Like, you don't have to go into detail, but I guess like, was it fun? 159 00:08:28,080 --> 00:08:30,880 Was it, you know, like, I mean, like, what was it like, I guess. 160 00:08:31,800 --> 00:08:34,440 Yeah, I can, I can speak, uh, at a pretty high level. 161 00:08:34,480 --> 00:08:35,640 Um, yeah, it was fun. 162 00:08:35,680 --> 00:08:38,120 I think it was a really big change. 163 00:08:38,120 --> 00:08:41,440 It was, it was almost like for me emblematic of, of the general vibe shift 164 00:08:41,440 --> 00:08:47,920 and in tech around, around 2022, 2021, um, just this kind of shift from like peace 165 00:08:47,920 --> 00:08:50,800 time to wartime almost, like from working on these systems. 166 00:08:50,800 --> 00:08:54,880 That kind of these like sleepy systems that, that, that see a lot of use 167 00:08:54,880 --> 00:08:58,400 and, and the kind of support, this functionality that people love to 168 00:08:58,400 --> 00:09:01,760 working on this like brand new things with, with this new technology that 169 00:09:01,760 --> 00:09:06,960 like is making a lot of money and, and, and people are like using a lot and 170 00:09:06,960 --> 00:09:09,400 liking a lot and kind of learning as they, as they go. 171 00:09:09,400 --> 00:09:12,720 Like it was just, yeah, I don't know. 172 00:09:12,720 --> 00:09:13,640 It was, it was fun. 173 00:09:13,640 --> 00:09:15,200 It was like, it was exhilarating. 174 00:09:15,400 --> 00:09:17,480 Um, it was a steep, a steep learning curve. 175 00:09:17,480 --> 00:09:20,560 I think a steep learning curve, like technically, but, but mostly 176 00:09:20,560 --> 00:09:24,280 like politically and organizationally kind of the level of coordination 177 00:09:24,280 --> 00:09:26,160 that has to happen when you're building something like that. 178 00:09:26,720 --> 00:09:30,080 And the, uh, as you might expect, the, the, the amount of people who have 179 00:09:30,080 --> 00:09:32,160 strong opinions is, is, is very, very high. 180 00:09:32,200 --> 00:09:35,960 Like when, when you're working on the Markdown pipeline, you're really 181 00:09:35,960 --> 00:09:42,440 just dealing with five or six kind of long-tenured, very senior engineers 182 00:09:42,440 --> 00:09:43,960 with like strong opinions about this stuff. 183 00:09:43,960 --> 00:09:47,880 And it's more like a, like a council of elders kind of situation where 184 00:09:47,880 --> 00:09:48,960 you're trying to figure stuff out. 185 00:09:48,960 --> 00:09:52,400 Whereas, whereas making changes on, on a product like co-pilot is, is, you 186 00:09:52,400 --> 00:09:59,120 know, there's people with, um, chief in the, in the job title kind of contributing 187 00:09:59,120 --> 00:10:02,720 to the conversation and, and people like both at GitHub and, and, and at Microsoft. 188 00:10:02,720 --> 00:10:05,880 It's just a whole different kind of way that like decisions get made. 189 00:10:06,680 --> 00:10:07,480 I love one too. 190 00:10:07,480 --> 00:10:12,320 Like very experienced senior engineers have like, I won't say an argument, but 191 00:10:12,320 --> 00:10:16,080 a technical discussion, you know, and it's like, it just makes you picture 192 00:10:16,080 --> 00:10:19,880 like the Lord of the Rings and like two people and like, like full wizard 193 00:10:19,880 --> 00:10:23,560 stuff and like beards and like the whole time you're just sitting there with 194 00:10:23,560 --> 00:10:26,600 popcorn because you have like, you're like, I have thoughts, but I'm not 195 00:10:26,600 --> 00:10:27,200 saying them, right? 196 00:10:29,320 --> 00:10:30,120 Exactly. 197 00:10:30,440 --> 00:10:32,280 And you just sit there and listen to both. 198 00:10:32,280 --> 00:10:34,760 Like sometimes those are better than like college classes. 199 00:10:34,800 --> 00:10:36,440 You know, like you learn so much. 200 00:10:36,440 --> 00:10:42,160 You're just, I used to love, uh, Amazon had the, the Wednesday ops meeting. 201 00:10:42,240 --> 00:10:43,400 Uh, did you ever go to this autumn? 202 00:10:43,920 --> 00:10:47,600 They were, that's the scariest meeting I've ever been in in my entire life. 203 00:10:47,640 --> 00:10:50,600 I would not like, I would watch those meetings because they're so fabulous. 204 00:10:50,600 --> 00:10:53,440 But if, if people are familiar with it, they had these, the ops reviews 205 00:10:53,440 --> 00:10:55,920 that are every Wednesday and you would, they, it's been a wheel. 206 00:10:56,160 --> 00:10:58,440 Let me tell you, your team's on that wheel. 207 00:10:58,840 --> 00:10:59,080 Yeah. 208 00:10:59,600 --> 00:11:04,960 And it was, you know, you, you would have to, you would review all the outages 209 00:11:04,960 --> 00:11:05,840 from the week before. 210 00:11:06,840 --> 00:11:09,840 Tell them about the fact that you hold your breath, the whole wheel turn. 211 00:11:09,920 --> 00:11:12,920 Like everybody is sitting there holding their breath because what you're holding. 212 00:11:12,920 --> 00:11:13,920 Not us, not us, not us. 213 00:11:14,440 --> 00:11:18,840 What you're doing is that wheel, because it's usually like builder's tools 214 00:11:18,840 --> 00:11:20,440 or like a bunch of orgs, right? 215 00:11:20,480 --> 00:11:24,280 But it's a weekly ops of like all the like important AWS services. 216 00:11:24,280 --> 00:11:28,520 So they're spinning this wheel to figure out who is going to present their COEs 217 00:11:28,520 --> 00:11:30,520 cause you don't have enough time to do everybody's. 218 00:11:30,600 --> 00:11:37,760 So everybody brings their most important COEs and then every, it's like, but I, 219 00:11:37,800 --> 00:11:39,880 I love what it's supposed to be about. 220 00:11:39,880 --> 00:11:46,200 It's not always that, but it's supposed to be about everybody bringing like your, 221 00:11:46,840 --> 00:11:49,000 what is the, what is the acronym for COE? 222 00:11:49,000 --> 00:11:55,120 It's something of excellence or no, it's not excellence. 223 00:11:55,160 --> 00:12:00,280 Something outed, no, something outage anyways, but it's supposed to be everybody 224 00:12:00,280 --> 00:12:01,760 bringing your correction of error. 225 00:12:01,840 --> 00:12:02,880 Yes, correction of error. 226 00:12:03,360 --> 00:12:05,560 And in theory, it's actually a good model. 227 00:12:05,560 --> 00:12:08,680 And like, you know, like I give Amazon their stuff when they deserve it. 228 00:12:08,680 --> 00:12:12,520 But you bring your, everybody, you write a paper. 229 00:12:12,520 --> 00:12:16,280 So after the outage, you write a paper and you're like, what could we have done better? 230 00:12:16,280 --> 00:12:19,600 And it's supposed to be no blame and the kind of way of like, yes, 231 00:12:19,600 --> 00:12:22,560 this dude to press the button, but if there was a button that can bring down 232 00:12:22,560 --> 00:12:25,720 a tier one system, we fucked up because it was a bunch of eggs, right? 233 00:12:26,200 --> 00:12:27,960 So like, I love that part. 234 00:12:27,960 --> 00:12:33,720 When you see like the most just genius people sitting there talking about just 235 00:12:33,800 --> 00:12:37,080 building something, which goes back to what your blog was about, shipping something, 236 00:12:37,080 --> 00:12:40,600 right, building something at a certain scale is so different than adding a 237 00:12:40,600 --> 00:12:42,560 feature, which you can be adding that feature at scale. 238 00:12:42,560 --> 00:12:43,600 That's another thing too, right? 239 00:12:43,600 --> 00:12:47,040 Like, but they're, that is scary. 240 00:12:47,040 --> 00:12:50,360 Like, what if you put a button somewhere and they hate your button or what if it 241 00:12:50,360 --> 00:12:50,960 breaks stuff? 242 00:12:50,960 --> 00:12:51,600 You know what I mean? 243 00:12:51,600 --> 00:12:54,720 So, I mean, there's a slight tangent from this. 244 00:12:54,720 --> 00:12:59,080 I do think that that meeting specifically is like a key to Amazon's operational 245 00:12:59,080 --> 00:12:59,640 excellence. 246 00:12:59,880 --> 00:13:03,880 It, no, they do a lot of things wrong, but they do a lot that they do that. 247 00:13:03,960 --> 00:13:09,760 Process specifically, because everyone can see it, there are VP level people on 248 00:13:09,760 --> 00:13:11,760 that call talking about operation stuff. 249 00:13:11,760 --> 00:13:14,800 And you just learned so much stuff passively by watching. 250 00:13:14,960 --> 00:13:16,600 Hey, we're designing this new thing. 251 00:13:16,640 --> 00:13:17,720 Here's how this is going to look. 252 00:13:17,720 --> 00:13:20,160 And someone's like, have you thought about this side of authentication? 253 00:13:20,160 --> 00:13:20,920 Have you thought about this? 254 00:13:20,920 --> 00:13:23,240 It is a master class at learning at scale. 255 00:13:23,400 --> 00:13:23,680 Yeah. 256 00:13:23,920 --> 00:13:28,480 And it was a huge time sink every Wednesday for three hours or something like that. 257 00:13:28,480 --> 00:13:29,800 And it was like an hour and a half. 258 00:13:29,840 --> 00:13:30,080 Yeah. 259 00:13:30,080 --> 00:13:31,600 It was, did they ever go hour and a half? 260 00:13:31,800 --> 00:13:34,840 It felt no, because the two principles start arguing. 261 00:13:35,120 --> 00:13:38,840 And look, there's a lot of meetings that you drop after 10 minutes over. 262 00:13:39,000 --> 00:13:40,160 You don't drop that meeting. 263 00:13:40,160 --> 00:13:41,560 You're sitting there with popcorn. 264 00:13:41,800 --> 00:13:44,240 You're like, I would just put that one on in the background. 265 00:13:44,240 --> 00:13:47,120 I'm going to do some work and I'm going to pay attention to what you're doing. 266 00:13:47,120 --> 00:13:49,320 Like that's the one meeting I want to show up for. 267 00:13:49,400 --> 00:13:51,320 Because like you learn so much. 268 00:13:51,600 --> 00:13:54,880 You see some really smart people that nobody else would ever argue with, 269 00:13:54,880 --> 00:13:56,560 argue with each other, which is great. 270 00:13:56,560 --> 00:14:00,840 Like it's like reality, just the open argument of like, but not a bad way. 271 00:14:01,080 --> 00:14:02,000 We're not seeing who's right. 272 00:14:02,000 --> 00:14:02,400 Who's wrong. 273 00:14:02,400 --> 00:14:03,960 Yeah, we're coming to the best conclusion. 274 00:14:03,960 --> 00:14:06,840 But Jude, you learn so much because they're, they both have, 275 00:14:06,880 --> 00:14:08,920 nobody doesn't have a valid argument in this. 276 00:14:08,960 --> 00:14:09,560 You know what I mean? 277 00:14:09,560 --> 00:14:11,640 Like both of them have amazing. 278 00:14:11,640 --> 00:14:12,120 Yes. 279 00:14:12,320 --> 00:14:13,320 But it was great. 280 00:14:13,400 --> 00:14:15,480 The thing I was actually trying to get to with that was. 281 00:14:16,160 --> 00:14:16,840 Sidequests. 282 00:14:16,960 --> 00:14:17,920 Yeah, it was a sidequest. 283 00:14:18,040 --> 00:14:21,200 But the thing that I've told a lot of people over my career of like, 284 00:14:21,200 --> 00:14:22,160 Hey, I want to get into tech. 285 00:14:22,160 --> 00:14:23,040 I want to do something new. 286 00:14:23,040 --> 00:14:23,800 I want to go somewhere else. 287 00:14:23,800 --> 00:14:28,680 I always told them, go to the thing that either is the closest to making money 288 00:14:28,680 --> 00:14:32,720 or has the most attention because both of those things are where people 289 00:14:32,720 --> 00:14:35,840 will just know that you're doing work because a lot of the infrastructure, 290 00:14:36,120 --> 00:14:37,240 I love infrastructure. 291 00:14:37,600 --> 00:14:40,760 It is not the best career path for growing. 292 00:14:40,760 --> 00:14:44,280 If you want to be, you know, like a top level VP or something like that, 293 00:14:44,280 --> 00:14:47,840 because most companies just don't have an infrastructure engineer at that level. 294 00:14:48,000 --> 00:14:49,240 It's not something that's visible. 295 00:14:49,240 --> 00:14:53,360 It's not part of the shipping culture or the thing that even makes it into 296 00:14:53,600 --> 00:14:57,160 like a shareholder meeting like, Hey, we deployed another Kubernetes cluster. 297 00:14:57,160 --> 00:14:58,440 Nobody cares, right? 298 00:14:58,520 --> 00:15:04,440 DevOps, DevOps, infrastructure, SREs, they are called when something's wrong. 299 00:15:04,440 --> 00:15:08,440 When you've messed up and it's all out, they call you, but nobody notices 300 00:15:08,440 --> 00:15:09,600 when you did a good job. 301 00:15:09,680 --> 00:15:12,640 I mean, I mean, some companies really praise the firefighter, right? 302 00:15:12,640 --> 00:15:15,880 Like, but that's not a, we're not like promoting to have more of it. 303 00:15:15,960 --> 00:15:19,680 But also, like that's tricky too, because like in a way, like there 304 00:15:19,680 --> 00:15:20,920 shouldn't be fires, right? 305 00:15:20,920 --> 00:15:24,440 Like, I mean, they are always going to be fires to an extent, but then 306 00:15:24,440 --> 00:15:27,800 that gets out of hand because it's like them, you're constantly chasing 307 00:15:27,840 --> 00:15:31,880 fires and there's not enough time to make, you know, to fix those corrections 308 00:15:31,880 --> 00:15:34,840 before they become fires, but a lot of that becomes like a whole 309 00:15:34,840 --> 00:15:35,880 another conversation. 310 00:15:36,240 --> 00:15:39,600 Every, every group that I've worked for had the one person that would 311 00:15:39,600 --> 00:15:41,320 just swoop in and fix something, right? 312 00:15:41,320 --> 00:15:42,600 You're just like, Hey, we do not know what's going on. 313 00:15:42,600 --> 00:15:43,720 Everybody has a Batman. 314 00:15:44,000 --> 00:15:44,320 Yeah. 315 00:15:44,320 --> 00:15:47,520 They would debug it further than anyone else and they would find the actual 316 00:15:47,520 --> 00:15:51,280 root cause like, Oh, here's the one line change that fixes that whole problem. 317 00:15:51,320 --> 00:15:51,520 Right. 318 00:15:51,520 --> 00:15:52,800 It's just like, Oh, that was amazing. 319 00:15:52,800 --> 00:15:53,200 How'd you do that? 320 00:15:53,200 --> 00:15:56,120 There's always one senior and for some reason they're a senior, right? 321 00:15:56,120 --> 00:15:59,320 Because like the principles, they know everything in their depth area. 322 00:15:59,320 --> 00:16:04,360 Usually there's one senior who like, they've touched everything and they can 323 00:16:04,360 --> 00:16:08,360 fix anything and everybody on the team can take it so far. 324 00:16:08,400 --> 00:16:11,720 And when you're absolutely up Schitt's Creek, you call that person. 325 00:16:13,520 --> 00:16:16,240 I think like one of the reasons that that kind of archetype is, is, is 326 00:16:16,240 --> 00:16:18,520 more commonly found in like senior than principle. 327 00:16:18,880 --> 00:16:21,720 Um, and of course these levels are kind of different between companies at 328 00:16:21,840 --> 00:16:22,160 GitHub. 329 00:16:22,160 --> 00:16:24,320 There are a lot of staff engineers that would fit that as well. 330 00:16:24,760 --> 00:16:29,960 Um, is that like, you have to be really familiar with the specifics of the 331 00:16:29,960 --> 00:16:31,400 code to figure this stuff out. 332 00:16:31,760 --> 00:16:34,840 And the more senior you get, sometimes the more you kind of get into this 333 00:16:34,840 --> 00:16:37,800 realm of like generalities where you like, maybe you don't quite remember 334 00:16:37,800 --> 00:16:40,240 exactly like line by line, how this thing works anymore. 335 00:16:40,640 --> 00:16:42,000 Cause you're dealing with other stuff as well. 336 00:16:42,040 --> 00:16:45,720 I also think that like the principle levels, the first one that stops solving 337 00:16:45,720 --> 00:16:47,920 problems with tech, with technology, right? 338 00:16:47,920 --> 00:16:50,200 We were like, really like, this is a process problem. 339 00:16:50,360 --> 00:16:52,560 I'm not going to write a line of code to solve this. 340 00:16:52,560 --> 00:16:54,960 Not know if that's always true, but it's a higher level. 341 00:16:55,320 --> 00:16:55,920 You know what I mean? 342 00:16:55,920 --> 00:17:00,880 It's a higher like view of the technological problems usually, but it 343 00:17:00,880 --> 00:17:03,640 also depends cause like if you're deep in Java land, right? 344 00:17:03,640 --> 00:17:07,320 Like each principle is part of like a project as a maintainer for a project, 345 00:17:07,320 --> 00:17:07,520 right? 346 00:17:07,520 --> 00:17:11,200 Like, so I think it depends, you know, but it also what you mentioned. 347 00:17:11,200 --> 00:17:15,200 So like it's interesting because do they usually have staff and senior in the 348 00:17:15,200 --> 00:17:20,840 same like, I guess tree or like pyramid, I guess, because what is the 349 00:17:20,840 --> 00:17:22,520 difference between staff and senior usually? 350 00:17:23,560 --> 00:17:30,400 I mean, the Amazon tree was senior principle and then senior principle, right? 351 00:17:30,400 --> 00:17:32,040 Cause the L seven, six, seven, eight. 352 00:17:32,280 --> 00:17:35,720 So principle at Amazon is kind of similar to staff then in my mind. 353 00:17:35,720 --> 00:17:39,440 Cause it's weird because it's an architect at Microsoft above a principle. 354 00:17:39,440 --> 00:17:40,240 Or is that the same? 355 00:17:40,400 --> 00:17:42,160 Microsoft has like 150 levels. 356 00:17:42,160 --> 00:17:42,480 Yeah. 357 00:17:42,720 --> 00:17:45,000 Microsoft is terrifying to me. 358 00:17:45,000 --> 00:17:48,200 But then like what is like GitHub is GitHub different because GitHub was 359 00:17:48,200 --> 00:17:49,600 technically a company beforehand. 360 00:17:50,280 --> 00:17:50,560 Yeah. 361 00:17:50,560 --> 00:17:56,320 I mean, GitHub goes, uh, well, I think it's maybe changing now, but like from 362 00:17:56,320 --> 00:17:59,160 my memory, like most of the time I've been here, it's like mid-level senior 363 00:17:59,160 --> 00:18:00,080 staff principle. 364 00:18:00,960 --> 00:18:01,320 That's it. 365 00:18:02,360 --> 00:18:08,600 And then at, um, at Zendesk, it was like senior staff, senior staff, 366 00:18:08,960 --> 00:18:10,320 distinguished senior staff. 367 00:18:10,600 --> 00:18:14,480 And then see, cause it seems like a lot of companies just trade staff in senior, 368 00:18:14,560 --> 00:18:17,480 you know, like, so if they don't have a senior, they have a staff, but some 369 00:18:17,480 --> 00:18:18,840 of them will actually tear it. 370 00:18:18,840 --> 00:18:20,200 And I'm like, well, which one comes first? 371 00:18:20,200 --> 00:18:21,920 I guess not that it really matters. 372 00:18:21,920 --> 00:18:25,960 But staff is always above senior, um, in the places I've seen, but like, I 373 00:18:25,960 --> 00:18:27,840 wouldn't be surprised if some people do it differently. 374 00:18:27,880 --> 00:18:31,240 Like back to, back to the shipping topic. 375 00:18:31,320 --> 00:18:35,840 Uh, we mentioned like autumn, you were shipping Java at Amazon. 376 00:18:35,880 --> 00:18:40,560 I was shipping with Kubernetes, like very different things, but a lot of the 377 00:18:40,560 --> 00:18:42,680 process still kind of felt the same to me. 378 00:18:42,680 --> 00:18:44,880 Everyone, everyone was trying to ship for reinvent at Amazon. 379 00:18:44,920 --> 00:18:48,240 When you work for dev rail, did they let you actually ship things to production? 380 00:18:48,800 --> 00:18:53,160 I, I only wrote one line of code that ever, or one section of code that ever 381 00:18:53,160 --> 00:18:54,600 ended up in any production system. 382 00:18:54,920 --> 00:18:57,880 Um, it took me a week to learn the internal tooling to make that happen. 383 00:18:57,920 --> 00:19:02,800 It is a whole, it is a thing, but a whole bunch of like external, like public 384 00:19:02,800 --> 00:19:07,040 facing stuff that was used by customers in various situations, but not internal 385 00:19:07,040 --> 00:19:09,560 Amazon says I wanted to stay away far away from that as possible. 386 00:19:09,880 --> 00:19:13,760 Um, but the, but a lot of the stuff I felt like even across the different 387 00:19:13,760 --> 00:19:16,840 orgs of Amazon's different products, a lot of the shipping still felt kind of 388 00:19:16,840 --> 00:19:19,440 the same where we're pushing software. 389 00:19:19,440 --> 00:19:22,520 Once a customer gets it, they, we like an interact with them. 390 00:19:22,800 --> 00:19:25,680 Amazon shipping bar was always pretty low. 391 00:19:26,480 --> 00:19:29,360 We got things out that were pretty terrible to get them in the customer's 392 00:19:29,360 --> 00:19:32,240 hands as early as possible and then we iterated on them over years. 393 00:19:32,880 --> 00:19:36,280 My experience at Disney was, was the exact opposite, especially at Disney 394 00:19:36,280 --> 00:19:40,840 animation where we shipped what I call box software, like shipping movies is a, 395 00:19:40,840 --> 00:19:44,760 is just such a, it's a box software sort of experience where literally I 396 00:19:44,760 --> 00:19:49,080 would see my software on a shelf in a target, right? 397 00:19:49,080 --> 00:19:52,920 It's, it's, it's part of a Java interpreter that's on the DVD or something 398 00:19:52,920 --> 00:19:56,240 like that, but it's not the actual like software that I maintained. 399 00:19:56,240 --> 00:19:58,120 And then it wasn't until I was maintaining software, I think that 400 00:19:58,120 --> 00:20:04,040 everything you say in what is shipping became a lot less clear once we had a 401 00:20:04,040 --> 00:20:07,120 SaaS, once we had to maintain something after it was shipped, right? 402 00:20:07,120 --> 00:20:12,040 You, you ship something and now maintenance starts with Disney shipping 403 00:20:12,040 --> 00:20:15,680 movies, once I shipped something, I was done with it and it was fantastic 404 00:20:15,680 --> 00:20:18,400 because everyone knew, Hey, we're all done with this thing now. 405 00:20:18,520 --> 00:20:19,560 We move on to the next thing. 406 00:20:19,560 --> 00:20:22,760 And I felt like that was a big difference in my career. 407 00:20:22,760 --> 00:20:26,120 And I, and just knowing box software from the past, like people were like, 408 00:20:26,120 --> 00:20:27,840 ah, I'm done with office 97. 409 00:20:27,840 --> 00:20:29,440 So I don't have to touch that one anymore. 410 00:20:29,920 --> 00:20:35,360 Um, but everything I was like, it was very clear when the thing had shipped. 411 00:20:35,360 --> 00:20:39,920 And now, as you point out, it's very unclear when a ship, when something has 412 00:20:39,920 --> 00:20:40,360 shipped. 413 00:20:40,520 --> 00:20:43,120 Yeah, well, that's like a, yeah, that's, that's, as you say, that's 414 00:20:43,120 --> 00:20:44,640 true of like SaaS software in general. 415 00:20:44,640 --> 00:20:47,480 I mean, when is, when is copilot shipped? 416 00:20:47,520 --> 00:20:49,840 When is like, when is like GitHub shipped? 417 00:20:49,880 --> 00:20:52,800 Like GitHub is a, is a, is a product, but each, each feature within 418 00:20:52,800 --> 00:20:53,680 GitHub has the same thing. 419 00:20:53,680 --> 00:20:57,040 Like when a, when a poor request shipped, when a poor request reviews shipped, 420 00:20:57,040 --> 00:21:00,280 like all of these things are constantly being worked on. 421 00:21:00,280 --> 00:21:02,960 All of these things are, are constantly, constantly changing. 422 00:21:03,080 --> 00:21:06,800 Um, and I've, I've seen lots, lots of engineers take their feature and kind 423 00:21:06,800 --> 00:21:11,400 of get, kind of get trapped by that almost of, of, of this, this idea that like, 424 00:21:11,400 --> 00:21:12,360 well, it isn't done yet. 425 00:21:12,400 --> 00:21:14,240 There's, there's more things we could do. 426 00:21:14,240 --> 00:21:16,840 There's always more things we could do and, and working on it and working on it, 427 00:21:16,840 --> 00:21:20,640 like long past the point where I'm long past the point where there's any 428 00:21:20,640 --> 00:21:23,840 enthusiasm from leadership, uh, for them to continue. 429 00:21:24,480 --> 00:21:28,600 How do you think attaching versions to things you ship affects this? 430 00:21:28,640 --> 00:21:30,520 Cause I feel like there's a difference there with horrible. 431 00:21:30,520 --> 00:21:35,400 It makes it just, oh my God, Java eight will live to like the universe is 432 00:21:35,400 --> 00:21:36,960 nuked forever. 433 00:21:38,640 --> 00:21:39,040 Yeah. 434 00:21:39,040 --> 00:21:43,760 I mean, like, like versions of like libraries and, and, and extensions and, 435 00:21:43,760 --> 00:21:47,640 and things where someone could be running the old version years and years after 436 00:21:47,640 --> 00:21:49,240 you, after you ship, is that what you mean? 437 00:21:50,000 --> 00:21:53,760 Just in general, like we in a SAS, people shouldn't care about the version, right? 438 00:21:53,760 --> 00:21:57,200 It's just like, I go to riverside.fm and I use the interface. 439 00:21:57,200 --> 00:22:01,560 I have no idea what internal version this is called, but for products that I'm 440 00:22:01,560 --> 00:22:06,960 supposed to build on, I need these defining lines of like, oh, that's version eight. 441 00:22:06,960 --> 00:22:08,000 That's version nine. 442 00:22:08,160 --> 00:22:10,680 I can't move to version nine until I change these things, right? 443 00:22:10,680 --> 00:22:12,160 Like you can have breaking changes. 444 00:22:12,400 --> 00:22:13,800 You can do things to be able to do that. 445 00:22:13,800 --> 00:22:18,240 But I also feel like internally at companies, they use version numbers as 446 00:22:18,240 --> 00:22:20,640 a way to say they ship something. 447 00:22:21,040 --> 00:22:22,960 They're like, we ship version job eight one. 448 00:22:23,200 --> 00:22:24,280 It's like, what, what does that mean? 449 00:22:24,280 --> 00:22:24,760 They're like, I don't know. 450 00:22:24,760 --> 00:22:25,800 I just arbitrarily made it up. 451 00:22:25,800 --> 00:22:26,960 So I could say I ship something. 452 00:22:27,160 --> 00:22:30,480 But there don't, but a lot of people do not arbitrarily make that up though. 453 00:22:30,520 --> 00:22:31,840 Like, and I don't mean just Java. 454 00:22:31,840 --> 00:22:36,960 Like, I mean, like there are huge debates on like epochs and just all 455 00:22:36,960 --> 00:22:38,400 kind of things in different languages. 456 00:22:38,400 --> 00:22:44,000 Plus like the lower level you get, like dependencies are such a big deal. 457 00:22:44,040 --> 00:22:48,920 Like I think that like when you get to do like a certain level of programming, 458 00:22:49,720 --> 00:22:54,960 it's like you just get to like a huge respect for how many dependencies you 459 00:22:54,960 --> 00:23:00,560 can pull in to have like a stable release because like you are going to 460 00:23:00,560 --> 00:23:02,880 pay a great deal for each new one, you know? 461 00:23:03,840 --> 00:23:04,920 Yeah, yeah, for sure. 462 00:23:04,920 --> 00:23:10,600 But like it's funny, like a sort of one end of the spectrum, you have like 463 00:23:10,960 --> 00:23:14,880 versioning is like technically really hard, but philosophically really easy. 464 00:23:14,880 --> 00:23:18,400 Cause you're just doing semantic versioning and there's, there's pretty clear, 465 00:23:18,400 --> 00:23:20,680 like, I don't know how to count principles for you. 466 00:23:20,680 --> 00:23:20,800 Yeah. 467 00:23:20,800 --> 00:23:22,160 Like, is this a breaking change? 468 00:23:22,160 --> 00:23:23,600 Does this change the interface? 469 00:23:23,600 --> 00:23:28,440 You can, you can determine that like almost purely, purely program programmatically. 470 00:23:29,280 --> 00:23:32,840 And then the further you get up the other end of the spectrum, versioning becomes 471 00:23:32,840 --> 00:23:36,720 like technically pretty easy, you know, like you can call something whatever 472 00:23:36,720 --> 00:23:41,200 version you want and it's not your dependency problem isn't as bad between like, 473 00:23:41,920 --> 00:23:44,800 I don't know, like, yeah, I don't know. 474 00:23:44,800 --> 00:23:46,560 I don't actually have a good, a good example. 475 00:23:47,560 --> 00:23:51,520 But the, the philosophical problem of, of like, is this something new? 476 00:23:51,520 --> 00:23:52,560 Is this a new version? 477 00:23:52,880 --> 00:23:56,680 You know, like to what extent is calling this a new version, a marketing decision? 478 00:23:57,080 --> 00:24:03,360 That, that stuff gets really, gets really murky because I'm like, what is, what is 479 00:24:03,360 --> 00:24:04,120 a product, right? 480 00:24:04,120 --> 00:24:05,800 A product is a thing that is marketed. 481 00:24:05,800 --> 00:24:10,280 It's a thing that is sold, you know, it's not primarily a technical thing. 482 00:24:11,120 --> 00:24:15,920 So to like a lot of engineers kind of come into this problem and they say, well, 483 00:24:15,920 --> 00:24:16,920 oh, it's technically the same. 484 00:24:16,920 --> 00:24:19,840 So like it's stupid to give this a new version. 485 00:24:19,840 --> 00:24:23,560 And it's like, well, no, like you're, the technical thing is sort of incidental. 486 00:24:23,560 --> 00:24:25,360 Like what you're working on is a product in the market. 487 00:24:26,240 --> 00:24:33,120 It also depends on if your versioning or you're having to update is dependent on 488 00:24:33,120 --> 00:24:37,480 other people and like on the dependencies or if you get a CVE or if you have to 489 00:24:37,480 --> 00:24:38,240 patch something. 490 00:24:38,520 --> 00:24:41,680 But I also think something that you said was really interesting is that I think 491 00:24:41,680 --> 00:24:45,240 there are some people who are very good at solving technical problems, but they 492 00:24:45,240 --> 00:24:49,560 don't have a mind for the business side and they don't see how business affects 493 00:24:49,600 --> 00:24:50,320 engineering. 494 00:24:50,440 --> 00:24:55,560 And then there are some people who are good technically, but they have that 495 00:24:55,560 --> 00:24:59,680 other skill of being able to see where techno technology fits into business and 496 00:24:59,680 --> 00:25:00,560 being a product. 497 00:25:01,120 --> 00:25:05,720 And I think that we should almost at least in certain realms give that a little 498 00:25:05,720 --> 00:25:10,560 bit more credit because being able to understand the business needs and how 499 00:25:10,560 --> 00:25:13,000 that marries technically is really important. 500 00:25:13,000 --> 00:25:14,280 Like that's a product manager, right? 501 00:25:14,320 --> 00:25:17,240 Like that's the, that's the role of the product manager, that bridge in between. 502 00:25:17,240 --> 00:25:19,600 See, I, I disagree. 503 00:25:19,640 --> 00:25:20,320 I disagree. 504 00:25:20,320 --> 00:25:24,040 I think that's the, I think, I think that's the role of, of, of an engineer. 505 00:25:24,040 --> 00:25:27,440 And this, this is the thing I say that I think makes, makes people angry the most. 506 00:25:27,440 --> 00:25:31,000 But it, but it's a, it's a thing I believe, which is that if you are working in 507 00:25:31,000 --> 00:25:34,480 a tech company, if you're not working on your own project, engineering is in 508 00:25:34,480 --> 00:25:35,800 service of business needs. 509 00:25:35,800 --> 00:25:38,920 Engineering is a tool in service of the needs of the business always. 510 00:25:38,920 --> 00:25:40,080 That is just what it is. 511 00:25:40,400 --> 00:25:42,080 That's what, that's what you're being paid to do. 512 00:25:42,080 --> 00:25:44,920 You're an engineer, you're a good engineer when you understand the business 513 00:25:44,920 --> 00:25:47,360 needs, cause you can't make the right decisions if you don't understand the 514 00:25:47,360 --> 00:25:48,000 business needs. 515 00:25:48,000 --> 00:25:53,200 If you don't understand, like there's got to be more effort, especially now 516 00:25:53,200 --> 00:25:56,640 that co-pilot or just any AI is going to do more for us. 517 00:25:56,640 --> 00:26:00,680 Like understanding how someone's going to use this, understanding the 518 00:26:00,800 --> 00:26:03,880 restraints that that person may have using your product. 519 00:26:04,280 --> 00:26:08,760 Like I think that's the good, like that's what makes you special versus somebody 520 00:26:08,760 --> 00:26:11,040 who's just going to like write a bunch of code to me. 521 00:26:12,000 --> 00:26:15,640 Now, I guess the one thing I would push back on is most of the time that I've 522 00:26:15,640 --> 00:26:19,920 seen at companies, engineers don't have the information they, they need to make 523 00:26:19,920 --> 00:26:21,480 good business decisions, right? 524 00:26:21,480 --> 00:26:26,200 Like at Disney, I was never told how much money, you know, something costs. 525 00:26:26,200 --> 00:26:29,040 And it's just like, oh yeah, you just, here's your, here's your task list. 526 00:26:29,040 --> 00:26:32,520 Like it gets filtered down under eight layers of management or something. 527 00:26:32,520 --> 00:26:34,320 It's like, okay, here's the five tasks I need to do. 528 00:26:34,360 --> 00:26:37,680 I can't infect how the business is going to change for that. 529 00:26:37,720 --> 00:26:41,720 And if I did, or the times I tried, I was in trouble because I stepped out 530 00:26:41,720 --> 00:26:43,720 of my lane and I was doing something I shouldn't have been doing. 531 00:26:44,600 --> 00:26:47,520 Amazon was a little bit different where at least on the product. 532 00:26:47,520 --> 00:26:48,720 Weekly business reviews. 533 00:26:49,000 --> 00:26:49,200 Yeah. 534 00:26:49,200 --> 00:26:52,920 The weekly business reviews was exactly the thing that I never got at Disney 535 00:26:53,040 --> 00:26:56,320 where my very first meeting, I showed up and they was like, here's how much money 536 00:26:56,320 --> 00:26:57,400 EKS made last week. 537 00:26:57,400 --> 00:26:59,560 And I was like, I think I'm in the wrong meeting. 538 00:26:59,560 --> 00:27:01,640 I'm like, no, no, this is just a, this is just weekly business room. 539 00:27:01,640 --> 00:27:02,560 Like, what are you talking about? 540 00:27:02,560 --> 00:27:05,280 Like, you don't tell everyone all of the money numbers. 541 00:27:05,520 --> 00:27:06,920 Well, then how else are you going to make a decision? 542 00:27:07,720 --> 00:27:10,840 I think that's one of the, again, one of the things that makes Amazon 543 00:27:10,840 --> 00:27:14,680 successful is the fact that they make everybody show up to those meetings 544 00:27:14,680 --> 00:27:19,880 from essays to product to, like, because everybody needs that understanding 545 00:27:19,880 --> 00:27:21,000 to be able to be good at your job. 546 00:27:21,000 --> 00:27:24,360 And it also holds you accountable because when you keep saying something's 547 00:27:24,360 --> 00:27:27,720 green and then it goes yellow and it goes red and you're all in that 548 00:27:27,720 --> 00:27:29,720 meeting, you've got to be able to explain that. 549 00:27:31,840 --> 00:27:34,560 I think I want to press on something a little bit, which is that 550 00:27:35,480 --> 00:27:38,640 when I say that like engineering is in service of business needs, I'm not 551 00:27:38,640 --> 00:27:42,360 necessarily saying that engineers should be out there making business 552 00:27:42,360 --> 00:27:44,400 decisions and out there making business bets. 553 00:27:44,400 --> 00:27:48,760 I think sometimes that's appropriate in some companies, but let me, let me 554 00:27:48,760 --> 00:27:52,560 give you a hypothetical and by hypothetical, I mean something that I've 555 00:27:52,560 --> 00:27:57,000 seen about a hundred thousand times, which is like, there's this project 556 00:27:57,000 --> 00:28:02,480 happening, your manager comes in and says, like, hey, like, we really need 557 00:28:02,480 --> 00:28:06,040 this, this endpoint, this feature, this button to do these, like, three more 558 00:28:06,040 --> 00:28:10,120 things and the engineer comes back and says, like, no, no, we can't actually 559 00:28:10,120 --> 00:28:12,680 do that. We have to, we have to put that in a background job. 560 00:28:12,680 --> 00:28:15,160 It's going to have to, the interface is going to have to be different. 561 00:28:15,160 --> 00:28:18,200 Customers are going to have to poll this API instead of just getting it back 562 00:28:18,200 --> 00:28:22,280 immediately because otherwise it's going to push the, push the endpoint 563 00:28:22,280 --> 00:28:26,120 over 200 milliseconds and an endpoint over 200 milliseconds is, is, is 564 00:28:26,160 --> 00:28:27,040 unacceptably slow. 565 00:28:30,360 --> 00:28:34,040 Is it like, is that engineer right or wrong? 566 00:28:34,040 --> 00:28:34,640 Right? 567 00:28:34,640 --> 00:28:39,160 Like, is it, and my, my perspective and the, the thing that I think is 568 00:28:39,160 --> 00:28:42,160 kind of controversial is that I think the engineer is 100% in the wrong 569 00:28:42,160 --> 00:28:47,360 there, that it's, it's just, it's just incorrect to say, actually, you 570 00:28:47,360 --> 00:28:51,760 know, it's more important to ship like a fast, efficient API than it is to 571 00:28:51,760 --> 00:28:54,120 like, deliver this kind of business, business need. 572 00:28:54,640 --> 00:28:56,440 And of course there's like room to push back. 573 00:28:56,440 --> 00:28:59,440 And of course the situations where like a 200 millisecond endpoint is 574 00:28:59,440 --> 00:29:01,800 going to have knock on effects on the rest of the infrastructure and, and, 575 00:29:01,800 --> 00:29:04,080 and cause problems that are hard to anticipate and so on. 576 00:29:04,400 --> 00:29:07,240 But I've, I've seen over and over again, just in the simple case 577 00:29:07,240 --> 00:29:11,360 engineers saying like on moral grounds, like I refuse to ship this. 578 00:29:11,360 --> 00:29:14,800 And when I say moral grounds, I mean like aesthetic grounds, like this is, 579 00:29:14,800 --> 00:29:15,960 this is going to be too slow. 580 00:29:15,960 --> 00:29:17,400 This is going to be too janky. 581 00:29:17,400 --> 00:29:22,720 Like I'm not going to ship this and, and just leaving like leaving so much 582 00:29:22,720 --> 00:29:26,440 value on the table and like just not shipping things that customers want. 583 00:29:26,480 --> 00:29:30,120 Like, um, and I think that, that, that, that dynamic can happen. 584 00:29:30,120 --> 00:29:33,520 Even when like almost no matter how much business context you have, because 585 00:29:33,520 --> 00:29:36,960 it's, it's just a matter of like the engineer not listening to what they're 586 00:29:36,960 --> 00:29:37,520 being told. 587 00:29:38,160 --> 00:29:41,680 And not only agree with you, but I'll take it one step further. 588 00:29:42,360 --> 00:29:45,760 This is why we get contention as someone who's been a solutions architect 589 00:29:45,760 --> 00:29:50,240 and engineer, a product manager, and then an engineer again, we don't all 590 00:29:50,280 --> 00:29:54,080 respect each other's jobs because we think that we all don't do with anything. 591 00:29:54,120 --> 00:29:54,440 Right. 592 00:29:54,440 --> 00:29:58,200 And I think a lot of time and times engineers can be like, but I do all 593 00:29:58,200 --> 00:30:00,040 this work and product managers don't do anything. 594 00:30:00,040 --> 00:30:04,840 But like you all need each other to break the right ecosystem. 595 00:30:04,840 --> 00:30:05,000 Right. 596 00:30:05,000 --> 00:30:07,720 Like, like you said, I don't think that they need to make crazy business 597 00:30:07,720 --> 00:30:11,080 decisions, maybe if you work in a startup or, you know, certain areas, maybe, 598 00:30:11,600 --> 00:30:16,760 but there's certain technical decisions that you can't make and you can't make 599 00:30:16,760 --> 00:30:21,280 well and you can't prioritize and do things effectively without knowing why 600 00:30:21,280 --> 00:30:22,320 you're making that feature. 601 00:30:22,320 --> 00:30:26,200 And like sometimes our product manager could, if they're not very technical, 602 00:30:26,200 --> 00:30:29,360 they could be like, Hey, you're that they're, they could be promising 603 00:30:29,360 --> 00:30:30,520 something that's impossible. 604 00:30:30,560 --> 00:30:30,880 Right. 605 00:30:31,320 --> 00:30:34,720 But an engineer could be some, okay, I'm going to be real. 606 00:30:34,720 --> 00:30:39,000 Sometimes engineers, we get a little like, you do too many of the hard things 607 00:30:39,000 --> 00:30:41,880 and then all of a sudden you feel a little goddess and like they'll be out 608 00:30:41,880 --> 00:30:45,600 there just digging in for things that you don't need to dig in for. 609 00:30:45,600 --> 00:30:49,360 Like sometimes it's art for art's sake of, I just want to build this really 610 00:30:49,360 --> 00:30:52,000 cool thing because it's hard, but your customers don't want that shit. 611 00:30:52,000 --> 00:30:52,880 Like nobody wants it. 612 00:30:52,880 --> 00:30:53,840 Nobody asked you for that. 613 00:30:53,840 --> 00:30:57,520 Like, you know, and if you don't have a good balance between like, this is 614 00:30:57,520 --> 00:31:01,160 the right technical decision because it's going to make our customers lives 615 00:31:01,200 --> 00:31:03,640 better, you're just building for stuff. 616 00:31:03,640 --> 00:31:05,040 But like this is a business. 617 00:31:06,520 --> 00:31:10,560 Also, you know, like it has to make money and people need to like it to a certain 618 00:31:10,560 --> 00:31:14,480 extent, which I think like there's, it's just like an ecosystem. 619 00:31:14,480 --> 00:31:16,800 It all has to balance a certain amount. 620 00:31:16,840 --> 00:31:19,400 And we all need to understand where we're all going. 621 00:31:19,400 --> 00:31:22,360 It's like planning a trip, but you don't know where you're supposed to end up. 622 00:31:23,240 --> 00:31:23,600 Like. 623 00:31:24,600 --> 00:31:27,800 I agree, Odom, but people get really upset when you say that. 624 00:31:29,240 --> 00:31:29,880 I know. 625 00:31:29,880 --> 00:31:31,400 People really talk like that. 626 00:31:31,400 --> 00:31:34,120 We're going to be French on like, we're right here. 627 00:31:36,320 --> 00:31:41,720 The one thing that I would push back on is sometimes the, the person asking 628 00:31:41,720 --> 00:31:44,880 for the request or the customer asking for it, don't know the constraints. 629 00:31:45,400 --> 00:31:49,560 And, and necessarily how much work that's going to take, what risks that's 630 00:31:49,560 --> 00:31:55,040 going to have to something else that's happening on the back end or the person 631 00:31:55,040 --> 00:31:59,440 they're asking is, isn't given the ability to do that, right? 632 00:31:59,440 --> 00:32:00,800 Like, I need you to change this button. 633 00:32:00,800 --> 00:32:02,360 It's like, but that's someone else's service. 634 00:32:02,360 --> 00:32:04,080 And I, I can't change their code, right? 635 00:32:04,080 --> 00:32:07,320 Depending on the dynamics, the politics, whatever the reason, I can't 636 00:32:07,320 --> 00:32:08,920 change how they set up their service. 637 00:32:09,120 --> 00:32:15,160 So I'm constrained on their two nines of availability and their 40 millisecond ping. 638 00:32:15,760 --> 00:32:19,720 So, you know, I could tell you, I could do it this way, but I just, I can't 639 00:32:19,720 --> 00:32:21,000 because I don't have the ability to do that. 640 00:32:21,000 --> 00:32:24,240 And then at some point you do have to just push back and say, this isn't possible. 641 00:32:24,440 --> 00:32:27,120 You, if you want this, if the customer wants this better, then you need to take 642 00:32:27,120 --> 00:32:30,720 that off the chain and go figure out how that works because I don't think 643 00:32:30,720 --> 00:32:35,440 anybody's ever said that engineers need to be like beholden to somebody asking 644 00:32:35,440 --> 00:32:35,920 for stuff. 645 00:32:35,920 --> 00:32:37,840 They just need to understand why they're asking for it. 646 00:32:37,840 --> 00:32:41,320 Because 100%, especially when you're dealing with managed services, people 647 00:32:41,320 --> 00:32:44,440 think that you just do some kind of crazy magic in a hat somewhere and you're 648 00:32:44,440 --> 00:32:49,480 like, bro, no, like there's real things under it with a real constraints, you 649 00:32:49,480 --> 00:32:52,880 know, and like sometimes you're building things that had ever been built before. 650 00:32:52,880 --> 00:32:57,920 So like, you don't even, like you end up finding out these weird edge cases of 651 00:32:57,920 --> 00:33:00,040 how somebody used something completely wrong. 652 00:33:00,320 --> 00:33:04,520 Like for instance, when they took down, was it Kong, the search engine, but they 653 00:33:04,520 --> 00:33:08,840 took it down with like the number of connections to that like database, you 654 00:33:08,840 --> 00:33:09,320 know what I mean? 655 00:33:09,320 --> 00:33:13,800 Like sometimes you don't even know what the constraints of that is until you 656 00:33:13,800 --> 00:33:15,280 learn them the hard way, right? 657 00:33:15,280 --> 00:33:18,200 Because it's a new thing that you've never done before and it's at scale. 658 00:33:18,560 --> 00:33:22,400 But what I think we mess up with, like I think 100%, you should be able to 659 00:33:22,400 --> 00:33:27,120 push back because like they don't even, but sometimes after being an essay and 660 00:33:27,120 --> 00:33:30,600 especially like a specialist essay, it's like a lot of pressure because they use 661 00:33:30,600 --> 00:33:31,640 your product more than you do. 662 00:33:31,640 --> 00:33:35,960 And you need, you are now the person that's being called in after they've 663 00:33:35,960 --> 00:33:38,080 hit customer service everywhere else. 664 00:33:38,080 --> 00:33:40,720 After a team's looked at it, they've called the senior engineer, you know, 665 00:33:40,720 --> 00:33:42,640 like the whole team is mad at you. 666 00:33:42,680 --> 00:33:43,000 Okay. 667 00:33:43,000 --> 00:33:44,480 They want to know why this doesn't work. 668 00:33:45,120 --> 00:33:46,280 And I'm going to be real. 669 00:33:46,280 --> 00:33:49,720 Sometimes like when you do, when you start off as a generalist essay and you 670 00:33:49,720 --> 00:33:52,640 have to ask a lot of questions and then you get to be a specialist, right? 671 00:33:53,200 --> 00:33:56,320 And you learn that customers don't always know what they want. 672 00:33:56,760 --> 00:34:01,560 You have to, this, this very like, this dance of a relationship of where you 673 00:34:01,560 --> 00:34:04,800 have to ask them questions to get the information because they'll be like, 674 00:34:05,120 --> 00:34:06,920 I use this thing and I love it. 675 00:34:06,920 --> 00:34:08,120 And I'm like, do you love it? 676 00:34:08,120 --> 00:34:09,080 Like tell me about it. 677 00:34:09,080 --> 00:34:12,640 Like, you know, like they'll be like, I, I use Cassandra and we're just, 678 00:34:12,640 --> 00:34:13,520 we're really good at it. 679 00:34:13,520 --> 00:34:15,600 So we don't need to manage database and I'm just like lies. 680 00:34:15,600 --> 00:34:16,440 Why are you here then? 681 00:34:16,440 --> 00:34:17,160 You know what I mean? 682 00:34:17,160 --> 00:34:19,520 Like how many times are you being paged at 3am? 683 00:34:19,520 --> 00:34:21,480 How many times have you like lost a node? 684 00:34:21,480 --> 00:34:25,680 Like sometimes customers do not know what they need. 685 00:34:25,720 --> 00:34:27,960 And you have to be able to ask the right questions. 686 00:34:27,960 --> 00:34:31,000 And I think that's almost the skill in itself of being able to figure out, 687 00:34:31,000 --> 00:34:32,560 does this really actually work for you? 688 00:34:32,560 --> 00:34:34,560 Can I help you find something that's better for you? 689 00:34:34,560 --> 00:34:35,920 Maybe you don't need this button. 690 00:34:36,280 --> 00:34:37,760 Maybe you need a retry. 691 00:34:37,760 --> 00:34:41,320 You know, it's just, it's a whole dance of how that goes about. 692 00:34:44,480 --> 00:34:46,200 I feel like I want to chime on the podcast. 693 00:34:46,200 --> 00:34:48,640 Anytime someone says that someone's forking around or finding out. 694 00:34:50,520 --> 00:34:54,600 Dude, I want, I want, I want like a sticker, a chime. 695 00:34:54,600 --> 00:34:56,960 I want, I want like, I want you to sit. 696 00:34:56,960 --> 00:35:01,000 Like I want you to do like one of those like sound bites so I can just play at people. 697 00:35:01,000 --> 00:35:01,800 Like, I won't know. 698 00:35:01,800 --> 00:35:04,640 I want a beanbag that I can throw it at people when they do stuff that's dumb. 699 00:35:04,720 --> 00:35:06,440 Cause like, have you seen the world lately? 700 00:35:06,440 --> 00:35:08,040 I'm just like, what are you doing? 701 00:35:08,040 --> 00:35:08,720 Stop it. 702 00:35:14,400 --> 00:35:18,440 Going back into your, your posts, Sean, about one of the sections you call out 703 00:35:18,440 --> 00:35:19,400 here is communication. 704 00:35:19,400 --> 00:35:21,840 And I love that this is part of shipping. 705 00:35:22,800 --> 00:35:27,080 Because it's something that I don't think a lot of people outside the industry 706 00:35:27,080 --> 00:35:28,880 have had the privilege of being a part of. 707 00:35:28,880 --> 00:35:32,560 And a lot of people don't understand like what it's all about. 708 00:35:32,560 --> 00:35:36,560 And you say the maintaining trust is the top priority, which I absolutely agree with. 709 00:35:36,760 --> 00:35:41,080 And I think that's a good way of summarizing it, because the main thing 710 00:35:41,080 --> 00:35:45,480 that I remember shipping that was like a big, high pressure launch was Disney Plus. 711 00:35:45,760 --> 00:35:48,600 And we were, we were like, Disney Plus was going live. 712 00:35:48,600 --> 00:35:49,600 We know it was going live. 713 00:35:50,080 --> 00:35:51,880 We were rolling it out across the world. 714 00:35:52,240 --> 00:35:55,720 I was only in like a few regions or whatever at first, but there was just 715 00:35:55,720 --> 00:35:59,320 like the people running that whole thing was just like, here's, here's where we're at. 716 00:35:59,320 --> 00:36:00,040 Here's what we're doing. 717 00:36:00,040 --> 00:36:01,160 Here's why this is going to be delayed. 718 00:36:01,560 --> 00:36:04,360 And then day of it's like, here's the Slack channel. 719 00:36:04,600 --> 00:36:05,880 Join the Slack channel. 720 00:36:06,160 --> 00:36:07,200 Everybody watch. 721 00:36:07,200 --> 00:36:09,560 We're just going to announce everything we're doing one by one. 722 00:36:09,560 --> 00:36:10,520 And it was fantastic. 723 00:36:10,520 --> 00:36:14,080 Just to see everything you basically call out in this blog was like, Hey, 724 00:36:14,200 --> 00:36:17,880 if something goes wrong and you, you haven't thought about it, then that's on 725 00:36:17,880 --> 00:36:19,640 you for not being trustworthy, right? 726 00:36:19,640 --> 00:36:22,280 Like all of these contingencies need to be kind of thought of. 727 00:36:22,560 --> 00:36:26,680 And it was also the first time that I realized how much better the internal 728 00:36:26,680 --> 00:36:28,560 systems at Google were than the apples. 729 00:36:29,360 --> 00:36:32,520 Just because, just because you find any opportunity to. 730 00:36:32,520 --> 00:36:36,160 I was blown away by this because we submitted like, like the app had already 731 00:36:36,160 --> 00:36:36,680 been submitted. 732 00:36:36,680 --> 00:36:38,680 It was already approved and we're like, Hey, we are going live. 733 00:36:38,680 --> 00:36:40,400 And the both systems have like this. 734 00:36:40,400 --> 00:36:42,400 And again, this is back in 2018. 735 00:36:42,600 --> 00:36:45,520 So I'm sure there's lots of change, but like there's a button to like, okay, 736 00:36:45,520 --> 00:36:46,720 make this live now. 737 00:36:46,840 --> 00:36:49,480 And like, they're like, we push Google's go live, but they literally 738 00:36:49,480 --> 00:36:51,280 sentence like, we push Google's go live button. 739 00:36:51,400 --> 00:36:52,720 We push Apple's go live button. 740 00:36:53,480 --> 00:36:54,200 Google's live. 741 00:36:54,360 --> 00:36:57,160 And I'm like, wait a minute, like how, how did it, it's just like worldwide. 742 00:36:57,160 --> 00:36:58,160 It's the apps available. 743 00:36:58,160 --> 00:36:58,840 How do they do that? 744 00:36:58,960 --> 00:36:59,480 I was like, okay. 745 00:36:59,600 --> 00:37:02,080 They're like, it showed up on Chromecasts first for some reason. 746 00:37:02,080 --> 00:37:03,080 It's like, Oh yeah, it's on Chromecast. 747 00:37:03,080 --> 00:37:03,840 It's here, it's here, it's here. 748 00:37:04,080 --> 00:37:05,440 And like, okay, when's Apple going live? 749 00:37:05,560 --> 00:37:07,240 Like it usually takes about four hours. 750 00:37:07,920 --> 00:37:10,800 They're like, it's like this R sync process that's like texting, they're 751 00:37:10,800 --> 00:37:12,120 sending text files around the world. 752 00:37:12,120 --> 00:37:14,040 Like what is going on here with Apple? 753 00:37:14,040 --> 00:37:14,920 It was just fantastic. 754 00:37:14,960 --> 00:37:16,640 It was just like, okay, this is a little different. 755 00:37:16,640 --> 00:37:17,560 I would love to know why though. 756 00:37:17,800 --> 00:37:18,040 Yeah. 757 00:37:18,040 --> 00:37:20,320 It was so, it was fascinating just because it's like, you know, Google 758 00:37:20,320 --> 00:37:22,680 built these global systems that had all of these. 759 00:37:23,440 --> 00:37:26,000 Benefits of like, this is how this is supposed to work. 760 00:37:26,280 --> 00:37:28,800 And everyone else kind of caught up to it at some point, but, but 761 00:37:28,800 --> 00:37:30,880 the whole communication also puts things in review though. 762 00:37:30,920 --> 00:37:33,800 Like Apple will leave you on this was like post review. 763 00:37:33,800 --> 00:37:36,440 Like like Disney plus apps were, were there. 764 00:37:36,440 --> 00:37:37,160 They were approved. 765 00:37:37,160 --> 00:37:38,640 We're just like, cause you can hold them. 766 00:37:38,720 --> 00:37:41,400 You could say like, Hey, I wanted approved, but I don't want it to be 767 00:37:41,400 --> 00:37:42,240 available yet. 768 00:37:42,240 --> 00:37:44,640 And so you could, cause you could do like test flight and all that stuff too. 769 00:37:44,680 --> 00:37:45,440 Okay. Sorry, Apple. 770 00:37:45,440 --> 00:37:46,720 I can't have your back on that one. 771 00:37:48,080 --> 00:37:49,120 I tried to help you out. 772 00:37:49,120 --> 00:37:49,800 I don't know what happened. 773 00:37:49,800 --> 00:37:53,680 These, the apps were definitely in already done, reviewed and ready to go 774 00:37:53,680 --> 00:37:56,960 for like weeks beforehand, but just the communication. 775 00:37:57,000 --> 00:37:57,320 Yeah. 776 00:37:57,360 --> 00:38:00,120 About communication, I, I want to kind of like emphasize that. 777 00:38:00,120 --> 00:38:03,760 Cause I think people here, communication is like top priority and communication 778 00:38:03,760 --> 00:38:04,680 is priority number one. 779 00:38:04,680 --> 00:38:06,800 And they sort of nod and go, yeah, yeah, it's really important. 780 00:38:07,080 --> 00:38:08,360 I don't mean that it's really important. 781 00:38:08,360 --> 00:38:09,560 I mean that it's top priority. 782 00:38:09,840 --> 00:38:12,560 It is more important to communicate about the project than it is to 783 00:38:12,560 --> 00:38:13,680 ship the project on time. 784 00:38:13,840 --> 00:38:16,440 It is more important to communicate about the project than it is to 785 00:38:16,440 --> 00:38:17,880 ship the project without bugs. 786 00:38:17,920 --> 00:38:22,200 Like communication is the most important thing when you're shipping a project. 787 00:38:22,560 --> 00:38:23,640 Like, and, but none. 788 00:38:24,200 --> 00:38:27,440 The other side of that was being part of the Kubernetes release team, right? 789 00:38:27,440 --> 00:38:29,280 Cause Kubernetes is this big project. 790 00:38:29,280 --> 00:38:32,960 That's a bunch of volunteers that are all like running around trying to get 791 00:38:32,960 --> 00:38:34,480 stuff in at the last minute sort of thing. 792 00:38:34,480 --> 00:38:36,120 And all of it is communication. 793 00:38:36,160 --> 00:38:39,280 Everything about shipping Kubernetes is like, okay. 794 00:38:39,480 --> 00:38:42,440 Kubernetes is great at communication and structure though. 795 00:38:42,440 --> 00:38:47,000 That is one of the most well-structured open source projects. 796 00:38:47,200 --> 00:38:48,360 Because it's clearly defined. 797 00:38:48,400 --> 00:38:53,120 Like everyone's role is clearly, yeah, and, and there's teams and there's 798 00:38:53,120 --> 00:38:57,080 projects and, and there's shadows and there's everyone else to train them 799 00:38:57,080 --> 00:39:00,120 up into that, all that stuff, but also the way that. 800 00:39:01,000 --> 00:39:06,760 So like Java has one big, just umbrella of open source, right? 801 00:39:06,800 --> 00:39:09,600 And then Linux has got it, all these little things everywhere. 802 00:39:09,960 --> 00:39:15,040 Kubernetes does really well at having like multiple maintainers and projects 803 00:39:15,040 --> 00:39:19,760 that all work and do their own thing, but have this great umbrella that keeps 804 00:39:19,760 --> 00:39:21,080 it all together, you know? 805 00:39:21,080 --> 00:39:27,320 So they're, they're both independent, but it's kind of got one thing to house it all. 806 00:39:27,880 --> 00:39:32,760 But also like, can you go more into the communication aspect and tell us like, 807 00:39:33,320 --> 00:39:35,880 like, cause, you know, people might not have read your blog. 808 00:39:35,920 --> 00:39:38,720 Like, can you tell us what you really mean about that communication? 809 00:39:38,720 --> 00:39:42,840 Because this is something that I think, like, first of all, earning trust 810 00:39:42,840 --> 00:39:44,880 and keeping that trust is super important. 811 00:39:44,920 --> 00:39:50,440 And I think that people don't, this is like, people talk about how to be technical, 812 00:39:50,440 --> 00:39:55,280 but there's so many parts of the process and just the other parts of engineering 813 00:39:55,280 --> 00:39:57,200 that nobody talks about and tells you. 814 00:39:57,240 --> 00:40:01,760 And I think we can really lack those skills that make you a whole engineer. 815 00:40:01,760 --> 00:40:04,880 So can you talk more about that and like tell people kind of what you've met 816 00:40:04,880 --> 00:40:07,360 in the blog and like what you said, like elaborate? 817 00:40:07,760 --> 00:40:08,280 Yeah, for sure. 818 00:40:08,280 --> 00:40:13,120 So, so the, the, the core of it, like the reason why communication is so central 819 00:40:13,120 --> 00:40:17,280 and so much more central than even like the actual thing that you are shipping 820 00:40:17,880 --> 00:40:22,760 is, is that like at a large company, like shipping something is almost 821 00:40:22,760 --> 00:40:24,640 defined by communication. 822 00:40:24,680 --> 00:40:27,960 Like it's something is shipped when people know about it. 823 00:40:27,960 --> 00:40:31,600 It's shipped when your management chain, like is happy with it. 824 00:40:31,920 --> 00:40:33,880 It's like whether something is shipped. 825 00:40:33,880 --> 00:40:37,760 It's, it's, that's, that's defined by, by the flow, the flow of information 826 00:40:37,760 --> 00:40:41,160 inside the org more than it's defined by what is like literally available. 827 00:40:41,160 --> 00:40:42,440 Get push doesn't count. 828 00:40:42,560 --> 00:40:42,840 Yeah. 829 00:40:42,840 --> 00:40:43,040 Yeah. 830 00:40:43,040 --> 00:40:46,280 Get push doesn't, doesn't ship like announcements ship, telling people 831 00:40:46,280 --> 00:40:50,080 about it, ship puts putting something up where people can like go and find it. 832 00:40:50,080 --> 00:40:51,640 And then they actually find it like that. 833 00:40:52,040 --> 00:40:53,800 That's also that's so much pressure. 834 00:40:53,800 --> 00:40:55,560 What do you have to have the good announcement? 835 00:40:55,560 --> 00:40:59,040 Like you can be great at writing code, but having to say something 836 00:40:59,040 --> 00:41:01,400 that millions of people are going to read and make sure you don't say 837 00:41:01,400 --> 00:41:03,160 something stupid is so much pressure. 838 00:41:04,240 --> 00:41:08,920 Well, fortunately, at least in my experience, the, the announcement 839 00:41:08,920 --> 00:41:12,240 side of things has been handled by like a full marketing arm and a whole 840 00:41:12,240 --> 00:41:14,800 team of people kind of, you have to worry about that. 841 00:41:14,800 --> 00:41:16,720 So I don't, which is, which is really nice. 842 00:41:18,280 --> 00:41:24,480 But the other thing about, about communication, like the path 843 00:41:24,480 --> 00:41:28,000 that's sort of more internal is, is that when you're like leading a project, 844 00:41:28,000 --> 00:41:29,520 you sort of live and die on trust. 845 00:41:29,880 --> 00:41:33,280 And when I say trust, I, there's all kinds of trust, but I, I, I specifically 846 00:41:33,280 --> 00:41:37,960 mean the extent to which your manager and your manager's manager trust you to 847 00:41:38,000 --> 00:41:42,200 do like sensible things with the project, which is partially to like get it 848 00:41:42,200 --> 00:41:46,040 out on time, but also like not to go rogue and like do something really weird, 849 00:41:46,080 --> 00:41:48,880 not to do something really like completely unaccountable. 850 00:41:48,880 --> 00:41:53,320 Like, um, that's, that's a, a worry that I think a lot of kind of 851 00:41:53,320 --> 00:41:57,120 engine, like a lot of engineering managers have that like engineers kind of 852 00:41:58,600 --> 00:42:02,160 not to put too far, like almost like just can't be trusted is what I, is what 853 00:42:02,160 --> 00:42:04,840 I want to say, which is an awkward way of putting it, but I mean, I think 854 00:42:04,840 --> 00:42:07,640 can't be trusted with their, what they need, right? 855 00:42:07,640 --> 00:42:10,480 With the manager needs, with the business needs engineer wants to do 856 00:42:10,480 --> 00:42:13,160 engineering things and not necessarily satisfy customers. 857 00:42:13,160 --> 00:42:14,280 And I, I can totally see. 858 00:42:14,760 --> 00:42:19,160 I love how everybody talks about engineers, like feral chaos goblins that 859 00:42:19,160 --> 00:42:22,880 just sit in a room somewhere and like write code and like, they're not completely 860 00:42:22,880 --> 00:42:31,160 all like, you want to argue, but you're like, no, I mean, I, I, I, I do think 861 00:42:31,160 --> 00:42:34,960 like, yeah, I do, I do talk like that, but sort of to, to the extent that I do 862 00:42:34,960 --> 00:42:39,160 it, think about the meme, the memes of like, they're just dark, they're like, 863 00:42:39,160 --> 00:42:42,280 they sit in dark rooms and you just throw pizzas in and nobody shot. 864 00:42:42,280 --> 00:42:43,680 Like that's been the attitude. 865 00:42:43,680 --> 00:42:47,120 Like people act just, that's the people's idea of what an engineer is. 866 00:42:47,440 --> 00:42:48,960 But I mean, I'm an engineer, right? 867 00:42:48,960 --> 00:42:51,560 Like I've, I've, I've been an engineer in my whole, my whole career. 868 00:42:51,560 --> 00:42:52,760 Like I, I love engineers. 869 00:42:52,760 --> 00:42:53,160 I am one. 870 00:42:53,560 --> 00:42:57,200 Um, and I think like the extent to which I kind of give engineers a hard time 871 00:42:57,200 --> 00:43:00,720 is because like engineers already know that it's important to, to do things 872 00:43:00,720 --> 00:43:03,640 technically well, they already know that it's important to like, you know, 873 00:43:03,760 --> 00:43:07,040 write code properly and, and, and, and factor their app appropriately and blah, 874 00:43:07,040 --> 00:43:10,000 blah, blah, like this, this, this stuff that I talk about, this is the part 875 00:43:10,000 --> 00:43:12,000 that I think a lot of engineers don't know. 876 00:43:12,480 --> 00:43:15,000 So if you just listen to that in isolation, it probably sounds like I have 877 00:43:15,000 --> 00:43:18,760 a very negative opinion about how engineers function, but it's not true. 878 00:43:18,760 --> 00:43:19,200 It's not true. 879 00:43:19,200 --> 00:43:19,560 I love them. 880 00:43:19,840 --> 00:43:21,360 I mean, I don't think that's a bad thing. 881 00:43:21,360 --> 00:43:22,760 We are kind of chaos goblins. 882 00:43:22,760 --> 00:43:27,840 We own that like, but I think that I hope there are more people like you that 883 00:43:27,840 --> 00:43:35,160 become more senior and that like our staff or leads, because I think again, 884 00:43:35,160 --> 00:43:38,920 like you just said, we know the technical things are important, but there's 885 00:43:38,920 --> 00:43:41,040 so much more to being an engineer than writing code. 886 00:43:41,600 --> 00:43:45,880 And I hope that we continue to make better, more well rounded engineers and 887 00:43:45,880 --> 00:43:49,080 not just people that are deeply technical, but have no people skills or 888 00:43:49,080 --> 00:43:53,880 process skills or these kinds of skills that are deeply important to the process. 889 00:43:54,880 --> 00:43:55,360 For sure. 890 00:43:55,440 --> 00:43:59,520 As long as it's like, as long as the technical part is also there, like you 891 00:43:59,520 --> 00:44:01,440 actually, you actually do have to be technical. 892 00:44:01,440 --> 00:44:03,760 Like that, that is actually a hard requirement. 893 00:44:03,760 --> 00:44:05,760 But we've never let anybody forget that part. 894 00:44:05,760 --> 00:44:06,640 Yeah, true. 895 00:44:06,640 --> 00:44:07,640 Like, you know what I mean? 896 00:44:07,640 --> 00:44:09,040 Like, yeah, exactly, exactly. 897 00:44:09,600 --> 00:44:14,240 I think people are always like overly compensating in that area, you know, 898 00:44:14,760 --> 00:44:17,160 while being like horrible at all the other things. 899 00:44:18,880 --> 00:44:19,560 I mean, I don't know. 900 00:44:19,920 --> 00:44:26,760 I think the vibe has changed on people thinking they can do more than they 901 00:44:26,760 --> 00:44:32,000 actually can because of things like AI and look at all the stuff that I can do 902 00:44:32,000 --> 00:44:36,320 without actually having the knowledge of how it works or experience. 903 00:44:36,320 --> 00:44:39,680 I mean, and this isn't maybe big enterprises, this isn't like large things, 904 00:44:39,680 --> 00:44:43,720 but just in general, I feel like a lot of the shift of, and I don't want to 905 00:44:43,720 --> 00:44:47,000 gatekeep engineering, like I think they are doing engineering, but like they 906 00:44:47,040 --> 00:44:52,160 think they're God a lot sooner than when they actually like might be praised 907 00:44:52,160 --> 00:44:55,480 at a larger company of saying like, oh, you actually are doing like a really 908 00:44:55,480 --> 00:44:56,160 good thing here. 909 00:44:56,160 --> 00:44:57,480 Dude, I'm a woman in tech. 910 00:44:57,480 --> 00:44:59,400 They've all thought they were God forever. 911 00:45:00,640 --> 00:45:04,440 Like they just, they're like, it's amazing. 912 00:45:04,440 --> 00:45:07,920 Like some people have deep embossed or syndrome and some people 913 00:45:07,920 --> 00:45:09,360 you're like, bro, you could use. 914 00:45:12,040 --> 00:45:12,760 Yeah, I bet. 915 00:45:13,480 --> 00:45:19,880 I mean, like when I give people advice about how to lead projects, I do try 916 00:45:19,880 --> 00:45:23,480 to suggest that if they can find some way to foster an unreasonable 917 00:45:23,480 --> 00:45:27,680 confidence within themselves, they should do it because it really does help 918 00:45:27,680 --> 00:45:31,440 to like have this almost unjustified self-belief that you will figure 919 00:45:31,440 --> 00:45:32,400 out a way to make it work. 920 00:45:32,400 --> 00:45:35,680 Like, it can be tough to interact with, I know. 921 00:45:35,680 --> 00:45:38,960 Being an optimist is helpful, right? 922 00:45:38,960 --> 00:45:42,200 I actually think that's important in some people because I feel like 923 00:45:42,240 --> 00:45:45,680 you meet these people and they're so smart and they're so good at it, but 924 00:45:45,680 --> 00:45:49,280 they're never the people that think that they have like, you know what I mean? 925 00:45:49,280 --> 00:45:51,960 Like they're the people where you're like, dude, if you have imposter syndrome, 926 00:45:51,960 --> 00:45:52,720 I'm screwed. 927 00:45:52,720 --> 00:45:53,840 Like, you know what I mean? 928 00:45:53,840 --> 00:45:57,560 Like, but then there's always that like those people who have like the God 929 00:45:57,560 --> 00:46:00,120 complex and you're like, you could use like it. 930 00:46:00,120 --> 00:46:03,400 Something, something you didn't call out in your communication that has at 931 00:46:03,400 --> 00:46:09,040 least been my experience in gaining trust with leadership is literally just 932 00:46:09,080 --> 00:46:14,320 sitting next to them in person, in common, like, like there's no faster 933 00:46:14,320 --> 00:46:17,640 way to gain someone's trust than just like going to lunch with them a few 934 00:46:17,640 --> 00:46:22,120 times and like, at least if you're confident, if you, if you portray 935 00:46:22,120 --> 00:46:22,720 some confidence, right? 936 00:46:22,720 --> 00:46:24,320 If you're, if you're saying, I don't know how this is going and you're 937 00:46:24,320 --> 00:46:27,960 always worried about it, maybe not so, but I've seen people succeed just 938 00:46:27,960 --> 00:46:31,440 because they went into the office and that's where leadership was, right? 939 00:46:31,440 --> 00:46:33,560 They were just in the same, even location, right? 940 00:46:33,560 --> 00:46:37,280 Like if everyone was in a, in an office, but the person shipping a product was 941 00:46:37,320 --> 00:46:41,200 in a different building, they didn't gain the trust because they weren't 942 00:46:41,200 --> 00:46:43,200 seen by leadership constantly. 943 00:46:43,200 --> 00:46:44,840 And they're like, I don't know what they're doing because I haven't 944 00:46:44,840 --> 00:46:49,080 talked to them for four days versus you pass them in the hallway. 945 00:46:49,080 --> 00:46:49,800 Hey, how's this going? 946 00:46:49,800 --> 00:46:50,520 Oh, it's going great. 947 00:46:50,520 --> 00:46:51,640 We're going to ship it next week, right? 948 00:46:51,640 --> 00:46:53,720 Like that sort of confidence building and trust. 949 00:46:54,680 --> 00:46:58,960 I don't like it, but I know that humans in general are, are that way. 950 00:46:58,960 --> 00:47:02,880 And it's just having that constant sort of like interaction with people, 951 00:47:02,880 --> 00:47:06,280 like the small casual things gains a lot of trust really fast. 952 00:47:06,520 --> 00:47:09,240 I think it's possible to do remotely too, though. 953 00:47:09,960 --> 00:47:13,680 I, I think it's possible to do remotely, but to, to, to some extent, 954 00:47:13,680 --> 00:47:16,880 that could just be code because I've been remote for like eight years 955 00:47:16,880 --> 00:47:19,040 and my whole time at GitHub has been, has been remote. 956 00:47:19,040 --> 00:47:20,480 And I like to think I've built some trust. 957 00:47:21,120 --> 00:47:25,280 I think being a personable person and having people's skills 958 00:47:26,640 --> 00:47:31,080 can assist in gaining that, but you have to be good at like, like finding 959 00:47:31,080 --> 00:47:35,320 a way to like have water cooler talk, not at the water cooler. 960 00:47:35,360 --> 00:47:39,960 I think if everyone's remote, it's possible and everyone can be on the same 961 00:47:39,960 --> 00:47:43,800 footing. I think if you're hybrid or your leadership is in an office 962 00:47:43,800 --> 00:47:47,000 and you're remote, it's, you're not going to gain the same amount of trust. 963 00:47:47,000 --> 00:47:47,840 You're not going to get that. 964 00:47:47,840 --> 00:47:49,400 You can build trust over time. 965 00:47:49,520 --> 00:47:52,520 It's going to be harder than if you were showing up into an office. 966 00:47:52,520 --> 00:47:53,920 Look, that's, that's true. 967 00:47:53,920 --> 00:47:56,480 There are, there are all these like social human ways of building trust, 968 00:47:56,720 --> 00:48:00,720 but I do think like the fundamental way of building trust is to like just 969 00:48:00,720 --> 00:48:04,960 straightforwardly do the thing and, and, and demonstrate that you are worthy 970 00:48:04,960 --> 00:48:07,360 of trust and that you can do things. 971 00:48:07,360 --> 00:48:08,920 Like it's, it's a flywheel, right? 972 00:48:08,920 --> 00:48:12,240 Like you have a little trust, you get put on a little project, you do a good job. 973 00:48:12,560 --> 00:48:13,680 You get put on bigger projects. 974 00:48:13,680 --> 00:48:17,720 And then at some point it's like, well, you know, this person did these last 975 00:48:17,720 --> 00:48:18,880 things really well. 976 00:48:18,880 --> 00:48:21,640 Like, yeah, we trust them to do a good job of this thing. 977 00:48:21,640 --> 00:48:27,240 It's just this kind of like, so I think delivering results is how you build trust. 978 00:48:27,440 --> 00:48:28,280 Yeah. 979 00:48:28,280 --> 00:48:33,120 Where results is to be understood as your manager and their manager are happy 980 00:48:33,120 --> 00:48:33,960 without the project one. 981 00:48:34,680 --> 00:48:34,920 Yeah. 982 00:48:38,080 --> 00:48:38,280 Yeah. 983 00:48:38,280 --> 00:48:42,040 Making, making, making them aware of something that you did and how it went. 984 00:48:42,360 --> 00:48:44,360 How do you, oh, that's another thing. 985 00:48:44,360 --> 00:48:49,720 I think communication is not always sought as like, you have to be good at 986 00:48:49,720 --> 00:48:54,040 giving people the information to know why things are happening and to show your 987 00:48:54,040 --> 00:48:56,560 success, because you can be doing the best job ever. 988 00:48:57,000 --> 00:49:02,040 But if you don't learn how to market yourself and to show up and to like 989 00:49:02,280 --> 00:49:05,680 communicate that, that's very detrimental to your career. 990 00:49:05,680 --> 00:49:07,600 Do you have any advice for managers though? 991 00:49:07,600 --> 00:49:12,840 Because I do think that generally we all want to please our boss and have them 992 00:49:12,840 --> 00:49:13,440 happy with us. 993 00:49:13,440 --> 00:49:15,840 That's pretty much like overall, that's not rocket science. 994 00:49:15,840 --> 00:49:21,800 But like, how do we help managers to give us that information of what is 995 00:49:21,800 --> 00:49:27,240 important to leadership and to these projects and to the value that they need? 996 00:49:28,200 --> 00:49:29,880 Yeah, that's a, that's a good question. 997 00:49:30,720 --> 00:49:34,000 My main piece of advice is, is really simple. 998 00:49:34,000 --> 00:49:34,880 It's just ask. 999 00:49:35,120 --> 00:49:39,120 It's like, if you're an engineer, like in your one on one, be like, hey, what's 1000 00:49:39,120 --> 00:49:40,720 important to management right now? 1001 00:49:40,720 --> 00:49:43,560 And if your manager doesn't know, ask them to go and ask. 1002 00:49:43,760 --> 00:49:48,720 And I think I've, I'm sure these exist, but I have never worked in a place 1003 00:49:48,720 --> 00:49:52,560 where a manager couldn't go to their manager and say, hey, what are the top 1004 00:49:52,560 --> 00:49:53,480 priorities right now? 1005 00:49:53,480 --> 00:49:54,680 What are you most worried about? 1006 00:49:55,000 --> 00:49:57,320 That's always been a question that's like appropriate to ask. 1007 00:49:57,680 --> 00:49:59,880 And you can just kind of do that up the chain. 1008 00:50:01,200 --> 00:50:04,800 And then, you know, in your next one on one or just async later, just, just, 1009 00:50:04,800 --> 00:50:09,440 just here, oh yeah, I talked to the VP and, and, and they said, like, they're 1010 00:50:09,440 --> 00:50:11,320 worried about these, these three things. 1011 00:50:11,320 --> 00:50:15,560 So like, yeah, the main thing is just like, like it's, the stuff is not 1012 00:50:15,560 --> 00:50:18,560 covert at, at, at large organizations in my experience. 1013 00:50:18,560 --> 00:50:20,400 People don't like hide what they want. 1014 00:50:20,400 --> 00:50:23,440 Like they're trying to tell people what they want because they want it to happen. 1015 00:50:23,440 --> 00:50:25,520 You know, VP's are constantly sending emails and stuff. 1016 00:50:25,560 --> 00:50:29,160 It's just because these different levels communicate in different ways. 1017 00:50:29,160 --> 00:50:32,680 Like, uh, it can be hard for the information to get, to get through. 1018 00:50:32,680 --> 00:50:35,000 You know, you can read an email written by a VP and it just sounds 1019 00:50:35,000 --> 00:50:37,040 like corporate speak, just sounds like noise. 1020 00:50:37,560 --> 00:50:41,920 Um, but if you actually read it and pay, and pay attention to it, uh, there, 1021 00:50:42,200 --> 00:50:45,280 they will usually be telling you like what three things they care about and by 1022 00:50:45,280 --> 00:50:46,640 a mission, what things they don't care about. 1023 00:50:47,280 --> 00:50:50,880 I only have had two managers that ever told me something and then went behind 1024 00:50:50,880 --> 00:50:54,440 my back and, and told other people something else, uh, where it was like, 1025 00:50:54,440 --> 00:50:57,560 actually they were literally lying to my face to have me do something in that 1026 00:50:57,560 --> 00:50:58,560 it was not what they wanted. 1027 00:50:58,920 --> 00:51:02,400 Oh, look, there, there are so many dysfunctional situations out there. 1028 00:51:02,400 --> 00:51:05,920 I, I have nothing but sympathy and I have no advice for people in those 1029 00:51:05,920 --> 00:51:06,520 situations. 1030 00:51:06,520 --> 00:51:07,080 I feel for you. 1031 00:51:08,480 --> 00:51:12,360 I might, my advice is to, to get, get away from that manager as fast as possible. 1032 00:51:13,240 --> 00:51:13,480 Yeah. 1033 00:51:14,120 --> 00:51:17,200 I had so many snarky things in my head that I'm just not going to say. 1034 00:51:18,840 --> 00:51:19,200 It's fine. 1035 00:51:19,400 --> 00:51:20,160 It's a safe space. 1036 00:51:20,160 --> 00:51:20,800 It's just us three. 1037 00:51:20,800 --> 00:51:21,760 No one else is going to hear this. 1038 00:51:21,880 --> 00:51:22,320 Nice. 1039 00:51:22,480 --> 00:51:24,960 But Sean's, Sean's face was so good. 1040 00:51:25,000 --> 00:51:26,920 Like I was just like Sean has stories. 1041 00:51:32,040 --> 00:51:35,640 Yeah, I'm, uh, I'm limited in what I can say, but I can make, I can make 1042 00:51:35,640 --> 00:51:36,800 general statements pretty freely. 1043 00:51:39,560 --> 00:51:43,440 The last thing in your blog post that I want to talk about was, uh, this notion 1044 00:51:43,440 --> 00:51:45,160 of can we ship right now? 1045 00:51:45,200 --> 00:51:50,120 And I like that sort of like boiling it down of, of like, Hey, is, is this. 1046 00:51:51,040 --> 00:51:51,800 Good enough. 1047 00:51:51,880 --> 00:51:54,160 Is this something that we could just put out there? 1048 00:51:54,160 --> 00:51:57,920 Is this something that's cause, cause the longer you say no, the longer 1049 00:51:57,920 --> 00:52:01,600 you hold on to something, the, the harder it's going to be to get out the door later. 1050 00:52:02,880 --> 00:52:03,280 Uh, yeah. 1051 00:52:03,280 --> 00:52:06,480 And that's, that's certainly true from like a product perspective, but I even, 1052 00:52:06,480 --> 00:52:10,120 I even made that technically, like, can we, can we literally ship right now? 1053 00:52:10,120 --> 00:52:13,600 Are we, are we technically ready to ship right now is enough of the code in place 1054 00:52:13,600 --> 00:52:16,600 that we could push it, deploy or turn the feature flag on and ship? 1055 00:52:16,600 --> 00:52:19,040 Like what's, what's preventing us from doing that? 1056 00:52:19,680 --> 00:52:22,960 I think people, uh, when they run projects a lot, they sort of assumed that, um, 1057 00:52:23,960 --> 00:52:27,160 writing the code is the hard part and like getting it out is easy, but in fact, 1058 00:52:27,200 --> 00:52:30,480 writing the code is pretty easy and integrating everything and making sure it 1059 00:52:30,480 --> 00:52:33,960 works end to end and, and fixing the, the kind of communication layer, 1060 00:52:33,960 --> 00:52:37,040 edge cases and, and all of that stuff, that stuff in my experience is what's 1061 00:52:37,040 --> 00:52:38,080 really hard about projects. 1062 00:52:38,520 --> 00:52:41,960 So if you can front load that work as much as possible by like, you know, 1063 00:52:42,760 --> 00:52:45,680 like if you have to ship a new page with a bunch of stuff on it, if you can 1064 00:52:45,680 --> 00:52:49,720 like ship to staff only a version of the page that has no styling and is just 1065 00:52:49,720 --> 00:52:54,080 like a page, then like the more of that stuff you can do, the more you kind of 1066 00:52:54,080 --> 00:52:57,280 defray these, these are potential potential risks about not being able to ship 1067 00:52:57,280 --> 00:52:57,800 eventually. 1068 00:52:58,280 --> 00:53:01,640 And I've seen, I've seen projects fail where people were just like, they 1069 00:53:01,640 --> 00:53:04,440 assumed that they could, you know, push this certain thing to production. 1070 00:53:04,440 --> 00:53:07,840 So they had this big, long development branch that looked really good and worked 1071 00:53:07,840 --> 00:53:08,600 really good locally. 1072 00:53:08,880 --> 00:53:11,800 Then when they went to deploy it, it was like, oh, it actually works slightly 1073 00:53:11,800 --> 00:53:15,560 differently than this core assumption that you had about how things would work is 1074 00:53:15,560 --> 00:53:19,760 false. So you have to go and back to the drawing board on launch day and figure 1075 00:53:19,760 --> 00:53:20,640 out how to make this work. 1076 00:53:20,640 --> 00:53:20,960 Like. 1077 00:53:22,440 --> 00:53:26,280 And the thing that I, I really like about this is how it ties into the first 1078 00:53:26,280 --> 00:53:29,760 part that we talked about where shipping is when your leadership thinks it's 1079 00:53:29,760 --> 00:53:30,680 shipped, right? 1080 00:53:30,680 --> 00:53:33,600 And, and if you get pushed, that's not shipping. 1081 00:53:33,600 --> 00:53:37,920 And even if the code is ready, even if you say the code is complete today, I 1082 00:53:37,920 --> 00:53:40,800 have all the tests, I verify that this thing will work. 1083 00:53:41,080 --> 00:53:45,000 If your marketing team's not ready, if you don't have the blog post that 1084 00:53:45,040 --> 00:53:49,440 announces it, if you don't have training material or documentation or whatever 1085 00:53:49,440 --> 00:53:54,400 post launch activities ready to go, you're not ready to ship even if the code 1086 00:53:54,400 --> 00:53:55,000 is complete. 1087 00:53:55,000 --> 00:53:59,040 And so making sure that that stuff is done ahead of time so that it's not a, 1088 00:53:59,040 --> 00:54:01,720 hey, we pushed the button to get, you know, we get pushed. 1089 00:54:01,920 --> 00:54:04,280 Now it's on you to finish shipping. 1090 00:54:04,280 --> 00:54:06,040 It's like, no, no, no, you have to do that together. 1091 00:54:06,040 --> 00:54:09,560 That is something that has to be done together because leadership isn't seeing 1092 00:54:09,560 --> 00:54:12,880 the get push and they're not, they're seeing the post activities and you need 1093 00:54:12,880 --> 00:54:14,320 to make sure that those can happen. 1094 00:54:14,960 --> 00:54:18,720 Not necessarily at the same time, but in some cadence that's together. 1095 00:54:18,720 --> 00:54:22,840 So you can say, hey, this is done on, on this Friday because everyone always 1096 00:54:22,840 --> 00:54:23,720 should ship on a Friday. 1097 00:54:24,120 --> 00:54:28,840 And, and, and whenever that case may be, you say, now the leadership knows it's 1098 00:54:28,840 --> 00:54:32,120 out there because the blog post went live because when Disney Plus went live, it 1099 00:54:32,120 --> 00:54:36,120 was live for like six hours before the actual announcement went live. 1100 00:54:36,160 --> 00:54:36,840 And it's like, guess what? 1101 00:54:36,840 --> 00:54:38,760 It wasn't live for those six hours. 1102 00:54:38,760 --> 00:54:42,000 People found it's people were literally already watching shows on it. 1103 00:54:42,040 --> 00:54:43,560 We're like, no, no, no, it's not shipped yet. 1104 00:54:43,560 --> 00:54:46,160 This is not done because we haven't made the announcement. 1105 00:54:46,720 --> 00:54:48,360 Yeah, yeah, for sure, for sure. 1106 00:54:48,360 --> 00:54:51,680 And as an engineer, you're not always in control over that stuff. 1107 00:54:51,680 --> 00:54:53,840 Like you're not always the one pushing the button. 1108 00:54:54,440 --> 00:54:58,240 But yeah, you, you definitely have to be aware that like it's not going to be 1109 00:54:58,240 --> 00:54:59,560 over until that stuff is done. 1110 00:54:59,560 --> 00:55:02,640 And to the extent that like you're blocking that stuff for reasons that 1111 00:55:02,640 --> 00:55:06,360 might seem unimportant to you, they will become very important on launch day. 1112 00:55:07,120 --> 00:55:07,360 Yeah. 1113 00:55:07,520 --> 00:55:10,680 Oh, did you ever have, did you ever think that Amazon that didn't ship 1114 00:55:10,680 --> 00:55:12,200 because documentation wasn't ready? 1115 00:55:13,920 --> 00:55:14,920 I can't tell you how many. 1116 00:55:15,120 --> 00:55:18,480 I was definitely the junior engineer that was like, the code's done. 1117 00:55:18,480 --> 00:55:19,240 It's out there. 1118 00:55:19,240 --> 00:55:21,400 And they're like, go write the release for announcement. 1119 00:55:21,400 --> 00:55:22,160 I was like, damn it. 1120 00:55:22,880 --> 00:55:23,600 I don't want to do this. 1121 00:55:23,640 --> 00:55:25,800 I had lots of things that did not ship. 1122 00:55:25,920 --> 00:55:29,960 I have blogs that are still in like, that were still draft. 1123 00:55:30,880 --> 00:55:32,200 No, they were drafted. 1124 00:55:32,200 --> 00:55:35,600 I have blogs that had gone, been in review for like two years. 1125 00:55:38,040 --> 00:55:39,240 They'll never see the light of day. 1126 00:55:39,240 --> 00:55:39,840 They're dead now. 1127 00:55:40,440 --> 00:55:43,200 I mean, if you got out, but most of them just. 1128 00:55:47,040 --> 00:55:49,920 Sean, was there anything you learned from this blog post and other people's feedback? 1129 00:55:49,920 --> 00:55:53,880 I mean, this was, you wrote this last year, right, November 2024, right? 1130 00:55:53,880 --> 00:55:56,240 So it's, it's now July 2025. 1131 00:55:56,560 --> 00:55:58,080 There was a bunch of conversation about it. 1132 00:55:58,080 --> 00:55:58,760 People talked about it. 1133 00:55:58,760 --> 00:56:02,000 People probably said, oh, I disagree with this, or I think this is more important. 1134 00:56:02,000 --> 00:56:02,920 What, what did you learn? 1135 00:56:04,440 --> 00:56:07,200 Oh man, this is going to sound really egotistical. 1136 00:56:07,200 --> 00:56:12,320 But I think I just believe more strongly that I was right now than I did when I wrote it. 1137 00:56:13,360 --> 00:56:16,720 I've written a lot of blog posts where I got feedback and I, and I, and I felt, yeah, 1138 00:56:16,720 --> 00:56:17,800 you're right, I missed that. 1139 00:56:18,480 --> 00:56:19,160 It happens a lot. 1140 00:56:19,160 --> 00:56:21,320 I write, I write a lot of stuff that I like go back on. 1141 00:56:22,040 --> 00:56:25,520 But certainly about like my own experience, I'm really confident on this stuff. 1142 00:56:26,320 --> 00:56:29,960 One thing I did learn, I guess was, and I sort of knew this in the abstract, 1143 00:56:29,960 --> 00:56:33,160 but it really brought home reading the feedback of like how different, 1144 00:56:33,160 --> 00:56:36,600 different situations are in tech and different jobs are in tech. 1145 00:56:36,880 --> 00:56:41,680 And so many people who wrote in the hack and use comments or emailed me being like, 1146 00:56:42,120 --> 00:56:45,760 hey, this part really speaks to me, but these other parts could not be less 1147 00:56:45,760 --> 00:56:47,200 relevant to me for these reasons. 1148 00:56:47,640 --> 00:56:48,920 And I'm like, yeah, fair enough. 1149 00:56:49,760 --> 00:56:52,560 Yeah, I think that's the jarring part about being an engineer. 1150 00:56:52,560 --> 00:56:56,080 It doesn't matter how long you've been an engineer from job to job. 1151 00:56:56,080 --> 00:56:58,720 It can be so drastically different. 1152 00:56:58,840 --> 00:57:01,040 Like, you know, just what the process is and everything. 1153 00:57:01,560 --> 00:57:02,560 Do you think that. 1154 00:57:03,400 --> 00:57:07,360 Do you, okay, so when you wrote this, it was what a year ago, like, 1155 00:57:07,360 --> 00:57:11,040 do you think that in the times that we're in right now, it's harder to figure 1156 00:57:11,040 --> 00:57:14,960 out what is the definition of ship because it's harder to figure out what 1157 00:57:14,960 --> 00:57:19,120 people are expecting of engineers right now and where engineering is going. 1158 00:57:19,120 --> 00:57:22,040 Like we've always said that you need to be really technical. 1159 00:57:22,320 --> 00:57:25,360 And now AI is writing a ton of the code, right? 1160 00:57:25,360 --> 00:57:28,360 So like, do you think we need to ask more often? 1161 00:57:28,360 --> 00:57:30,800 Like, do you think that there is like, 1162 00:57:31,640 --> 00:57:35,720 is it going to change what means shipped and do you think those priorities 1163 00:57:35,720 --> 00:57:37,880 are changing right now or? 1164 00:57:37,880 --> 00:57:41,120 Yeah, so let me, let me answer without reference to AI first. 1165 00:57:41,120 --> 00:57:45,080 Do I think it's gotten harder in the times we're in to like, figure out what's 1166 00:57:45,080 --> 00:57:47,240 shipped? No, actually, I think it's gotten easier. 1167 00:57:47,240 --> 00:57:50,520 I think in, in some circumstances, I think it's gotten a lot easier. 1168 00:57:51,320 --> 00:57:54,840 I think in the, in the mid 2010s, in the, in the height of like zero 1169 00:57:54,840 --> 00:57:59,040 interest rate madness, there were some projects where it was much easier to 1170 00:57:59,440 --> 00:58:04,360 there were some projects where it was like nobody knew what the point was. 1171 00:58:04,960 --> 00:58:09,200 It was, it was like purely like to be doing something or it was like 1172 00:58:09,760 --> 00:58:12,640 somebody had this idea and then left and then somebody else picked it up and 1173 00:58:12,640 --> 00:58:15,280 then left and then the third person was trying to carry it through without any 1174 00:58:15,280 --> 00:58:17,440 real sense. There were a lot of situations like that. 1175 00:58:17,440 --> 00:58:20,920 Or I think it was really genuinely hard for anybody to figure out what it 1176 00:58:20,920 --> 00:58:23,360 meant for something to be successful and what it meant for something to ship. 1177 00:58:23,720 --> 00:58:27,240 And for all that, it's like worse to be a dev now than it was then. 1178 00:58:27,560 --> 00:58:30,920 One thing that I do think is kind of nice is at least where I've worked. 1179 00:58:31,280 --> 00:58:34,600 It is pretty clear what companies care about because now it is like 1180 00:58:35,320 --> 00:58:37,400 more specifically tied to making money. 1181 00:58:38,480 --> 00:58:41,120 Whereas previously they had all these other motives that were because money 1182 00:58:41,120 --> 00:58:44,320 was money was free. So they were doing all these, all these, these are other 1183 00:58:44,320 --> 00:58:48,520 kind of things. Now it's like, well, you know, like if I make a change to 1184 00:58:48,520 --> 00:58:53,120 co-pilot and it increases ARR, that's a good thing. 1185 00:58:53,120 --> 00:58:56,280 You know, if I make a change to co-pilot and ARR creators, that's probably 1186 00:58:56,280 --> 00:59:00,200 a bad thing. Like it's, it's, it's much more like tightly connected in that way. 1187 00:59:01,400 --> 00:59:06,680 So we went from Vive projects and Vive teams and Vive services to Vive 1188 00:59:06,680 --> 00:59:08,680 coding, basically. Yeah, maybe. 1189 00:59:12,760 --> 00:59:13,920 You have to laugh or you cry. 1190 00:59:16,040 --> 00:59:17,040 Full stack vibes. 1191 00:59:17,320 --> 00:59:21,320 I don't think people are, people are Vive coding in big tech companies in, in 1192 00:59:21,320 --> 00:59:25,120 production yet. I think they're like, they're doing agentic coding and they're 1193 00:59:25,120 --> 00:59:29,640 doing all kinds of things, but the, the pure no code vibes, like just interact 1194 00:59:29,640 --> 00:59:33,320 with the, with the LLM. I don't think that's that widespread yet. 1195 00:59:35,880 --> 00:59:40,960 I think people think it is and they are basing whole models on it. 1196 00:59:41,000 --> 00:59:42,280 I guess we're going to see what happens. 1197 00:59:42,360 --> 00:59:43,480 Oh, the hype is there for sure. 1198 00:59:45,680 --> 00:59:50,600 Yeah. And I can, I can see, I mean, it's hard to distinguish those things, right? 1199 00:59:50,600 --> 00:59:55,840 When we say that AI is writing a lot of the code versus Vive coding, like people 1200 00:59:56,000 --> 00:59:57,680 oftentimes think it's the same thing. 1201 00:59:57,760 --> 01:00:01,440 They, they often like, oh, well you AI just wrote the code then, right? 1202 01:00:01,440 --> 01:00:04,600 It was like, well, like, no, like it's, it, it started writing the code just like 1203 01:00:04,600 --> 01:00:06,680 my tab complete used to start writing my code. 1204 01:00:07,360 --> 01:00:13,400 Or my, my Ruby on Rails generated an entire project structure when I had no idea 1205 01:00:13,400 --> 01:00:15,480 what it was doing and I just filled in some values, right? 1206 01:00:15,480 --> 01:00:17,880 Like those sorts of things have always been around. 1207 01:00:18,000 --> 01:00:20,520 And it's like, yeah, we are still hopefully in the loop of those. 1208 01:00:22,520 --> 01:00:26,160 It's like when we first start programming and people tell you, you have to only use 1209 01:00:26,160 --> 01:00:28,360 VIM and you can't use IDEs. 1210 01:00:28,400 --> 01:00:32,320 And now instead of IDEs, it's like, you have to learn how to program without AI 1211 01:00:32,320 --> 01:00:34,480 first and then you can use AI. 1212 01:00:34,720 --> 01:00:36,040 It's just another abstraction. 1213 01:00:36,600 --> 01:00:37,920 Are you saying I can stop using VIM? 1214 01:00:38,880 --> 01:00:39,560 No, I love VIM. 1215 01:00:40,240 --> 01:00:44,000 After you write, like, I feel like people just use it because like it's like 1216 01:00:44,080 --> 01:00:49,440 hazing, like you've already gone through like the, the hurt and pain of learning 1217 01:00:49,440 --> 01:00:53,240 it and then you can't unlearn it because, you know, you can go do something really 1218 01:00:53,240 --> 01:00:53,640 quick. 1219 01:00:54,480 --> 01:00:55,080 Muscle memory. 1220 01:00:55,480 --> 01:00:57,520 It's just, it's a sunk sunk cost fallacy. 1221 01:00:57,520 --> 01:01:01,480 I've invested so much time in these, uh, these key bindings that, uh, it's just 1222 01:01:01,480 --> 01:01:03,720 wondering if that's what it is with bash, right? 1223 01:01:03,720 --> 01:01:06,960 Like, is it because bash is really good for things because it's simple or it's 1224 01:01:06,960 --> 01:01:10,160 because we've all just been beaten to death and use it for it's because it's 1225 01:01:10,160 --> 01:01:11,760 good, it's, it's because it's good. 1226 01:01:11,800 --> 01:01:12,160 That's it. 1227 01:01:12,480 --> 01:01:15,840 I mean, one reason it's good now is that every LLM knows bash really, really 1228 01:01:15,840 --> 01:01:16,240 well. 1229 01:01:16,920 --> 01:01:20,520 So if you need, can we talk about that's, that's my favorite part of AI. 1230 01:01:20,560 --> 01:01:24,680 Like, because I hate writing bash so much. 1231 01:01:25,480 --> 01:01:29,360 Like, not that it can do all the things because it still gets it wrong sometimes, 1232 01:01:29,360 --> 01:01:33,840 but it'll get you like some of the way there and hope you diagnose some of it. 1233 01:01:35,440 --> 01:01:38,760 Like AI is taking away all the, all the artistic jobs, including writing bash 1234 01:01:38,760 --> 01:01:39,120 strips. 1235 01:01:39,800 --> 01:01:40,160 That's it. 1236 01:01:40,960 --> 01:01:44,000 But I just wanted to write bash scripts and regex. 1237 01:01:45,080 --> 01:01:48,840 If you need like a one-off script to be like this API is behaving weirdly, like, 1238 01:01:48,840 --> 01:01:52,040 can you hit all these endpoints with all this different stuff and like aggregate 1239 01:01:52,040 --> 01:01:55,480 the data, you can one-shot that with an LLM and that, that actually does save a 1240 01:01:55,480 --> 01:01:55,960 lot of time. 1241 01:01:56,560 --> 01:01:57,560 Yeah, I do like that. 1242 01:01:59,080 --> 01:02:00,400 Sean, where should people find you online? 1243 01:02:00,840 --> 01:02:01,120 Yeah. 1244 01:02:01,120 --> 01:02:03,080 So, um, Sean, get a key.com. 1245 01:02:03,080 --> 01:02:05,240 That's a G O E D E C K E. 1246 01:02:05,280 --> 01:02:05,960 It's my last name. 1247 01:02:06,520 --> 01:02:08,440 Um, or yes, fantastic. 1248 01:02:08,440 --> 01:02:11,680 Or you can find me on LinkedIn or just email me if you want to chat to me. 1249 01:02:13,320 --> 01:02:14,160 Are you on blue sky at all? 1250 01:02:14,920 --> 01:02:17,440 Uh, I am on blue sky, but I don't post anything. 1251 01:02:18,120 --> 01:02:18,320 Okay. 1252 01:02:18,640 --> 01:02:24,160 I, we have a, a, a running people, the guests of the show, uh, lists that we add 1253 01:02:24,160 --> 01:02:26,120 people to, so, but if you're not posting, then that's okay. 1254 01:02:28,120 --> 01:02:28,440 Sweet. 1255 01:02:29,000 --> 01:02:32,280 Well, thank you so much for coming on the show and talking to us all about how to 1256 01:02:32,280 --> 01:02:32,920 ship things. 1257 01:02:32,920 --> 01:02:34,440 This is, uh, this is fantastic. 1258 01:02:34,640 --> 01:02:35,200 Yeah, it's my pleasure. 1259 01:02:35,200 --> 01:02:35,880 Thanks for having me on. 1260 01:02:36,880 --> 01:02:39,160 Uh, everyone, thank you for listening to this episode. 1261 01:02:39,240 --> 01:02:40,920 Um, I, what is this episode coming out? 1262 01:02:40,920 --> 01:02:42,360 It's coming out in August. 1263 01:02:42,440 --> 01:02:47,080 Uh, I'm going to be at KCD San Francisco in September, early September. 1264 01:02:47,080 --> 01:02:50,600 So if you're listening to this before September, KCD San Francisco, I'll be 1265 01:02:50,600 --> 01:02:54,240 there and I'm also going to be at edge case in Amsterdam in September. 1266 01:02:54,240 --> 01:02:58,760 So, uh, if any listeners are around and, and want to meet up in person, please 1267 01:02:58,880 --> 01:02:59,800 hit me up on blue sky. 1268 01:02:59,800 --> 01:03:01,120 I'll, I'll be at those events. 1269 01:03:01,520 --> 01:03:04,000 Uh, autumn, are you going anywhere in the near future? 1270 01:03:04,240 --> 01:03:06,560 Um, it doesn't look like it. 1271 01:03:06,600 --> 01:03:07,280 Not right now. 1272 01:03:07,640 --> 01:03:07,960 That's fine. 1273 01:03:08,040 --> 01:03:09,120 It's, it's summer. 1274 01:03:09,160 --> 01:03:11,800 It's, it's time to not travel some places, but, uh, 1275 01:03:11,800 --> 01:03:13,160 I don't really want to travel right now. 1276 01:03:14,920 --> 01:03:15,720 I'm good. 1277 01:03:17,440 --> 01:03:20,040 I'm going to sit at home and garden and write code. 1278 01:03:20,640 --> 01:03:20,920 Yeah. 1279 01:03:20,920 --> 01:03:26,560 I, the less I need to get on a plane, the better, uh, but sometimes we're doing it. 1280 01:03:26,560 --> 01:03:27,560 So, yeah. 1281 01:03:29,080 --> 01:03:29,440 All right. 1282 01:03:29,440 --> 01:03:31,640 Well, thank you everyone for listening and we will talk to you again soon. 1283 01:03:34,600 --> 01:03:43,320 Thank you for listening to this episode of fork around and find out if you like this 1284 01:03:43,320 --> 01:03:47,320 show, please consider sharing it with a friend, a coworker, a family member, or 1285 01:03:47,320 --> 01:03:48,080 even an enemy. 1286 01:03:48,120 --> 01:03:52,000 However, we get the word out about this show, helps it to become sustainable for 1287 01:03:52,000 --> 01:03:52,720 the longterm. 1288 01:03:52,920 --> 01:03:59,040 If you want to sponsor this show, please go to FAFO.fm slash sponsor and reach 1289 01:03:59,040 --> 01:04:02,360 out to us there about what you're interested in sponsoring and how we can help. 1290 01:04:03,320 --> 01:04:06,600 We hope your system stay available and your pagers stay quiet. 1291 01:04:07,040 --> 01:04:08,200 We'll see you again next time.

Never lose your place, on any device

Create a free account to sync, back up, and get personal recommendations.