WEBVTT

1
00:00:00.040 --> 00:00:03.560
<v Speaker 1>Welcome in everyone to our deep dive this time into

2
00:00:03.600 --> 00:00:04.599
<v Speaker 1>software craftsmanship.

3
00:00:04.639 --> 00:00:05.360
<v Speaker 2>Oh interesting.

4
00:00:05.679 --> 00:00:07.639
<v Speaker 1>Yeah, and our main source material today is going to

5
00:00:07.639 --> 00:00:11.359
<v Speaker 1>be selections from Sandral Mancuso's book The Software Craftsman, right,

6
00:00:11.599 --> 00:00:14.599
<v Speaker 1>which came out you know, almost ten years ago now,

7
00:00:14.599 --> 00:00:18.760
<v Speaker 1>back in twenty fourteen, wow, but still really relevant today.

8
00:00:19.000 --> 00:00:23.600
<v Speaker 1>And you know it's part manifesto per practical guide. Yeah,

9
00:00:23.640 --> 00:00:28.280
<v Speaker 1>for developers really anyone involved in software projects. And you

10
00:00:28.320 --> 00:00:32.159
<v Speaker 1>know Macuzo himself, he's been in the industry for decades,

11
00:00:32.880 --> 00:00:34.840
<v Speaker 1>all the way back to the nineties, kind of that

12
00:00:34.960 --> 00:00:36.920
<v Speaker 1>you know, wild West days of software.

13
00:00:36.560 --> 00:00:37.759
<v Speaker 2>Development, Wild West days.

14
00:00:37.799 --> 00:00:39.759
<v Speaker 1>I love that and yees. So he's seen it all.

15
00:00:39.799 --> 00:00:42.320
<v Speaker 1>He's seen the rise of agile, he's seen you know,

16
00:00:42.359 --> 00:00:43.880
<v Speaker 1>all these different trends come and go.

17
00:00:44.280 --> 00:00:44.640
<v Speaker 2>Yeah.

18
00:00:45.000 --> 00:00:48.320
<v Speaker 1>And he's not author, he's also a practitioner. He co

19
00:00:48.399 --> 00:00:53.280
<v Speaker 1>founded a software craftsmanship consultancy and the London software craftsmanship community.

20
00:00:53.320 --> 00:00:53.799
<v Speaker 2>That's great.

21
00:00:53.880 --> 00:00:56.799
<v Speaker 1>So he's really you know, putting these ideas into practice. Yeah.

22
00:00:56.840 --> 00:00:58.759
<v Speaker 1>So I'm really excited to dive into this book with

23
00:00:58.840 --> 00:01:00.880
<v Speaker 1>you and yeah, me too, see what we can kind

24
00:01:00.880 --> 00:01:03.679
<v Speaker 1>of extract in terms of the key principles of software

25
00:01:03.719 --> 00:01:08.280
<v Speaker 1>craftsman show and what it really means to be a

26
00:01:08.359 --> 00:01:11.239
<v Speaker 1>software craftsman today in twenty.

27
00:01:10.959 --> 00:01:13.319
<v Speaker 2>Twenty four you know, in the modern world.

28
00:01:13.439 --> 00:01:15.359
<v Speaker 1>In the modern world, Yeah, because I think things have

29
00:01:15.439 --> 00:01:17.120
<v Speaker 1>changed quite a bit even since twenty fourteen.

30
00:01:17.239 --> 00:01:18.159
<v Speaker 2>Yeah, definitely.

31
00:01:18.879 --> 00:01:20.879
<v Speaker 1>So one of the things that really jumped out of

32
00:01:20.920 --> 00:01:27.319
<v Speaker 1>me reading through this was Mancuso's description of the early

33
00:01:27.400 --> 00:01:30.280
<v Speaker 1>days of his career in the nineties, where he talks

34
00:01:30.280 --> 00:01:34.920
<v Speaker 1>about how, you know, back then, seniority was often measured

35
00:01:34.959 --> 00:01:37.959
<v Speaker 1>by how complex and how difficult to understand your code was.

36
00:01:38.079 --> 00:01:39.079
<v Speaker 2>Oh wow, so.

37
00:01:39.040 --> 00:01:42.760
<v Speaker 1>It's almost like, you know, job security through obfuscation. Really

38
00:01:43.159 --> 00:01:45.040
<v Speaker 1>kind of a crazy concept when you think about it,

39
00:01:45.200 --> 00:01:48.239
<v Speaker 1>it's wild, but that was kind of the mentality back then.

40
00:01:48.280 --> 00:01:50.480
<v Speaker 1>And he tells this story about working on this project

41
00:01:51.000 --> 00:01:54.840
<v Speaker 1>where there was this one senior developer who wrote this

42
00:01:55.400 --> 00:01:59.120
<v Speaker 1>incredibly complex piece of code that no one else could understand,

43
00:01:59.680 --> 00:02:01.719
<v Speaker 1>and he was like the hero, you know, because he

44
00:02:01.760 --> 00:02:02.719
<v Speaker 1>was the only one who could fix it.

45
00:02:02.760 --> 00:02:04.239
<v Speaker 2>Oh, so he was the only one who could maintain

46
00:02:04.280 --> 00:02:05.159
<v Speaker 2>it exactly.

47
00:02:05.200 --> 00:02:07.079
<v Speaker 1>He was the only one who could maintain it, and

48
00:02:07.120 --> 00:02:09.639
<v Speaker 1>so he had all this power and everyone kind of

49
00:02:09.639 --> 00:02:13.199
<v Speaker 1>looked up to him. But Mancuso realized that that was

50
00:02:13.240 --> 00:02:16.240
<v Speaker 1>actually a really unsustainable way to build software.

51
00:02:16.319 --> 00:02:18.120
<v Speaker 2>Yeah, I can imagine, because.

52
00:02:18.080 --> 00:02:19.800
<v Speaker 1>What happens when that person leaves or it gets hit

53
00:02:19.840 --> 00:02:22.240
<v Speaker 1>by a bus, Like, look, what do you do? The

54
00:02:22.240 --> 00:02:24.759
<v Speaker 1>whole project falls apart. Yeah, So that was kind of

55
00:02:24.759 --> 00:02:26.919
<v Speaker 1>a turning point for him, I think, in terms of

56
00:02:27.479 --> 00:02:29.360
<v Speaker 1>realizing that there had to be a better way.

57
00:02:29.759 --> 00:02:32.199
<v Speaker 2>So how did he start to see things differently? What

58
00:02:32.280 --> 00:02:33.400
<v Speaker 2>was that turning point?

59
00:02:33.719 --> 00:02:36.360
<v Speaker 1>Well, I think he started to realize that software development

60
00:02:36.439 --> 00:02:39.960
<v Speaker 1>is not just about writing code. It's about building software

61
00:02:40.319 --> 00:02:44.280
<v Speaker 1>that is maintainable and understandable and that could be worked

62
00:02:44.280 --> 00:02:45.560
<v Speaker 1>on by a team of people. Right.

63
00:02:45.560 --> 00:02:47.400
<v Speaker 2>It's a collaborative process exactly.

64
00:02:47.439 --> 00:02:49.840
<v Speaker 1>And it's about, you know, delivering value to the client,

65
00:02:49.960 --> 00:02:52.120
<v Speaker 1>not just impressing your colleagues with your cleverness.

66
00:02:52.159 --> 00:02:53.240
<v Speaker 2>Yeah, that makes a lot of sense.

67
00:02:53.479 --> 00:02:56.840
<v Speaker 1>So it's about shifting the focus from individual ego to

68
00:02:57.319 --> 00:03:00.240
<v Speaker 1>the collective good of the project and ultimately the client. Right.

69
00:03:00.280 --> 00:03:03.000
<v Speaker 2>So it's not about being a hero developer, it's about

70
00:03:03.039 --> 00:03:04.719
<v Speaker 2>being a team player.

71
00:03:05.000 --> 00:03:07.680
<v Speaker 1>Yeah, exactly. I like that, and I think that's really

72
00:03:07.719 --> 00:03:10.840
<v Speaker 1>at the heart of software craftsmanship, is this idea of

73
00:03:10.879 --> 00:03:14.199
<v Speaker 1>being a professional, okay, and taking pride in your work

74
00:03:14.280 --> 00:03:17.520
<v Speaker 1>and really caring about the quality of the software that

75
00:03:17.560 --> 00:03:18.360
<v Speaker 1>you produce.

76
00:03:18.280 --> 00:03:20.879
<v Speaker 2>And seeing yourself as a craftsman as opposed to just

77
00:03:20.919 --> 00:03:23.080
<v Speaker 2>like a code monkey exactly.

78
00:03:23.120 --> 00:03:25.319
<v Speaker 1>And I think that's a really important distinction because I

79
00:03:25.319 --> 00:03:27.759
<v Speaker 1>think for a long time, software development was seen as

80
00:03:27.800 --> 00:03:32.199
<v Speaker 1>this kind of you know, geeky, hobbyist kind of thing.

81
00:03:32.280 --> 00:03:34.400
<v Speaker 2>Yeah, just something that people did in their basement.

82
00:03:34.840 --> 00:03:37.560
<v Speaker 1>Yeah, but I think in recent years there's been a

83
00:03:37.599 --> 00:03:41.879
<v Speaker 1>real shift towards recognizing it as a profession, a true profession, yeah,

84
00:03:41.919 --> 00:03:45.439
<v Speaker 1>with its own set of ethical standards and best practices, right.

85
00:03:45.520 --> 00:03:48.479
<v Speaker 1>And I think software craftsmanship is a big part of

86
00:03:48.479 --> 00:03:49.039
<v Speaker 1>that movement.

87
00:03:49.240 --> 00:03:51.520
<v Speaker 2>Okay, so it's not just about the technical skills, it's

88
00:03:51.560 --> 00:03:54.280
<v Speaker 2>about the mindset, the attitude.

89
00:03:53.639 --> 00:03:56.639
<v Speaker 1>Absolutely, Yeah, It's about how you approach your work and

90
00:03:56.680 --> 00:03:59.319
<v Speaker 1>how you interact with your colleagues and your clients, right.

91
00:03:59.199 --> 00:04:02.199
<v Speaker 2>Like a true prof I like it. So it sounds

92
00:04:02.240 --> 00:04:05.840
<v Speaker 2>like software craftsmanship is really about raising the bar for

93
00:04:05.919 --> 00:04:07.919
<v Speaker 2>the entire software development industry.

94
00:04:08.240 --> 00:04:09.879
<v Speaker 1>Yeah. I think that's a great way to put it.

95
00:04:09.879 --> 00:04:12.560
<v Speaker 1>It's about saying, you know, we're not just hackers, we're

96
00:04:12.599 --> 00:04:16.079
<v Speaker 1>not just code monkeys. We're professionals, and we're going to

97
00:04:16.079 --> 00:04:18.160
<v Speaker 1>take pride in our work. And we're going to build

98
00:04:18.199 --> 00:04:21.160
<v Speaker 1>software that is high quality and that meets the needs

99
00:04:21.160 --> 00:04:21.800
<v Speaker 1>of our clients.

100
00:04:21.839 --> 00:04:23.439
<v Speaker 2>That's a great goal to strive for.

101
00:04:23.720 --> 00:04:26.240
<v Speaker 1>Yeah, and I think it's a really important goal because

102
00:04:26.920 --> 00:04:28.639
<v Speaker 1>you know, software is everywhere these days.

103
00:04:29.079 --> 00:04:29.800
<v Speaker 2>It runs the world.

104
00:04:29.920 --> 00:04:31.720
<v Speaker 1>Yeah, it runs the world. It's in our phones, it's

105
00:04:31.720 --> 00:04:34.680
<v Speaker 1>in our cars, it's in our homes, it's everywhere. Yeah,

106
00:04:34.720 --> 00:04:37.800
<v Speaker 1>and so the quality of that software really matters.

107
00:04:38.160 --> 00:04:39.079
<v Speaker 2>It affects all of us.

108
00:04:39.160 --> 00:04:41.000
<v Speaker 1>Yeah, it affects all of us. It affects our lives,

109
00:04:41.040 --> 00:04:43.360
<v Speaker 1>it affects our safety, affects our privacy.

110
00:04:43.439 --> 00:04:44.000
<v Speaker 2>Absolutely.

111
00:04:44.120 --> 00:04:45.920
<v Speaker 1>So I think it's really important that we as software

112
00:04:45.920 --> 00:04:49.639
<v Speaker 1>developers take that responsibility seriously. I agree, and I think

113
00:04:49.759 --> 00:04:52.439
<v Speaker 1>software craftsmanship is a great framework for doing that.

114
00:04:53.000 --> 00:04:56.399
<v Speaker 2>Okay, So I'm curious about this idea of the agile

115
00:04:56.439 --> 00:04:58.240
<v Speaker 2>hangover that you mentioned earlier.

116
00:04:58.360 --> 00:04:59.959
<v Speaker 1>Right, Yeah, that's a really interesting concept.

117
00:05:00.439 --> 00:05:01.439
<v Speaker 2>What is that exactly?

118
00:05:01.519 --> 00:05:04.600
<v Speaker 1>So Mancuso talks about how a lot of companies adopted

119
00:05:04.639 --> 00:05:08.800
<v Speaker 1>agile methodologies, but maybe you didn't fully embrace the underlying

120
00:05:08.879 --> 00:05:11.720
<v Speaker 1>principles I see of quality and craftsmanship.

121
00:05:11.800 --> 00:05:15.519
<v Speaker 2>So they got the process, but not necessarily the substance exactly.

122
00:05:15.560 --> 00:05:17.720
<v Speaker 1>They were going through the motions of agile, but they

123
00:05:17.720 --> 00:05:19.959
<v Speaker 1>weren't really changing the way they built software.

124
00:05:20.120 --> 00:05:21.079
<v Speaker 2>So what were they missing.

125
00:05:22.000 --> 00:05:25.480
<v Speaker 1>I think they were missing that focus on technical excellence,

126
00:05:26.120 --> 00:05:30.800
<v Speaker 1>on building software that is well designed and maintainable, right,

127
00:05:30.839 --> 00:05:33.000
<v Speaker 1>And I think that's where software craftsmanship comes in. It's

128
00:05:33.000 --> 00:05:34.560
<v Speaker 1>about filling that gap.

129
00:05:34.639 --> 00:05:37.519
<v Speaker 2>So it's not agile versus software craftsmanship. They actually work

130
00:05:37.600 --> 00:05:38.439
<v Speaker 2>together exactly.

131
00:05:38.439 --> 00:05:39.360
<v Speaker 1>They complement each other.

132
00:05:39.439 --> 00:05:39.720
<v Speaker 2>Okay.

133
00:05:39.759 --> 00:05:42.959
<v Speaker 1>Agile focus is on the process on delivering software incrementally

134
00:05:43.160 --> 00:05:47.160
<v Speaker 1>getting feedback from the client, but software craftsmanship focuses on

135
00:05:47.199 --> 00:05:51.000
<v Speaker 1>the craft of building software that is high quality.

136
00:05:51.399 --> 00:05:53.920
<v Speaker 2>So it's like having a great engine in a race car.

137
00:05:54.399 --> 00:05:55.439
<v Speaker 2>You need both to win.

138
00:05:55.600 --> 00:05:56.560
<v Speaker 1>That's a great analogy.

139
00:05:56.639 --> 00:05:58.920
<v Speaker 2>You need the speed and the reliability exactly.

140
00:05:59.000 --> 00:06:01.839
<v Speaker 1>You need both agile to he help you deliver software quickly,

141
00:06:02.240 --> 00:06:06.800
<v Speaker 1>and you need software craftsmanship to help you build software

142
00:06:07.079 --> 00:06:09.240
<v Speaker 1>that is well built and that will last.

143
00:06:09.399 --> 00:06:12.600
<v Speaker 2>So it's about building software that's not just functional but

144
00:06:12.720 --> 00:06:14.279
<v Speaker 2>also beautiful.

145
00:06:14.600 --> 00:06:16.680
<v Speaker 1>I love that. Yeah, I think that's a really important point.

146
00:06:17.000 --> 00:06:19.240
<v Speaker 1>It's not just about making it work, it's about making

147
00:06:19.319 --> 00:06:22.560
<v Speaker 1>it work well, yeah, and making it something that you

148
00:06:22.600 --> 00:06:23.600
<v Speaker 1>can be proud of.

149
00:06:23.839 --> 00:06:27.199
<v Speaker 2>It's about craftsmanship exactly. So how does this all tie

150
00:06:27.240 --> 00:06:32.160
<v Speaker 2>into the Software Craftsmanship Manifesto, Right.

151
00:06:32.199 --> 00:06:34.079
<v Speaker 1>So the Manifesto is kind of like a set of

152
00:06:34.120 --> 00:06:37.519
<v Speaker 1>guiding principles for software craftsmen. Okay, and it lays out

153
00:06:37.560 --> 00:06:40.120
<v Speaker 1>four key values and we're going to dive into those

154
00:06:40.160 --> 00:06:41.560
<v Speaker 1>in just a bit. But before we do that, I

155
00:06:41.600 --> 00:06:43.680
<v Speaker 1>just want to kind of set the stage a little bit, sure,

156
00:06:43.759 --> 00:06:46.000
<v Speaker 1>because I think it's important to understand where these values

157
00:06:46.040 --> 00:06:48.839
<v Speaker 1>are coming from. Okay, And I think you're really coming

158
00:06:48.839 --> 00:06:52.639
<v Speaker 1>from this idea that software development is a craft and

159
00:06:52.680 --> 00:06:55.879
<v Speaker 1>that we as software developers are craftsmen, and that we

160
00:06:55.920 --> 00:06:58.920
<v Speaker 1>should take pride in our work and strive to build

161
00:06:58.920 --> 00:07:01.000
<v Speaker 1>software is high quality.

162
00:07:01.199 --> 00:07:03.959
<v Speaker 2>I like that. So it's about raising the level of

163
00:07:04.000 --> 00:07:07.680
<v Speaker 2>professionalism in the software development industry exactly. I'm on board

164
00:07:07.720 --> 00:07:07.879
<v Speaker 2>of that.

165
00:07:08.120 --> 00:07:10.639
<v Speaker 1>All right. So let's dive into those four key values

166
00:07:10.680 --> 00:07:12.680
<v Speaker 1>of the Software Craftsmanship Manifesto.

167
00:07:13.000 --> 00:07:13.839
<v Speaker 2>Okay, let's do it.

168
00:07:14.199 --> 00:07:17.480
<v Speaker 1>So the first one is not just working software, but

169
00:07:17.839 --> 00:07:19.079
<v Speaker 1>well crafted software.

170
00:07:19.120 --> 00:07:21.160
<v Speaker 2>Okay, well crafted software? What does that mean?

171
00:07:21.240 --> 00:07:25.439
<v Speaker 1>Exactly? So it's about building software that is not just functional,

172
00:07:25.800 --> 00:07:30.279
<v Speaker 1>but also well designed, easy to understand, easy to change,

173
00:07:30.720 --> 00:07:31.160
<v Speaker 1>and build.

174
00:07:31.199 --> 00:07:33.360
<v Speaker 2>A last, so it's not just about getting it to work,

175
00:07:33.399 --> 00:07:34.839
<v Speaker 2>it's about making it work.

176
00:07:34.680 --> 00:07:37.240
<v Speaker 1>Well exactly, and making it something that can be easily

177
00:07:37.279 --> 00:07:38.879
<v Speaker 1>maintained and extended over time.

178
00:07:39.040 --> 00:07:43.639
<v Speaker 2>Right, because software always changes, exactly. Requirements change, technology changes,

179
00:07:43.680 --> 00:07:45.240
<v Speaker 2>everything changes, so.

180
00:07:45.120 --> 00:07:47.720
<v Speaker 1>We need to build software that can adapt to those changes.

181
00:07:47.800 --> 00:07:48.680
<v Speaker 2>That makes a lot of sense.

182
00:07:48.759 --> 00:07:52.000
<v Speaker 1>Yeah, so well crafted software is about building software that

183
00:07:52.279 --> 00:07:55.639
<v Speaker 1>is flexible and resilient that can stand the test of time.

184
00:07:55.720 --> 00:07:56.560
<v Speaker 2>Okay, I like that.

185
00:07:56.959 --> 00:08:00.639
<v Speaker 1>So the second value the manifesto is not just responding

186
00:08:00.680 --> 00:08:02.959
<v Speaker 1>to change, but steadily adding value.

187
00:08:03.079 --> 00:08:05.680
<v Speaker 2>Okay. So it's not just about keeping up with the changes.

188
00:08:05.720 --> 00:08:08.319
<v Speaker 2>It's about making things better exactly.

189
00:08:08.360 --> 00:08:11.680
<v Speaker 1>It's about delivering value to the client with every iteration.

190
00:08:12.079 --> 00:08:14.959
<v Speaker 2>So it's about focusing on the outcomes, not just the

191
00:08:15.000 --> 00:08:16.360
<v Speaker 2>outputs exactly.

192
00:08:16.399 --> 00:08:20.040
<v Speaker 1>And it's about thinking long term about the sustainability of

193
00:08:20.079 --> 00:08:21.639
<v Speaker 1>the software that we're building.

194
00:08:21.839 --> 00:08:25.040
<v Speaker 2>Right because sometimes a quick fix can create more problems

195
00:08:25.079 --> 00:08:25.600
<v Speaker 2>down the road.

196
00:08:25.720 --> 00:08:26.279
<v Speaker 1>Absolutely.

197
00:08:26.399 --> 00:08:28.639
<v Speaker 2>So it's about making sure that every change we make

198
00:08:28.759 --> 00:08:32.080
<v Speaker 2>is actually adding value to the product exactly.

199
00:08:32.320 --> 00:08:34.840
<v Speaker 1>And that's not always easy, No, it's not. Sometimes it's

200
00:08:34.879 --> 00:08:37.240
<v Speaker 1>tempting to just hack something together to get it working.

201
00:08:37.440 --> 00:08:38.799
<v Speaker 2>Yeah, I've been there.

202
00:08:38.679 --> 00:08:42.240
<v Speaker 1>But a software craftsman resists that temptation.

203
00:08:42.440 --> 00:08:44.360
<v Speaker 2>We take the time to do it right exactly.

204
00:08:44.519 --> 00:08:47.360
<v Speaker 1>They invest in quality even if it takes a little longer.

205
00:08:47.200 --> 00:08:48.799
<v Speaker 2>Because they know that it will pay off in the

206
00:08:48.840 --> 00:08:49.360
<v Speaker 2>long run.

207
00:08:49.440 --> 00:08:52.200
<v Speaker 1>Exactly. Okay, I like that. So what's the third value?

208
00:08:52.360 --> 00:08:55.799
<v Speaker 2>So the third value is not just individuals and interactions,

209
00:08:55.879 --> 00:08:57.559
<v Speaker 2>but a community of professionals.

210
00:08:58.879 --> 00:09:00.919
<v Speaker 1>Okay, So it's about working together exactly.

211
00:09:00.919 --> 00:09:04.519
<v Speaker 2>It's about recognizing that software development is not a solitary pursuit.

212
00:09:05.240 --> 00:09:06.279
<v Speaker 2>It's a team sport.

213
00:09:06.600 --> 00:09:08.720
<v Speaker 1>Yeah, it takes a village exactly.

214
00:09:09.039 --> 00:09:11.639
<v Speaker 2>And it's about sharing knowledge and learning from each other

215
00:09:11.679 --> 00:09:14.720
<v Speaker 2>and raising the bar for the entire profession. So it's

216
00:09:14.720 --> 00:09:16.720
<v Speaker 2>about mentorship and collaboration.

217
00:09:16.600 --> 00:09:20.559
<v Speaker 1>Absolutely, And it's about building a community of practice where

218
00:09:20.559 --> 00:09:22.919
<v Speaker 1>we can all support each other and grow together. I

219
00:09:23.039 --> 00:09:25.840
<v Speaker 1>like that. Yeah. So it's not just about you know,

220
00:09:25.960 --> 00:09:28.559
<v Speaker 1>me writing my code in my little silo. It's about

221
00:09:28.600 --> 00:09:30.600
<v Speaker 1>us working together to build something great.

222
00:09:30.840 --> 00:09:33.440
<v Speaker 2>It's about the collective good exactly. Right. So what's the

223
00:09:33.440 --> 00:09:34.799
<v Speaker 2>fourth and final value?

224
00:09:35.039 --> 00:09:39.200
<v Speaker 1>So the fourth value is not just customer collaboration, but

225
00:09:39.320 --> 00:09:40.440
<v Speaker 1>productive partnerships.

226
00:09:40.679 --> 00:09:44.399
<v Speaker 2>Okay. So it's about more than just getting requirements from

227
00:09:44.399 --> 00:09:45.159
<v Speaker 2>the client.

228
00:09:45.000 --> 00:09:48.399
<v Speaker 1>Right, It's about building a relationship with the client based

229
00:09:48.440 --> 00:09:51.919
<v Speaker 1>on trust and respect, and mutual understanding.

230
00:09:51.960 --> 00:09:53.759
<v Speaker 2>So it's about working with the client, not just for

231
00:09:53.799 --> 00:09:55.159
<v Speaker 2>the client exactly.

232
00:09:55.279 --> 00:09:58.279
<v Speaker 1>It's about seeing the client as a partner in the

233
00:09:58.320 --> 00:09:59.480
<v Speaker 1>software development.

234
00:09:59.120 --> 00:10:01.600
<v Speaker 2>Process and under standing their business goals.

235
00:10:01.320 --> 00:10:04.039
<v Speaker 1>Absolutely and working together to find the best solutions.

236
00:10:04.159 --> 00:10:05.879
<v Speaker 2>So it's a much more collaborative approach.

237
00:10:06.039 --> 00:10:06.519
<v Speaker 1>Exactly.

238
00:10:06.600 --> 00:10:07.120
<v Speaker 2>I like that.

239
00:10:07.200 --> 00:10:09.559
<v Speaker 1>Yeah. So those are the four key values of the

240
00:10:09.600 --> 00:10:11.320
<v Speaker 1>Software Craftsmanship Manifesto.

241
00:10:11.639 --> 00:10:15.480
<v Speaker 2>Well crafted software, steadily adding value, a community of professionals,

242
00:10:15.480 --> 00:10:16.759
<v Speaker 2>and productive partnerships.

243
00:10:16.799 --> 00:10:17.240
<v Speaker 1>Exactly.

244
00:10:17.320 --> 00:10:19.320
<v Speaker 2>Those are some great principles to guide our work.

245
00:10:19.720 --> 00:10:22.080
<v Speaker 1>Yeah, I think so, and I think they're really relevant today,

246
00:10:22.519 --> 00:10:25.000
<v Speaker 1>even more so than they were back in twenty fourteen

247
00:10:25.279 --> 00:10:26.559
<v Speaker 1>when the book was first published.

248
00:10:26.600 --> 00:10:29.519
<v Speaker 2>Yeah, I agree. So how do we actually put these

249
00:10:29.559 --> 00:10:32.879
<v Speaker 2>values into practice? What are some of the specific practices

250
00:10:32.919 --> 00:10:34.399
<v Speaker 2>that Mankus advocates for.

251
00:10:34.720 --> 00:10:36.919
<v Speaker 1>Right, Well, that's a great question, and that's what we're

252
00:10:36.960 --> 00:10:38.480
<v Speaker 1>going to dive into in our next segment.

253
00:10:38.559 --> 00:10:40.399
<v Speaker 2>Awesome, I'm looking forward to it me too.

254
00:10:40.919 --> 00:10:43.279
<v Speaker 1>Okay, so we've talked about the technical side. You know,

255
00:10:43.320 --> 00:10:47.000
<v Speaker 1>the practice is the principles, right, But what about that mindset?

256
00:10:47.120 --> 00:10:50.480
<v Speaker 1>What makes a software developer a true craftsman beyond just

257
00:10:50.559 --> 00:10:51.720
<v Speaker 1>writing clean code?

258
00:10:52.600 --> 00:10:55.320
<v Speaker 2>Well, you know, I think it's about approaching your work

259
00:10:55.360 --> 00:10:59.039
<v Speaker 2>with a certain level of intentionality and ownership. You know,

260
00:10:59.120 --> 00:11:02.720
<v Speaker 2>a true software raftsmen sees themselves as a professional, not

261
00:11:02.919 --> 00:11:04.080
<v Speaker 2>just a code monkey.

262
00:11:04.320 --> 00:11:04.519
<v Speaker 1>Right.

263
00:11:05.159 --> 00:11:07.639
<v Speaker 2>They take pride in their work. They strive to constantly

264
00:11:07.679 --> 00:11:08.679
<v Speaker 2>improve their skills.

265
00:11:08.879 --> 00:11:11.480
<v Speaker 1>It's interesting you say that because Mancuso talks about this

266
00:11:11.600 --> 00:11:15.279
<v Speaker 1>idea of owning your career and it's not just about

267
00:11:15.639 --> 00:11:18.279
<v Speaker 1>you know, keeping up with the latest JavaScript frame, right.

268
00:11:18.919 --> 00:11:22.679
<v Speaker 1>It's about taking control of your professional development and constantly

269
00:11:23.240 --> 00:11:25.440
<v Speaker 1>seeking out opportunities to learn and grow.

270
00:11:25.720 --> 00:11:30.039
<v Speaker 2>It's about recognizing that your career is your responsibility, not

271
00:11:30.080 --> 00:11:35.799
<v Speaker 2>your employers. It's about setting your own goals, seeking out mentors,

272
00:11:36.320 --> 00:11:39.200
<v Speaker 2>building a network of peers who can support you along

273
00:11:39.200 --> 00:11:39.559
<v Speaker 2>the way.

274
00:11:40.000 --> 00:11:43.440
<v Speaker 1>And he even shares his own story, right yeah, about

275
00:11:43.480 --> 00:11:45.759
<v Speaker 1>wanting to work in London and how he had to

276
00:11:45.919 --> 00:11:49.440
<v Speaker 1>adapt and teach himself new skills. Wow, to make that happen.

277
00:11:49.480 --> 00:11:52.600
<v Speaker 1>That's impressive and it really highlights I think the importance

278
00:11:52.600 --> 00:11:55.720
<v Speaker 1>of being proactive and taking ownership of your career path.

279
00:11:55.799 --> 00:11:58.879
<v Speaker 2>Absolutely, and that actually ties into another key aspect of

280
00:11:58.919 --> 00:12:02.679
<v Speaker 2>the craftsman's mindset, which is embracing a culture of learning.

281
00:12:03.279 --> 00:12:07.960
<v Speaker 2>It's about being curious, constantly asking questions, and actively seeking

282
00:12:07.960 --> 00:12:08.600
<v Speaker 2>out knowledge.

283
00:12:08.679 --> 00:12:12.120
<v Speaker 1>He talks about you know, blogs, conferences, open source projects,

284
00:12:12.200 --> 00:12:15.440
<v Speaker 1>even just like informal conversations. Yeah, with other developers.

285
00:12:15.559 --> 00:12:16.559
<v Speaker 2>It's all about learning.

286
00:12:16.639 --> 00:12:18.399
<v Speaker 1>It's all part of that that learning process.

287
00:12:18.480 --> 00:12:21.279
<v Speaker 2>Yeah. And you know, it's interesting to think about how

288
00:12:21.320 --> 00:12:23.960
<v Speaker 2>this connects to the bigger picture. You know, by sharing

289
00:12:24.039 --> 00:12:28.039
<v Speaker 2>our knowledge and experiences, we all benefit and the craft

290
00:12:28.120 --> 00:12:31.320
<v Speaker 2>of software development as a whole continues to evolve.

291
00:12:31.440 --> 00:12:34.759
<v Speaker 1>It raises the tide for everyone exactly. One thing that

292
00:12:34.799 --> 00:12:40.440
<v Speaker 1>really struck me was Mancuso's emphasis on finding purpose and

293
00:12:40.519 --> 00:12:44.200
<v Speaker 1>meaning in your work. It's not just about you know,

294
00:12:44.279 --> 00:12:47.039
<v Speaker 1>punching the clock and collecting a paycheck. It's about feeling

295
00:12:47.120 --> 00:12:48.879
<v Speaker 1>like your work has a real impact.

296
00:12:49.000 --> 00:12:52.879
<v Speaker 2>Absolutely, a true craftsman sees their work as more than

297
00:12:52.919 --> 00:12:56.039
<v Speaker 2>just writing code. They understand how their work fits into

298
00:12:56.039 --> 00:12:58.559
<v Speaker 2>the bigger picture, okay, and how it contributes to the

299
00:12:58.559 --> 00:13:00.200
<v Speaker 2>success of the client and the end us.

300
00:13:00.639 --> 00:13:03.720
<v Speaker 1>And he even talks about, you know, having the courage

301
00:13:03.759 --> 00:13:06.480
<v Speaker 1>to say no, oh, yeah, which I think can be

302
00:13:06.559 --> 00:13:07.399
<v Speaker 1>really difficult for.

303
00:13:07.399 --> 00:13:09.240
<v Speaker 2>Developers, especially early in their careers.

304
00:13:09.360 --> 00:13:10.600
<v Speaker 1>Especially early in their careers.

305
00:13:10.639 --> 00:13:12.759
<v Speaker 2>Yeah, yeah, you want to please everyone.

306
00:13:12.440 --> 00:13:14.080
<v Speaker 1>You want to please everyone. You want to take on

307
00:13:14.159 --> 00:13:16.279
<v Speaker 1>every project you want to You want to prove yourself,

308
00:13:16.399 --> 00:13:17.879
<v Speaker 1>prove yourself exactly.

309
00:13:17.679 --> 00:13:20.399
<v Speaker 2>But sometimes saying no is the most professional thing you

310
00:13:20.440 --> 00:13:20.799
<v Speaker 2>can do.

311
00:13:21.159 --> 00:13:22.559
<v Speaker 1>He makes a really good point there.

312
00:13:22.679 --> 00:13:26.159
<v Speaker 2>Yeah, a software craftsman understands that taking on too much

313
00:13:26.240 --> 00:13:31.240
<v Speaker 2>work or agreeing to unrealistic deadlines can ultimately compromise the

314
00:13:31.320 --> 00:13:34.759
<v Speaker 2>quality of the software, right and damage their reputation in

315
00:13:34.799 --> 00:13:35.440
<v Speaker 2>the long run.

316
00:13:35.559 --> 00:13:39.320
<v Speaker 1>So it's about being honest with yourself and your clients, yes,

317
00:13:39.399 --> 00:13:41.799
<v Speaker 1>about what you can realistically achieve.

318
00:13:41.840 --> 00:13:45.440
<v Speaker 2>Exactly, And it's about having the courage to stand up

319
00:13:45.559 --> 00:13:46.759
<v Speaker 2>for what you believe in.

320
00:13:47.480 --> 00:13:50.399
<v Speaker 1>Okay, So all of this sounds great in theory, right,

321
00:13:50.799 --> 00:13:53.600
<v Speaker 1>but how does this whole translate to the real world

322
00:13:53.600 --> 00:13:56.159
<v Speaker 1>of software development? Let's face it, you know, we're not

323
00:13:56.200 --> 00:14:00.080
<v Speaker 1>all working on greenfield projects, yeah, with unlimited budgets.

324
00:13:59.759 --> 00:14:01.799
<v Speaker 2>And right, the real world is messy.

325
00:14:01.960 --> 00:14:04.279
<v Speaker 1>The real world is messy, it is. So how does

326
00:14:04.360 --> 00:14:07.799
<v Speaker 1>software craftsmanship help us deal with the messy realities of

327
00:14:07.919 --> 00:14:12.039
<v Speaker 1>legacy code, tight deadlines and demanding stakeholders.

328
00:14:12.120 --> 00:14:14.440
<v Speaker 2>Well, that's where the rubber meets the road, right, Yeah,

329
00:14:14.480 --> 00:14:17.200
<v Speaker 2>and Mancuso doesn't shy away from these challenges. In fact,

330
00:14:17.240 --> 00:14:21.120
<v Speaker 2>he offers some really practical advice for navigating those choppy waters.

331
00:14:21.320 --> 00:14:24.200
<v Speaker 1>So let's start with legacy code. Okay, I think most

332
00:14:24.200 --> 00:14:26.240
<v Speaker 1>developers have had to deal with that beast at some

333
00:14:26.279 --> 00:14:27.200
<v Speaker 1>point in their careers.

334
00:14:27.279 --> 00:14:28.399
<v Speaker 2>Oh yeah, for sure.

335
00:14:28.840 --> 00:14:32.960
<v Speaker 1>How does software craftsmanship help us approach that challenge?

336
00:14:33.120 --> 00:14:35.960
<v Speaker 2>Well, Mancuso encourages us to see legacy code as an

337
00:14:36.000 --> 00:14:38.600
<v Speaker 2>opportunity for growth, not just a burden.

338
00:14:38.840 --> 00:14:39.240
<v Speaker 1>Okay.

339
00:14:39.399 --> 00:14:41.759
<v Speaker 2>He says working with legacy code can be a great

340
00:14:41.759 --> 00:14:44.840
<v Speaker 2>way to hone your skills in refactoring, testing, design.

341
00:14:44.919 --> 00:14:48.159
<v Speaker 1>He doesn't sugarcoat it, though, No, he doesn't. He acknowledges

342
00:14:48.200 --> 00:14:51.000
<v Speaker 1>that it could be incredibly frustrating, time consuming.

343
00:14:50.720 --> 00:14:54.759
<v Speaker 2>Of course, but he argues that by approaching legacy code

344
00:14:54.759 --> 00:14:58.120
<v Speaker 2>with a craftsman's mindset, we can slowly but surely make

345
00:14:58.159 --> 00:14:58.639
<v Speaker 2>it better.

346
00:14:59.000 --> 00:14:59.320
<v Speaker 1>Okay.

347
00:14:59.360 --> 00:15:03.320
<v Speaker 2>It's about making small, incremental improvements over time, rather than

348
00:15:03.320 --> 00:15:04.559
<v Speaker 2>trying to boil the ocean.

349
00:15:04.639 --> 00:15:07.759
<v Speaker 1>So it's about pragmatism as well. Yes, absolutely, it's not

350
00:15:07.879 --> 00:15:12.240
<v Speaker 1>always about achieving perfect code, but about making things better

351
00:15:12.279 --> 00:15:13.759
<v Speaker 1>within the constraints of the project.

352
00:15:13.960 --> 00:15:17.759
<v Speaker 2>Exactly. You have to balance your desire for clean code

353
00:15:18.240 --> 00:15:21.759
<v Speaker 2>with the practical realities of the project. Sometimes you have

354
00:15:21.799 --> 00:15:25.000
<v Speaker 2>to make compromises, but you should always strive to leave

355
00:15:25.039 --> 00:15:26.600
<v Speaker 2>the code base better than you found it.

356
00:15:27.120 --> 00:15:29.639
<v Speaker 1>He gives the example of working on a startup where

357
00:15:30.519 --> 00:15:35.159
<v Speaker 1>the business needs are constantly changing. In that context, it

358
00:15:35.279 --> 00:15:37.759
<v Speaker 1>might make sense to build a thin slice of functionality

359
00:15:37.840 --> 00:15:41.720
<v Speaker 1>first to get feedback quickly, and then add more robust

360
00:15:41.720 --> 00:15:44.519
<v Speaker 1>testing and structure as the requirement solidify.

361
00:15:44.720 --> 00:15:48.360
<v Speaker 2>Exactly, It's about adapting your approach to fit the context,

362
00:15:48.720 --> 00:15:51.519
<v Speaker 2>and sometimes that means being pragmatic and making trade offs.

363
00:15:51.720 --> 00:15:55.600
<v Speaker 1>Another challenge that Mancusu addresses is the issue of low morale.

364
00:15:55.879 --> 00:15:57.360
<v Speaker 2>Oh yeah, that's a big one.

365
00:15:57.399 --> 00:16:01.320
<v Speaker 1>He uses the term agile hangover to describe the disillusionment

366
00:16:01.360 --> 00:16:04.519
<v Speaker 1>that some companies experience after adopting agile methodologies.

367
00:16:04.799 --> 00:16:07.799
<v Speaker 2>So it's not all sunshine and rainbows with agile, not

368
00:16:07.840 --> 00:16:09.879
<v Speaker 2>always no, So what are some of the causes of

369
00:16:09.919 --> 00:16:10.799
<v Speaker 2>this agile hangover?

370
00:16:10.919 --> 00:16:13.200
<v Speaker 1>Well, he argues that low morale is often a symptom

371
00:16:13.240 --> 00:16:16.559
<v Speaker 1>of a deeper problem. Okay, a lack of autonomy, mastery,

372
00:16:16.679 --> 00:16:17.879
<v Speaker 1>and purpose in the work.

373
00:16:18.000 --> 00:16:18.399
<v Speaker 2>I see.

374
00:16:18.440 --> 00:16:20.159
<v Speaker 1>Developers can feel like cogs in a.

375
00:16:20.120 --> 00:16:22.600
<v Speaker 2>Machine, yeah, just churning out code.

376
00:16:22.399 --> 00:16:24.960
<v Speaker 1>Rather than valued professionals who are making a real.

377
00:16:24.720 --> 00:16:28.559
<v Speaker 2>Contribution, right, they lose that sense of ownership and that

378
00:16:28.600 --> 00:16:30.320
<v Speaker 2>can be really demotivating.

379
00:16:30.799 --> 00:16:33.519
<v Speaker 1>He shares a story about joining a team where the

380
00:16:33.559 --> 00:16:37.799
<v Speaker 1>project was in chaos, deadlines were looming okay, and the

381
00:16:37.879 --> 00:16:40.240
<v Speaker 1>developers were completely demotivated.

382
00:16:40.360 --> 00:16:42.960
<v Speaker 2>That sounds like a nightmare, it does. Yeah, So how

383
00:16:42.960 --> 00:16:44.080
<v Speaker 2>did he turn things around?

384
00:16:44.559 --> 00:16:46.440
<v Speaker 1>Well, what's interesting is that he didn't come in and

385
00:16:46.480 --> 00:16:49.720
<v Speaker 1>try to impose his ideas on the team, okay. Instead,

386
00:16:50.279 --> 00:16:55.080
<v Speaker 1>he focused on building relationships, fostering a culture of collaboration,

387
00:16:55.559 --> 00:16:58.919
<v Speaker 1>and empowering the developers to take ownership of the project.

388
00:16:59.480 --> 00:17:02.840
<v Speaker 2>So he gave them back that sense of ownership.

389
00:17:02.399 --> 00:17:05.480
<v Speaker 1>Exactly, And that seemed to be the key. Right. By

390
00:17:05.680 --> 00:17:09.119
<v Speaker 1>giving the developers more autonomy and a sense of ownership,

391
00:17:09.720 --> 00:17:12.519
<v Speaker 1>their morale improved and they started to care about the

392
00:17:12.599 --> 00:17:14.000
<v Speaker 1>quality of their work against is they.

393
00:17:13.880 --> 00:17:16.559
<v Speaker 2>Felt valued exactly, And that's so important.

394
00:17:16.640 --> 00:17:18.720
<v Speaker 1>And this is where I think software craftsmanship can be

395
00:17:18.759 --> 00:17:20.799
<v Speaker 1>a really powerful antidote to low morale.

396
00:17:21.160 --> 00:17:21.440
<v Speaker 2>Okay.

397
00:17:21.559 --> 00:17:25.160
<v Speaker 1>I see that by focusing on the craft of software development,

398
00:17:25.480 --> 00:17:29.359
<v Speaker 1>fostering a culture of learning, and giving developers a sense

399
00:17:29.359 --> 00:17:32.279
<v Speaker 1>of ownership, right, we can create a work environment where

400
00:17:32.319 --> 00:17:35.039
<v Speaker 1>people are not just coding Okay, they're crafting.

401
00:17:35.440 --> 00:17:36.359
<v Speaker 2>I love that analogy.

402
00:17:36.440 --> 00:17:39.480
<v Speaker 1>It's about taking pride in your work, Yeah, and seeing

403
00:17:39.480 --> 00:17:40.519
<v Speaker 1>yourself as a craftsman.

404
00:17:41.160 --> 00:17:43.680
<v Speaker 2>So this all sounds great, but how do we actually

405
00:17:43.720 --> 00:17:46.319
<v Speaker 2>bring about this kind of change in our own teams

406
00:17:46.359 --> 00:17:50.480
<v Speaker 2>and organizations? Right, especially when you consider that not everyone

407
00:17:50.519 --> 00:17:53.640
<v Speaker 2>is going to be on board with this software craftsmanship

408
00:17:53.680 --> 00:17:54.680
<v Speaker 2>thing right out of the gate.

409
00:17:54.799 --> 00:17:56.759
<v Speaker 1>Yeah, that's the million dollar question, isn't it?

410
00:17:56.759 --> 00:17:57.119
<v Speaker 2>It is?

411
00:17:57.359 --> 00:18:00.960
<v Speaker 1>How do we actually drive change and create a culture

412
00:18:01.039 --> 00:18:03.279
<v Speaker 1>of craftsmanship in our organization?

413
00:18:03.440 --> 00:18:04.079
<v Speaker 2>That's the challenge.

414
00:18:04.119 --> 00:18:07.920
<v Speaker 1>It's definitely not easy, but Mancuso offers some practical advice. Okay,

415
00:18:07.960 --> 00:18:10.000
<v Speaker 1>good on how to approach this challenge.

416
00:18:10.119 --> 00:18:12.119
<v Speaker 2>Well, let's dive into that in our next segment.

417
00:18:12.319 --> 00:18:15.680
<v Speaker 1>So we've talked about, you know, the challenges, the mindset,

418
00:18:15.799 --> 00:18:19.359
<v Speaker 1>the practices, but how do we actually bring about change

419
00:18:19.839 --> 00:18:22.039
<v Speaker 1>within our teams and organizations?

420
00:18:22.160 --> 00:18:24.759
<v Speaker 2>Right? It's one thing to read about these ideas, but

421
00:18:24.920 --> 00:18:28.359
<v Speaker 2>it's another thing entirely to actually implement them exactly.

422
00:18:28.640 --> 00:18:32.279
<v Speaker 1>Yeah, how do we convince our colleagues, our managers, maybe

423
00:18:32.359 --> 00:18:38.039
<v Speaker 1>even ourselves that this software craftsmanship approach is worth pursuing.

424
00:18:38.160 --> 00:18:42.240
<v Speaker 2>Yeah, it's a valid question, and Mancuso acknowledges that. Okay,

425
00:18:42.400 --> 00:18:45.079
<v Speaker 2>you know there will be resistance, right, You won't win

426
00:18:45.200 --> 00:18:48.839
<v Speaker 2>everyone over immediately, of course not. He even breaks down

427
00:18:49.079 --> 00:18:51.079
<v Speaker 2>the types of skeptics to encounter.

428
00:18:51.160 --> 00:18:53.200
<v Speaker 1>All right, let's hear about these skeptics.

429
00:18:52.680 --> 00:18:54.480
<v Speaker 2>Which I found incredibly helpful.

430
00:18:54.720 --> 00:18:55.799
<v Speaker 1>Who are we dealing with here?

431
00:18:56.119 --> 00:18:59.720
<v Speaker 2>So he talks about the uninformed? Okay, these are folks

432
00:18:59.720 --> 00:19:03.839
<v Speaker 2>who simply aren't aware of the benefits of practices like

433
00:19:03.920 --> 00:19:05.599
<v Speaker 2>TDD or pair programming.

434
00:19:05.640 --> 00:19:05.920
<v Speaker 1>Okay.

435
00:19:06.160 --> 00:19:08.880
<v Speaker 2>Then you have the burned who've tried some of these

436
00:19:08.920 --> 00:19:12.440
<v Speaker 2>things in the past but had negative experiences, maybe due

437
00:19:12.480 --> 00:19:15.000
<v Speaker 2>to poor implementation or a lack of support.

438
00:19:15.240 --> 00:19:15.839
<v Speaker 1>I've been there.

439
00:19:16.079 --> 00:19:18.720
<v Speaker 2>And then there's the time crunched who feel like they

440
00:19:18.720 --> 00:19:21.200
<v Speaker 2>don't have time for anything beyond just getting the code

441
00:19:21.240 --> 00:19:21.759
<v Speaker 2>out the door.

442
00:19:22.119 --> 00:19:24.000
<v Speaker 1>We've all worked with that person, and.

443
00:19:24.000 --> 00:19:26.720
<v Speaker 2>Of course we can't forget the cynic Oh.

444
00:19:26.640 --> 00:19:29.480
<v Speaker 1>Yeah, who believes that nothing will ever change right, and

445
00:19:29.519 --> 00:19:32.480
<v Speaker 1>that we're all doomed to a life of spaghetti code

446
00:19:32.480 --> 00:19:33.839
<v Speaker 1>and endless bug fixes.

447
00:19:34.200 --> 00:19:35.359
<v Speaker 2>It's not going to get any better.

448
00:19:35.480 --> 00:19:39.319
<v Speaker 1>He even mentions the Ivory Tower architect, Okay, who's more

449
00:19:39.359 --> 00:19:43.880
<v Speaker 1>interested in abstract designs and buzzwords than the practical realities

450
00:19:43.920 --> 00:19:45.440
<v Speaker 1>of building maintainable software.

451
00:19:45.799 --> 00:19:47.759
<v Speaker 2>Sounds like we've got a whole prast of characters to

452
00:19:47.799 --> 00:19:50.200
<v Speaker 2>contend with here, we do. So how do we approach

453
00:19:50.279 --> 00:19:54.079
<v Speaker 2>these skeptics? Do we just like bombard them with articles

454
00:19:54.160 --> 00:19:57.440
<v Speaker 2>and conference talks about the virtues of software craftsmanship.

455
00:19:57.559 --> 00:20:00.920
<v Speaker 1>Well Mancuso suggests a much more subtle and effective approach.

456
00:20:01.079 --> 00:20:01.480
<v Speaker 2>Okay.

457
00:20:01.759 --> 00:20:06.079
<v Speaker 1>He emphasizes the importance of leading by example. Okay, instead

458
00:20:06.079 --> 00:20:09.720
<v Speaker 1>of just talking about the benefits of TDD, actually do

459
00:20:09.880 --> 00:20:13.119
<v Speaker 1>TDD in your own work, right, Let the results speak

460
00:20:13.160 --> 00:20:18.359
<v Speaker 1>for themselves, don't tell exactly, and be patient. Change takes time,

461
00:20:18.920 --> 00:20:22.759
<v Speaker 1>especially within organizations. Yeah, start small, focus on building trust,

462
00:20:23.160 --> 00:20:25.599
<v Speaker 1>and gradually introduce new practices and ideas.

463
00:20:25.720 --> 00:20:28.240
<v Speaker 2>So it's a marathon, not a sprint, exactly.

464
00:20:28.519 --> 00:20:30.799
<v Speaker 1>Don't try to force it on anyone. And he also

465
00:20:30.880 --> 00:20:33.000
<v Speaker 1>talks about choosing your battles wisely.

466
00:20:33.640 --> 00:20:36.319
<v Speaker 2>Right, Absolutely, you don't have to win every argument.

467
00:20:36.519 --> 00:20:38.160
<v Speaker 1>Yeah, sometimes it's better to just let it go.

468
00:20:38.359 --> 00:20:40.519
<v Speaker 2>Focus your energy on the changes that will have the

469
00:20:40.519 --> 00:20:43.440
<v Speaker 2>biggest impact. Okay, and don't get bogged down in debates

470
00:20:43.480 --> 00:20:46.400
<v Speaker 2>about minor details. Right, Sometimes it's better to pick your

471
00:20:46.400 --> 00:20:50.000
<v Speaker 2>battles and focus on making incremental progress now.

472
00:20:50.000 --> 00:20:53.119
<v Speaker 1>And Kuso also talks about technical leadership, yes, and how

473
00:20:53.119 --> 00:20:56.799
<v Speaker 1>it plays a crucial role in driving change. What are

474
00:20:56.839 --> 00:21:00.200
<v Speaker 1>some of the key takeaways for those in leadership positions

475
00:21:00.359 --> 00:21:03.599
<v Speaker 1>who want to foster a culture of software craftsmanship.

476
00:21:04.079 --> 00:21:06.400
<v Speaker 2>Well, he makes a distinction between being a boss and

477
00:21:06.440 --> 00:21:10.079
<v Speaker 2>being a leader. Okay, a boss might dictate solutions and

478
00:21:10.200 --> 00:21:15.440
<v Speaker 2>micromanage every detail, while a leader focuses on empowering their team. Okay,

479
00:21:15.640 --> 00:21:18.720
<v Speaker 2>it's about guiding the team toward a shared understanding and

480
00:21:18.839 --> 00:21:20.759
<v Speaker 2>enabling them to make their own decisions.

481
00:21:20.839 --> 00:21:23.200
<v Speaker 1>He also stresses the importance of communication right.

482
00:21:23.240 --> 00:21:26.079
<v Speaker 2>Absolutely, It's not enough to be a technical whiz.

483
00:21:26.160 --> 00:21:26.279
<v Speaker 1>Right.

484
00:21:26.480 --> 00:21:28.920
<v Speaker 2>You also need to be able to communicate your ideas

485
00:21:29.079 --> 00:21:32.759
<v Speaker 2>clearly and persuasively to your team, to your stakeholders, even

486
00:21:32.759 --> 00:21:34.759
<v Speaker 2>to those skeptical colleagues we talked about earlier.

487
00:21:34.920 --> 00:21:37.519
<v Speaker 1>So it's about being able to articulate the why.

488
00:21:37.319 --> 00:21:40.759
<v Speaker 2>Behind the what exactly. And he also talks about humility okay,

489
00:21:40.799 --> 00:21:43.200
<v Speaker 2>which I think is often overlooked in technical leadership.

490
00:21:43.319 --> 00:21:43.559
<v Speaker 1>Right.

491
00:21:43.720 --> 00:21:47.319
<v Speaker 2>Humility is crucial. It's about recognizing that you don't have

492
00:21:47.440 --> 00:21:50.680
<v Speaker 2>all the answers and being open to learning from others,

493
00:21:50.759 --> 00:21:53.200
<v Speaker 2>including those who might be less experienced than you.

494
00:21:53.799 --> 00:21:55.920
<v Speaker 1>Now before we wrap up, I want to circle back

495
00:21:55.960 --> 00:21:58.559
<v Speaker 1>to something we touched on earlier, this idea of the

496
00:21:58.640 --> 00:22:02.319
<v Speaker 1>software craftsman as a role model. What does that actually

497
00:22:02.359 --> 00:22:04.160
<v Speaker 1>look like in practice?

498
00:22:04.599 --> 00:22:07.720
<v Speaker 2>Well, it goes beyond just writing clean code. It's about

499
00:22:07.759 --> 00:22:12.039
<v Speaker 2>embodying the values of software craftsmanship in everything you do,

500
00:22:12.599 --> 00:22:14.880
<v Speaker 2>from how you approach your work to how you interact

501
00:22:14.880 --> 00:22:19.000
<v Speaker 2>with your colleagues and clients. It's about integrity, honesty, and

502
00:22:19.079 --> 00:22:22.319
<v Speaker 2>a commitment to excellence. It's about setting a high bar

503
00:22:22.440 --> 00:22:25.000
<v Speaker 2>for yourself and inspiring others to do the same.

504
00:22:25.119 --> 00:22:29.759
<v Speaker 1>Menkuso uses this really powerful phrase. He says, a craftsman

505
00:22:29.839 --> 00:22:33.200
<v Speaker 1>is never missed for the wrong reasons. What does that

506
00:22:33.240 --> 00:22:33.640
<v Speaker 1>mean to you?

507
00:22:34.240 --> 00:22:38.000
<v Speaker 2>It means that true craftsmen leave a positive legacy. Okay,

508
00:22:38.319 --> 00:22:41.319
<v Speaker 2>they are not missed because they were bottlenecks, hoarding knowledge

509
00:22:41.440 --> 00:22:45.400
<v Speaker 2>or creating mountains of technical debt. They are missed because

510
00:22:45.920 --> 00:22:49.039
<v Speaker 2>they made a real difference. They elevated the craft, and

511
00:22:49.079 --> 00:22:51.720
<v Speaker 2>they helped others to grow and develop their skills.

512
00:22:51.839 --> 00:22:53.039
<v Speaker 1>That's a beautiful way to put.

513
00:22:52.960 --> 00:22:54.519
<v Speaker 2>It, and it's something we should all aspire to.

514
00:22:54.799 --> 00:22:56.720
<v Speaker 1>So as we wrap up this deep dive into the

515
00:22:56.720 --> 00:23:00.519
<v Speaker 1>world of software craftsmanship, what are the key to acoways,

516
00:23:00.559 --> 00:23:02.720
<v Speaker 1>you hope our listeners are walking away with.

517
00:23:02.960 --> 00:23:05.240
<v Speaker 2>Well, I hope they're walking away with a deeper understanding

518
00:23:05.279 --> 00:23:08.279
<v Speaker 2>of what software craftsmanship is all about. It's not just

519
00:23:08.319 --> 00:23:12.400
<v Speaker 2>about writing clean code. It's about approaching software development with

520
00:23:12.480 --> 00:23:16.559
<v Speaker 2>a certain level of intentionality, professionalism, and a commitment to

521
00:23:16.680 --> 00:23:17.759
<v Speaker 2>continuous improvement.

522
00:23:17.880 --> 00:23:20.880
<v Speaker 1>It's about elevating software development from a job to a craft,

523
00:23:21.079 --> 00:23:23.880
<v Speaker 1>and it's about realizing that we as developers have a

524
00:23:23.920 --> 00:23:27.000
<v Speaker 1>responsibility to ourselves, to our clients, and to the world

525
00:23:27.119 --> 00:23:30.680
<v Speaker 1>to create software that is not just functional, but also

526
00:23:30.759 --> 00:23:33.640
<v Speaker 1>well crafted, maintainable, and truly valuable.

527
00:23:33.680 --> 00:23:36.079
<v Speaker 2>It's about taking pride in our work and striving to

528
00:23:36.160 --> 00:23:39.559
<v Speaker 2>leave a positive legacy behind. It's about being more than

529
00:23:39.640 --> 00:23:41.440
<v Speaker 2>just coders. It's about being craftsmen.

530
00:23:41.880 --> 00:23:44.359
<v Speaker 1>What a fantastic note to end on. Thank you so

531
00:23:44.440 --> 00:23:47.440
<v Speaker 1>much for joining us on this deep dive into software craftsmanship.

532
00:23:47.960 --> 00:23:50.319
<v Speaker 1>We hope this has inspired you to continue exploring this

533
00:23:50.440 --> 00:23:54.160
<v Speaker 1>fascinating philosophy and to keep honing your craft. And remember,

534
00:23:54.160 --> 00:23:56.160
<v Speaker 1>a craftsman has never missed for the wrong reasons.
