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