WEBVTT

1
00:00:00.040 --> 00:00:03.680
<v Speaker 1>All right, buckle up everyone. We're diving deep today into

2
00:00:03.720 --> 00:00:07.240
<v Speaker 1>the world of the clean coder by Uncle Bob. And

3
00:00:07.320 --> 00:00:11.320
<v Speaker 1>before you think, ugh, another coding book, trust me, this

4
00:00:11.359 --> 00:00:13.919
<v Speaker 1>is less about the how of coding, more about the who,

5
00:00:14.759 --> 00:00:16.960
<v Speaker 1>the kind of developer you are, the professional and you

6
00:00:17.000 --> 00:00:17.359
<v Speaker 1>want to be.

7
00:00:17.600 --> 00:00:20.079
<v Speaker 2>It's almost like a philosophy, right, like, what are the

8
00:00:20.160 --> 00:00:24.399
<v Speaker 2>guiding principles that separate a good programmer from a truly

9
00:00:24.480 --> 00:00:25.000
<v Speaker 2>great one?

10
00:00:25.120 --> 00:00:27.960
<v Speaker 1>Exactly? And he doesn't mess around. He dives right in

11
00:00:28.199 --> 00:00:30.960
<v Speaker 1>with this story about him and a colleague, Joe. They

12
00:00:30.960 --> 00:00:34.079
<v Speaker 1>were like the a team of bug fixing, pulling all nighters, yeah,

13
00:00:34.079 --> 00:00:36.439
<v Speaker 1>to get things shipped on time for the engineering team.

14
00:00:36.600 --> 00:00:38.600
<v Speaker 1>But when it came to legal team is a different story.

15
00:00:38.679 --> 00:00:40.679
<v Speaker 2>Oh I remember that part, Joe. Evin says something like,

16
00:00:40.719 --> 00:00:43.719
<v Speaker 2>but these are professionals. It's like this unspoken thing, right,

17
00:00:43.759 --> 00:00:46.799
<v Speaker 2>the programmers aren't held to the same standards as say,

18
00:00:46.880 --> 00:00:47.799
<v Speaker 2>lawyers or doctors.

19
00:00:47.880 --> 00:00:50.079
<v Speaker 1>Uncle Bob's like, hold up, that's got to change. He says,

20
00:00:50.079 --> 00:00:53.119
<v Speaker 1>the foundation of any true professional is do no.

21
00:00:53.119 --> 00:00:58.039
<v Speaker 2>Harm, which, when you think about software, has so many layers. Obviously,

22
00:00:58.079 --> 00:01:01.119
<v Speaker 2>we don't want buggy code out in the wild, but

23
00:01:01.200 --> 00:01:04.040
<v Speaker 2>it goes deeper, right, Like what about the harm we

24
00:01:04.159 --> 00:01:07.760
<v Speaker 2>do to the software itself by making it a nightmare

25
00:01:07.799 --> 00:01:08.359
<v Speaker 2>to maintain?

26
00:01:08.599 --> 00:01:10.920
<v Speaker 1>Oh man, I've inherited some code bases that felt like

27
00:01:10.959 --> 00:01:13.719
<v Speaker 1>a personal attack, like trying to untangle a headphone cord

28
00:01:13.760 --> 00:01:14.640
<v Speaker 1>after it's been in your.

29
00:01:14.519 --> 00:01:17.239
<v Speaker 2>Pocket all day, exactly, and then someone else has to

30
00:01:17.280 --> 00:01:19.599
<v Speaker 2>come along and deal with that mess. So how do

31
00:01:19.640 --> 00:01:23.760
<v Speaker 2>we avoid becoming that developer? Michael Bob's got some thoughts.

32
00:01:24.079 --> 00:01:26.000
<v Speaker 1>He's big on the work ethic, but it's not just

33
00:01:26.040 --> 00:01:29.280
<v Speaker 1>showing up and coding. He's talking about constant learning, like

34
00:01:29.439 --> 00:01:31.079
<v Speaker 1>twenty hours a week outside your job.

35
00:01:31.159 --> 00:01:34.079
<v Speaker 2>I know, right, sounds intense, but think about it, even

36
00:01:34.159 --> 00:01:37.359
<v Speaker 2>just reading during lunch, podcasts on your commute.

37
00:01:37.000 --> 00:01:39.239
<v Speaker 1>It adds up. Plus tech moves so fast. If you're

38
00:01:39.239 --> 00:01:40.439
<v Speaker 1>not learning, you're falling.

39
00:01:40.200 --> 00:01:43.680
<v Speaker 2>Behind, exactly. And it's not just keeping up, it's about

40
00:01:43.719 --> 00:01:47.040
<v Speaker 2>becoming the expert, the one people turn to, the one

41
00:01:47.079 --> 00:01:48.560
<v Speaker 2>who's always pushing the boundaries.

42
00:01:49.120 --> 00:01:52.640
<v Speaker 1>So true, And speaking of pushing boundaries, he talks about

43
00:01:52.640 --> 00:01:55.719
<v Speaker 1>the importance of practice, not just working on projects, but

44
00:01:55.799 --> 00:01:59.879
<v Speaker 1>like deliberate practice. He calls them kata, these short coding

45
00:02:00.040 --> 00:02:03.000
<v Speaker 1>exercises kind of like a musician practicing scales.

46
00:02:03.239 --> 00:02:04.680
<v Speaker 3>Oh, I love kata.

47
00:02:04.760 --> 00:02:07.799
<v Speaker 2>It's such a great way to sharpen your skills, you know,

48
00:02:07.959 --> 00:02:11.879
<v Speaker 2>not even solving real problems, just focusing on technique efficiency.

49
00:02:12.319 --> 00:02:14.520
<v Speaker 1>I gotta try that. But even with all the solo

50
00:02:14.599 --> 00:02:18.759
<v Speaker 1>practice in the world, Uncle Bob's a huge believer in collaboration.

51
00:02:18.360 --> 00:02:19.280
<v Speaker 3>Which makes sense, right.

52
00:02:19.400 --> 00:02:22.319
<v Speaker 2>Software is rarely a one person show anymore, bouncing ideas

53
00:02:22.319 --> 00:02:25.199
<v Speaker 2>off each other, pair programming, mentoring.

54
00:02:24.960 --> 00:02:26.680
<v Speaker 1>Like, you learn so much faster when you're not in

55
00:02:26.719 --> 00:02:27.840
<v Speaker 1>a vacuum.

56
00:02:27.400 --> 00:02:30.439
<v Speaker 2>And you avoid those situations where only one person understands

57
00:02:30.479 --> 00:02:31.879
<v Speaker 2>that critical piece of code.

58
00:02:32.000 --> 00:02:35.680
<v Speaker 1>Okay, so we've got learning, we've got collaboration, but now

59
00:02:35.719 --> 00:02:37.840
<v Speaker 1>comes apart. I struggle with saying no.

60
00:02:38.080 --> 00:02:39.919
<v Speaker 2>Ooh yeah, that's a tough one.

61
00:02:39.879 --> 00:02:41.439
<v Speaker 1>Especially when you want to be helpful, you want to

62
00:02:41.439 --> 00:02:44.639
<v Speaker 1>please people. But Uncle Bob makes this point saying yes

63
00:02:45.000 --> 00:02:47.400
<v Speaker 1>when you don't mean it, it actually hurts everyone in

64
00:02:47.439 --> 00:02:47.960
<v Speaker 1>the long run.

65
00:02:48.120 --> 00:02:50.680
<v Speaker 2>He talks about that language of non commitment right, like

66
00:02:50.800 --> 00:02:53.319
<v Speaker 2>we should or I hope to. It's so easy to

67
00:02:53.360 --> 00:02:54.159
<v Speaker 2>fall into that track.

68
00:02:54.280 --> 00:02:57.120
<v Speaker 1>Oh totally, I'm so guilty of that. But he gives

69
00:02:57.159 --> 00:03:01.360
<v Speaker 1>this great alternative, I will action by time. It forces

70
00:03:01.400 --> 00:03:04.000
<v Speaker 1>you to be specific, accountable.

71
00:03:03.520 --> 00:03:06.120
<v Speaker 2>And it sets clear expectations, so no one's left wondering.

72
00:03:06.599 --> 00:03:08.680
<v Speaker 2>But what about when you have to say no, like

73
00:03:08.719 --> 00:03:10.280
<v Speaker 2>the request is unreasonable.

74
00:03:10.360 --> 00:03:12.719
<v Speaker 1>He's got a framework for that too, about focusing on

75
00:03:12.759 --> 00:03:17.000
<v Speaker 1>the why, not just no, but no because, and offering

76
00:03:17.039 --> 00:03:18.120
<v Speaker 1>alternatives if you can.

77
00:03:18.400 --> 00:03:21.240
<v Speaker 2>It shows you're not just being difficult, you're problem solving.

78
00:03:21.639 --> 00:03:24.319
<v Speaker 2>You're using your expertise to guide things in the right direction.

79
00:03:24.759 --> 00:03:27.039
<v Speaker 1>I had this situation once I was asked to build

80
00:03:27.039 --> 00:03:29.439
<v Speaker 1>this feature, and I knew it was going to be

81
00:03:29.439 --> 00:03:32.439
<v Speaker 1>a nightmare, way too complex. But instead of just saying no,

82
00:03:32.919 --> 00:03:36.639
<v Speaker 1>I explained the technical challenges, like even I proposed a

83
00:03:36.639 --> 00:03:39.639
<v Speaker 1>phased approach, something more realistic, and how'd that go? They

84
00:03:39.680 --> 00:03:44.000
<v Speaker 1>were actually super receptive. They appreciated the honesty, the transparency.

85
00:03:44.240 --> 00:03:46.280
<v Speaker 1>It turned into a much better solution than the end.

86
00:03:46.639 --> 00:03:47.919
<v Speaker 3>That's professionalism and action.

87
00:03:48.240 --> 00:03:50.560
<v Speaker 1>And speaking of challenges, we got to talk about the

88
00:03:50.560 --> 00:03:54.919
<v Speaker 1>pressure cooker of software development. Uncle Bob tells this crazy

89
00:03:54.960 --> 00:03:56.919
<v Speaker 1>story about an app called Guerrilla Mart.

90
00:03:57.199 --> 00:03:59.080
<v Speaker 2>Oh. Yeah, that one stays with you. It's like a

91
00:03:59.120 --> 00:04:00.319
<v Speaker 2>cautionary tale.

92
00:04:00.120 --> 00:04:05.759
<v Speaker 1>Impossible deadlines, scope creep, that is velper John is sacrificing everything.

93
00:04:05.560 --> 00:04:07.879
<v Speaker 2>And it all comes back to that ability to say

94
00:04:07.919 --> 00:04:09.599
<v Speaker 2>no effectively.

95
00:04:09.199 --> 00:04:13.120
<v Speaker 1>Right if John hit set boundaries, managed expectations.

96
00:04:13.199 --> 00:04:16.639
<v Speaker 2>But even when you do everything right, pressure happens. So

97
00:04:16.879 --> 00:04:19.639
<v Speaker 2>what are Uncle Bob's tips for weathering those storms.

98
00:04:19.920 --> 00:04:22.800
<v Speaker 1>Well, one that surprised me was keep things clean, not

99
00:04:22.920 --> 00:04:25.519
<v Speaker 1>just code, but your workspace, your mental state.

100
00:04:25.680 --> 00:04:28.800
<v Speaker 2>It's like, when everything else is chaotic, create some order

101
00:04:28.839 --> 00:04:29.279
<v Speaker 2>where you can.

102
00:04:29.439 --> 00:04:32.079
<v Speaker 1>It helps you think clearly, make better decisions under stress.

103
00:04:32.160 --> 00:04:35.199
<v Speaker 2>And he talks about having a crisis discipline, a set

104
00:04:35.240 --> 00:04:38.399
<v Speaker 2>of practices you can rely on when everything's hitting the fan.

105
00:04:38.800 --> 00:04:39.839
<v Speaker 2>What are your go tos?

106
00:04:40.839 --> 00:04:43.639
<v Speaker 1>For me, It's got to be stepping back, breathing deeply,

107
00:04:44.240 --> 00:04:47.920
<v Speaker 1>reminding myself I've solved tough problems before, and breaking things

108
00:04:47.959 --> 00:04:50.040
<v Speaker 1>down into smaller, manageable chunks.

109
00:04:50.199 --> 00:04:50.759
<v Speaker 3>That's great.

110
00:04:51.000 --> 00:04:55.920
<v Speaker 2>Uncle Bob also emphasizes sticking to your disciplines, test driven development,

111
00:04:56.040 --> 00:04:57.560
<v Speaker 2>pair programming, whatever.

112
00:04:57.240 --> 00:04:57.839
<v Speaker 3>Works for you.

113
00:04:58.480 --> 00:05:01.360
<v Speaker 2>Those become even more important when the pressure's.

114
00:05:00.920 --> 00:05:04.160
<v Speaker 1>On and you know what, it's okay to ask for help,

115
00:05:04.720 --> 00:05:05.759
<v Speaker 1>not try to be the hero.

116
00:05:05.959 --> 00:05:10.079
<v Speaker 2>Absolutely, sometimes the most professional thing is admitting you need support.

117
00:05:10.839 --> 00:05:12.920
<v Speaker 3>A fresh perspective can make all the difference.

118
00:05:13.240 --> 00:05:17.040
<v Speaker 1>So we've talked about pressure collaboration, but there's this other

119
00:05:17.079 --> 00:05:20.360
<v Speaker 1>aspect of the clean coder that's really fascinating, this idea

120
00:05:20.399 --> 00:05:24.160
<v Speaker 1>that programmers shouldn't be lone wolves that it's actually unprofessional.

121
00:05:24.279 --> 00:05:26.279
<v Speaker 2>I think he even tells a story about getting fired

122
00:05:26.319 --> 00:05:29.240
<v Speaker 2>for being too focused on the tech and not enough

123
00:05:29.240 --> 00:05:31.279
<v Speaker 2>on the bigger picture, the business impact.

124
00:05:31.439 --> 00:05:34.240
<v Speaker 1>Yeah, it's like, we got to remember we're building solutions

125
00:05:34.240 --> 00:05:34.839
<v Speaker 1>for real.

126
00:05:34.600 --> 00:05:37.600
<v Speaker 2>People, understanding the business, talking to users.

127
00:05:37.399 --> 00:05:38.480
<v Speaker 3>It's all part of the job.

128
00:05:39.199 --> 00:05:41.199
<v Speaker 1>I had this project once where I was so deep

129
00:05:41.240 --> 00:05:44.720
<v Speaker 1>and optimizing an algorithm, m I totally missed a key

130
00:05:44.759 --> 00:05:47.759
<v Speaker 1>constraint related to the company's internal processes.

131
00:05:47.839 --> 00:05:50.240
<v Speaker 3>Oh no, did you have to rework everything we did?

132
00:05:50.720 --> 00:05:53.199
<v Speaker 1>It was a hard lesson and the importance of asking questions,

133
00:05:53.720 --> 00:05:57.399
<v Speaker 1>not assuming you have all the answers, collaborating with everyone involved.

134
00:05:57.600 --> 00:06:00.240
<v Speaker 2>And speaking of collaboration, Uncle Bob's a big fan of

135
00:06:00.279 --> 00:06:01.519
<v Speaker 2>collective code ownership.

136
00:06:01.720 --> 00:06:04.839
<v Speaker 1>Yeah, I've worked in places where certain code was like

137
00:06:05.639 --> 00:06:06.959
<v Speaker 1>someone's personal kingdom.

138
00:06:07.199 --> 00:06:11.279
<v Speaker 2>He argues that shared ownership leads to better solutions, less resentment.

139
00:06:11.519 --> 00:06:14.839
<v Speaker 1>And then there's pair programming, which I know could be controversial.

140
00:06:14.879 --> 00:06:18.360
<v Speaker 2>He addresses all the common objections feeling slowed down, fear judgment,

141
00:06:18.600 --> 00:06:23.519
<v Speaker 2>but the benefits are huge better code, constant review, knowledge sharing.

142
00:06:23.800 --> 00:06:27.000
<v Speaker 1>It's like having a built in second brain, catching errors

143
00:06:27.000 --> 00:06:32.319
<v Speaker 1>before they become disasters. So we've covered a lot professionalism, learning, collaboration,

144
00:06:32.920 --> 00:06:34.639
<v Speaker 1>but there's one more piece we haven't touched on, the

145
00:06:34.720 --> 00:06:36.959
<v Speaker 1>journey from apprentice to craftsmen.

146
00:06:37.120 --> 00:06:39.800
<v Speaker 2>Oh that's a good one. He even tells this adorable

147
00:06:39.839 --> 00:06:42.480
<v Speaker 2>story about learning to program as a kid. He was

148
00:06:42.519 --> 00:06:46.240
<v Speaker 2>fascinated by this little toy computer, even built a computerized

149
00:06:46.279 --> 00:06:47.279
<v Speaker 2>gait for his neighbor.

150
00:06:47.360 --> 00:06:49.879
<v Speaker 1>Ah, that's awesome. It reminds you the pure joy of coding,

151
00:06:49.959 --> 00:06:51.480
<v Speaker 1>the possibilities, and.

152
00:06:51.360 --> 00:06:54.240
<v Speaker 2>That sets the stage for his exploration of the different

153
00:06:54.240 --> 00:06:55.920
<v Speaker 2>stages of a programmer's growth.

154
00:06:56.000 --> 00:06:59.360
<v Speaker 1>The apprentice, the journeyman, the master. Sounds kind of like

155
00:06:59.399 --> 00:07:00.199
<v Speaker 1>a fantasy.

156
00:07:00.519 --> 00:07:03.680
<v Speaker 2>It does, but it's really about the skills, the mindset,

157
00:07:03.800 --> 00:07:05.480
<v Speaker 2>the values you develop over time.

158
00:07:05.639 --> 00:07:08.279
<v Speaker 1>So it's more than just technical ability. It's about character.

159
00:07:08.000 --> 00:07:10.959
<v Speaker 2>Development exactly, and that's what we'll be digging into in

160
00:07:11.000 --> 00:07:12.240
<v Speaker 2>the next part of our deep dive.

161
00:07:12.480 --> 00:07:14.839
<v Speaker 1>So stick around. We'll be right back after short break.

162
00:07:15.959 --> 00:07:18.839
<v Speaker 2>All right, So we left off talking about this idea

163
00:07:19.040 --> 00:07:23.600
<v Speaker 2>of a programmer's journey, but before we get to the apprentice,

164
00:07:23.759 --> 00:07:27.439
<v Speaker 2>journeyman master thing. There's this other concept Uncle Bob brings

165
00:07:27.519 --> 00:07:30.120
<v Speaker 2>up about teams and how they should be structured, which

166
00:07:30.519 --> 00:07:32.439
<v Speaker 2>honestly kind of blew my mind, I.

167
00:07:32.439 --> 00:07:34.920
<v Speaker 1>Know, right. It goes against how a lot of companies

168
00:07:34.959 --> 00:07:36.360
<v Speaker 1>do think totally.

169
00:07:36.120 --> 00:07:39.360
<v Speaker 2>Like, you finish a project, the team disbands, everyone gets

170
00:07:39.360 --> 00:07:42.279
<v Speaker 2>shuffled around. Uncle Bob's like, no bad idea. He's all

171
00:07:42.279 --> 00:07:43.439
<v Speaker 2>about persistent teams.

172
00:07:43.560 --> 00:07:46.720
<v Speaker 1>So instead of forming teams around projects, you have these

173
00:07:46.759 --> 00:07:50.959
<v Speaker 1>long term units and you assign projects to them based

174
00:07:50.959 --> 00:07:53.600
<v Speaker 1>on their skills and experience exactly.

175
00:07:54.040 --> 00:07:56.000
<v Speaker 2>It makes so much sense when you think about it,

176
00:07:56.079 --> 00:07:59.439
<v Speaker 2>like a well functioning team. It's like a well oiled machine.

177
00:07:59.639 --> 00:08:03.000
<v Speaker 1>Everyone knows each other's strengths, they can anticipate each other's moves.

178
00:08:03.079 --> 00:08:05.120
<v Speaker 2>It's like a sports team. You don't swap players out

179
00:08:05.120 --> 00:08:05.560
<v Speaker 2>every game.

180
00:08:05.639 --> 00:08:08.279
<v Speaker 1>You build that chemistry, that trust over time.

181
00:08:08.600 --> 00:08:11.680
<v Speaker 2>And Uncle Bob talks about this fermentation process, right, Like,

182
00:08:11.920 --> 00:08:15.079
<v Speaker 2>teams go through these stages, the awkward getting to know

183
00:08:15.160 --> 00:08:16.480
<v Speaker 2>you phase, maybe.

184
00:08:16.240 --> 00:08:19.319
<v Speaker 1>A honeymoon period, and finally they reach this point of

185
00:08:19.879 --> 00:08:23.120
<v Speaker 1>like seamless collaboration. They're in sync.

186
00:08:23.399 --> 00:08:26.639
<v Speaker 2>And once you have that, why break it apart?

187
00:08:26.800 --> 00:08:29.279
<v Speaker 1>Seems so counterproductive, right, You lose all that.

188
00:08:29.240 --> 00:08:33.240
<v Speaker 2>Momentum totally and think about the knowledge transfer, the continuity.

189
00:08:33.279 --> 00:08:35.759
<v Speaker 2>With persistent teams, you don't have to start from scratch

190
00:08:35.759 --> 00:08:36.159
<v Speaker 2>every time.

191
00:08:36.279 --> 00:08:38.120
<v Speaker 1>Let's I bet te morale is higher when you know

192
00:08:38.200 --> 00:08:39.320
<v Speaker 1>you're in it for the long helse.

193
00:08:39.360 --> 00:08:43.480
<v Speaker 2>Oh absolutely, it creates a sense of ownership, of shared responsibility.

194
00:08:43.559 --> 00:08:46.120
<v Speaker 2>But okay, let's be real. Even with the best teams

195
00:08:46.120 --> 00:08:51.200
<v Speaker 2>in the world, pressure is going to happen, right, Deadlines, stayholders,

196
00:08:51.279 --> 00:08:52.399
<v Speaker 2>breathing down your neck.

197
00:08:52.639 --> 00:08:54.799
<v Speaker 1>The joys of software development, and.

198
00:08:55.240 --> 00:08:58.919
<v Speaker 2>Uncle Bob doesn't sugarcoat it. He acknowledges that pressure is

199
00:08:59.000 --> 00:09:02.120
<v Speaker 2>part of the game, but he also gives some great

200
00:09:02.200 --> 00:09:04.399
<v Speaker 2>advice on how to handle it like a.

201
00:09:04.360 --> 00:09:06.320
<v Speaker 1>Pro, like what still the beans?

202
00:09:06.519 --> 00:09:10.600
<v Speaker 2>Well, first off, managing your commitments. Remember that language of

203
00:09:10.639 --> 00:09:12.120
<v Speaker 2>commitment we talked about.

204
00:09:11.919 --> 00:09:15.399
<v Speaker 1>Clear specific promises about what you can deliver and buy.

205
00:09:15.200 --> 00:09:20.120
<v Speaker 2>When exactly, don't over promise, set realistic expectations from the start,

206
00:09:20.639 --> 00:09:24.720
<v Speaker 2>and when the pressures coming from outside those demanding stakeholders.

207
00:09:24.720 --> 00:09:26.480
<v Speaker 1>Ooh yeah, those are fun.

208
00:09:26.679 --> 00:09:30.879
<v Speaker 2>Uncle Bob's all about setting boundaries, having those tough conversations.

209
00:09:30.120 --> 00:09:32.559
<v Speaker 1>By doing it professionally right, not just blowing up at

210
00:09:32.559 --> 00:09:33.519
<v Speaker 1>people exactly.

211
00:09:33.600 --> 00:09:36.799
<v Speaker 2>It's about using your expertise to guide things in the

212
00:09:36.879 --> 00:09:40.919
<v Speaker 2>right direction. And another thing he emphasizes keep things clean.

213
00:09:41.399 --> 00:09:44.120
<v Speaker 1>Wait, not just code, Nope.

214
00:09:43.559 --> 00:09:46.399
<v Speaker 2>Your design, your workspace, even your mental state.

215
00:09:46.799 --> 00:09:48.799
<v Speaker 1>I never thought about it like that, but it makes sense.

216
00:09:48.960 --> 00:09:52.000
<v Speaker 2>When everything's chaotic around you, it's hard to think straight.

217
00:09:52.320 --> 00:09:54.480
<v Speaker 2>So declutter refactor creates some.

218
00:09:54.639 --> 00:09:55.399
<v Speaker 3>Order where you can.

219
00:09:55.639 --> 00:09:57.840
<v Speaker 1>It's like clearing the cash in your brain totally.

220
00:09:58.559 --> 00:10:01.919
<v Speaker 2>And then there's this concept of a crisis discipline, like

221
00:10:02.039 --> 00:10:05.559
<v Speaker 2>when everything's going wrong, what are your go to practices?

222
00:10:06.279 --> 00:10:09.279
<v Speaker 1>I got to have my list my emergency procedures first

223
00:10:09.480 --> 00:10:14.000
<v Speaker 1>breathe remind myself I've solved tough problems before. Then break

224
00:10:14.080 --> 00:10:17.120
<v Speaker 1>the problem down into smaller, more manageable pieces.

225
00:10:17.440 --> 00:10:20.399
<v Speaker 2>Those are great. Uncle Bob also talks about sticking to

226
00:10:20.440 --> 00:10:24.840
<v Speaker 2>your disciplines even under pressure, TDD, pair programming, whatever works

227
00:10:24.879 --> 00:10:25.159
<v Speaker 2>for you.

228
00:10:25.320 --> 00:10:27.399
<v Speaker 1>It's like, don't abandon the things that make you a

229
00:10:27.399 --> 00:10:28.120
<v Speaker 1>good developer.

230
00:10:28.159 --> 00:10:30.159
<v Speaker 2>And you know what, It's okay to ask for help.

231
00:10:30.240 --> 00:10:32.159
<v Speaker 2>Don't be afraid to say I need a hand.

232
00:10:32.279 --> 00:10:34.200
<v Speaker 1>Sometimes that's the most professional thing you can do.

233
00:10:34.320 --> 00:10:38.519
<v Speaker 2>Admitting you don't have all the answers, seeking a fresh perspective. Okay,

234
00:10:38.639 --> 00:10:42.960
<v Speaker 2>so we've talked about pressure teamwork, but there's this whole

235
00:10:43.000 --> 00:10:47.000
<v Speaker 2>other layer to the clean coder, this idea that programmers

236
00:10:47.000 --> 00:10:49.960
<v Speaker 2>shouldn't be these isolated figures, these lone wolves.

237
00:10:50.039 --> 00:10:52.440
<v Speaker 1>He actually argues it's unprofessional to be that way.

238
00:10:52.519 --> 00:10:55.080
<v Speaker 2>He even tells the story about getting fired for being

239
00:10:55.120 --> 00:10:57.600
<v Speaker 2>too focused on the tech and not enough on the

240
00:10:57.639 --> 00:10:59.519
<v Speaker 2>bigger picture, the business impact.

241
00:11:00.000 --> 00:11:02.279
<v Speaker 1>It's a reminder that we're not coding in a vacuum.

242
00:11:01.919 --> 00:11:05.759
<v Speaker 2>Right exactly, we're building solutions for real people, for real businesses.

243
00:11:06.039 --> 00:11:09.799
<v Speaker 1>I had this experience once I was so focused on

244
00:11:09.879 --> 00:11:15.000
<v Speaker 1>optimizing an algorithm, I completely overlooked a key constraint related

245
00:11:15.000 --> 00:11:16.759
<v Speaker 1>to the company's internal processes.

246
00:11:17.039 --> 00:11:19.159
<v Speaker 3>Uh oh did that cause problems big time.

247
00:11:19.240 --> 00:11:21.679
<v Speaker 1>We had to rework a huge chunk of code because

248
00:11:21.679 --> 00:11:24.320
<v Speaker 1>I hadn't taken the time to understand the full context

249
00:11:24.679 --> 00:11:25.720
<v Speaker 1>the business side of things.

250
00:11:25.799 --> 00:11:28.519
<v Speaker 2>It's a good lesson in the importance of asking questions,

251
00:11:28.600 --> 00:11:29.840
<v Speaker 2>collaborating with everyone.

252
00:11:29.919 --> 00:11:32.840
<v Speaker 1>And speaking of collaboration, Uncle Bob's a huge advocate for

253
00:11:32.879 --> 00:11:36.320
<v Speaker 1>collective code ownership. Like no one owns a specific module,

254
00:11:36.360 --> 00:11:37.440
<v Speaker 1>everyone can contribute.

255
00:11:37.480 --> 00:11:40.480
<v Speaker 2>It breaks down those silos right, leads to better solutions,

256
00:11:40.600 --> 00:11:41.799
<v Speaker 2>less resentment.

257
00:11:41.480 --> 00:11:44.159
<v Speaker 1>And then there's pair programming, which I know some people love,

258
00:11:44.240 --> 00:11:45.000
<v Speaker 1>some people hate.

259
00:11:45.039 --> 00:11:48.039
<v Speaker 2>He dives into all the common objections, feeling slowed down,

260
00:11:48.159 --> 00:11:52.000
<v Speaker 2>fear of judgment, but he really highlights the benefits better

261
00:11:52.080 --> 00:11:53.919
<v Speaker 2>code quality, constant review.

262
00:11:54.440 --> 00:11:56.919
<v Speaker 1>It's like having a built in second pair of eyes,

263
00:11:57.279 --> 00:12:00.519
<v Speaker 1>catching errors before they become disastrous. Plus you learn from

264
00:12:00.519 --> 00:12:02.159
<v Speaker 1>each other. It's like constant knowledge sharing.

265
00:12:02.399 --> 00:12:06.600
<v Speaker 2>Okay, so we've covered a ton of ground professionalism, collaboration,

266
00:12:07.320 --> 00:12:09.879
<v Speaker 2>but we haven't even gotten to the individual journey of

267
00:12:09.919 --> 00:12:14.799
<v Speaker 2>developer yet. The apprentice journeyman master all that good stuff.

268
00:12:14.519 --> 00:12:17.279
<v Speaker 1>Which he sets up with this adorable story about learning

269
00:12:17.279 --> 00:12:18.639
<v Speaker 1>to program as a kid.

270
00:12:18.759 --> 00:12:22.200
<v Speaker 2>Oh right, He was fascinated by this little toy computer,

271
00:12:22.440 --> 00:12:25.799
<v Speaker 2>even built a computerized gait for his neighbor using it.

272
00:12:25.799 --> 00:12:28.600
<v Speaker 1>It's so cool. It reminds you of that like pure joy.

273
00:12:28.399 --> 00:12:31.039
<v Speaker 2>Of discovery, and that sets the stage for his exploration

274
00:12:31.120 --> 00:12:33.799
<v Speaker 2>of the different stages of a programmer's growth, the skills,

275
00:12:33.879 --> 00:12:36.600
<v Speaker 2>the mindset, the values you develop over time, and that's what.

276
00:12:36.639 --> 00:12:38.240
<v Speaker 1>We're going to unpack in the final part of our

277
00:12:38.279 --> 00:12:41.480
<v Speaker 1>deep dive into the clean coder. Right, welcome back to

278
00:12:41.480 --> 00:12:44.120
<v Speaker 1>the deep dive. We've been on quite a journey through

279
00:12:44.159 --> 00:12:49.120
<v Speaker 1>the clean coder from professionalism to collaboration to pressure, and

280
00:12:49.320 --> 00:12:53.120
<v Speaker 1>this idea of a programmer's journey the apprentice to craftsmen.

281
00:12:53.519 --> 00:12:55.759
<v Speaker 1>But now let's get down to brass tacks. How do

282
00:12:55.799 --> 00:12:58.240
<v Speaker 1>we actually live this stuff? How do we take Uncle

283
00:12:58.240 --> 00:13:00.559
<v Speaker 1>Bob's wisdom and make it real in our day to

284
00:13:00.639 --> 00:13:01.159
<v Speaker 1>day work?

285
00:13:01.399 --> 00:13:03.559
<v Speaker 2>Right, it's one thing to read about it, not along,

286
00:13:03.639 --> 00:13:06.720
<v Speaker 2>but then you're back in the trenches, facing deadlines, dealing

287
00:13:06.720 --> 00:13:07.480
<v Speaker 2>with people.

288
00:13:07.600 --> 00:13:10.399
<v Speaker 1>So what are some actionable steps things we can start

289
00:13:10.399 --> 00:13:14.559
<v Speaker 1>doing today to become more clean coders in the truest sense.

290
00:13:14.919 --> 00:13:15.360
<v Speaker 3>I think it.

291
00:13:15.360 --> 00:13:18.759
<v Speaker 2>Starts with awareness, honestly, just keeping these principles top of

292
00:13:18.799 --> 00:13:21.720
<v Speaker 2>mind as you're coding, as you're interacting with your.

293
00:13:21.639 --> 00:13:24.600
<v Speaker 1>Team, So almost like a mental checklist. Am I doing

294
00:13:24.600 --> 00:13:26.960
<v Speaker 1>no harm? Am I communicating clearly?

295
00:13:27.159 --> 00:13:30.440
<v Speaker 3>Yeah? And look, no one's perfect. We all slip up.

296
00:13:30.480 --> 00:13:33.559
<v Speaker 2>But it's about the intention, that commitment to excellence that's

297
00:13:33.559 --> 00:13:34.559
<v Speaker 2>what sets you apart.

298
00:13:34.679 --> 00:13:38.080
<v Speaker 1>And Uncle Bob makes this point craftsmanship spreads by example,

299
00:13:38.519 --> 00:13:42.159
<v Speaker 1>not by force. So it's not about lecturing your teammates

300
00:13:42.240 --> 00:13:43.000
<v Speaker 1>or anything like that.

301
00:13:43.120 --> 00:13:45.759
<v Speaker 2>It's about leading the way, showing them the benefits of

302
00:13:45.840 --> 00:13:47.399
<v Speaker 2>clean code of collaboration.

303
00:13:47.879 --> 00:13:51.000
<v Speaker 1>And you might be surprised. People start noticing, they start

304
00:13:51.000 --> 00:13:52.799
<v Speaker 1>emulating those behaviors totally.

305
00:13:52.840 --> 00:13:55.559
<v Speaker 2>It creates this ripple effect, this culture of excellence.

306
00:13:55.639 --> 00:13:57.759
<v Speaker 1>Be the change you want to see, right, but in

307
00:13:57.799 --> 00:13:59.080
<v Speaker 1>this case, be the clean.

308
00:13:58.879 --> 00:14:02.120
<v Speaker 2>Coder exactly, And you don't have to do everything at once.

309
00:14:02.399 --> 00:14:06.519
<v Speaker 2>Start small, spend an extra fifteen minutes refactoring, write a

310
00:14:06.519 --> 00:14:07.720
<v Speaker 2>better commit message.

311
00:14:08.000 --> 00:14:11.320
<v Speaker 1>Little things add up, especially when they become habits. And

312
00:14:11.399 --> 00:14:14.120
<v Speaker 1>speaking of habits, remember that twenty hours a week for

313
00:14:14.200 --> 00:14:15.080
<v Speaker 1>professional development.

314
00:14:15.159 --> 00:14:16.879
<v Speaker 2>I know it sounds like a lot, but even if

315
00:14:16.879 --> 00:14:19.600
<v Speaker 2>you can do a fraction of that, it makes the

316
00:14:19.639 --> 00:14:20.759
<v Speaker 2>difference in the long run.

317
00:14:20.840 --> 00:14:23.799
<v Speaker 1>It's an investment in yourself, your skills, your future.

318
00:14:24.159 --> 00:14:26.440
<v Speaker 2>And it's not just about the technical stuff. It's about

319
00:14:26.519 --> 00:14:33.559
<v Speaker 2>staying curious. Go to conferences, explore new technologies, expand your horizons.

320
00:14:32.919 --> 00:14:36.759
<v Speaker 1>Embrace that lifelong learner mindset, never stop growing.

321
00:14:37.080 --> 00:14:39.600
<v Speaker 2>But you know what, it's also important to find balance.

322
00:14:39.879 --> 00:14:44.639
<v Speaker 2>Remember John from the Gorilla Art story, sacrificing everything, burning out, Yeah,

323
00:14:44.639 --> 00:14:45.159
<v Speaker 2>that was rough.

324
00:14:45.200 --> 00:14:46.440
<v Speaker 1>We got to take care of ourselves too.

325
00:14:46.440 --> 00:14:50.120
<v Speaker 2>Right, Absolutely, hobbies, family, things that bring you joy. It's

326
00:14:50.159 --> 00:14:52.879
<v Speaker 2>about sustainability. You can't pour from an empty cup.

327
00:14:53.039 --> 00:14:57.399
<v Speaker 1>Set boundaries, prioritize your well being. It's not selfish, it's essential.

328
00:14:57.600 --> 00:15:00.679
<v Speaker 2>And remember Uncle Bob talks about finding joy and like

329
00:15:00.759 --> 00:15:03.159
<v Speaker 2>that story about building the computerized gait.

330
00:15:03.000 --> 00:15:03.480
<v Speaker 3>As a kid.

331
00:15:03.600 --> 00:15:07.200
<v Speaker 1>It reminds you of the magic, the possibilities that initial spark.

332
00:15:07.360 --> 00:15:08.480
<v Speaker 3>Don't lose sight of that.

333
00:15:09.000 --> 00:15:12.000
<v Speaker 2>Experiment, work on side projects, have fun.

334
00:15:12.200 --> 00:15:16.279
<v Speaker 1>It's all about rediscovering that passion, letting it fuel your journey.

335
00:15:17.039 --> 00:15:18.919
<v Speaker 1>So as we wrap up this deep dive into the

336
00:15:18.960 --> 00:15:21.279
<v Speaker 1>Clean Coder, I want to leave you with this thought,

337
00:15:21.600 --> 00:15:25.679
<v Speaker 1>the apprentice to craftsman journey, it's not a destination, it's

338
00:15:25.679 --> 00:15:27.559
<v Speaker 1>a process, a continuous evolution.

339
00:15:27.840 --> 00:15:31.279
<v Speaker 2>Embrace your own path, find mentors who inspire you, and

340
00:15:31.480 --> 00:15:32.559
<v Speaker 2>never stop learning.

341
00:15:32.639 --> 00:15:37.080
<v Speaker 1>Because these principles professionalism, collaboration, craftsmanship, they're not just about

342
00:15:37.080 --> 00:15:39.600
<v Speaker 1>writing better code. They're about building a better.

343
00:15:39.399 --> 00:15:40.720
<v Speaker 3>World, one line at a time.

344
00:15:40.879 --> 00:15:43.679
<v Speaker 1>Beautifully said. And on that note, we'll wrap up this

345
00:15:43.759 --> 00:15:46.519
<v Speaker 1>episode of the Deep Dive. We hope you enjoyed this

346
00:15:46.600 --> 00:15:48.879
<v Speaker 1>journey through the Clean Coder and that you found some

347
00:15:48.960 --> 00:15:51.720
<v Speaker 1>nuggets of wisdom to apply in your own work in life.

348
00:15:51.919 --> 00:15:54.200
<v Speaker 1>Until next time, happy coding, everyone,
