Aug. 16, 2025
Building Trust with Sean Goedecke

What is it like to ship software in big tech? Sean gives us his experience from multiple companies and what he’s learned. It's probably not what you think. It doesn't matter if you're vibe coding features or bash-ing devops, we all need to remember why we were hired.
Links:
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.
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.