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.