1
00:00:00,040 --> 00:00:02,000
The code you write is technical 
depth. 

2
00:00:02,000 --> 00:00:04,880
By definition, the best code you
can write is the code you don't 

3
00:00:04,880 --> 00:00:07,080
write. 
Sometimes delivering a feature 

4
00:00:07,080 --> 00:00:09,760
is going to buy time, runaway to
the business. 

5
00:00:09,840 --> 00:00:11,720
You pay the salaries, which 
includes yourself, right? 

6
00:00:11,920 --> 00:00:14,400
So you really need to find a 
balance there. 

7
00:00:14,400 --> 00:00:17,040
You can go for all the technical
excellence you want, but if you 

8
00:00:17,040 --> 00:00:19,640
don't deliver the feature that 
is going to make the business 

9
00:00:19,640 --> 00:00:23,360
sell to the users, then yeah, 
it's pointless saying no. 

10
00:00:23,360 --> 00:00:26,280
It's also a sign of seniority. 
It's more about negotiating it. 

11
00:00:26,280 --> 00:00:29,280
What is the benefit of this 
feature if there is another way 

12
00:00:29,480 --> 00:00:32,800
we can tackle? 
If this cycle of creating goes 

13
00:00:32,800 --> 00:00:35,640
faster and faster, then we do 
need to step back and see what 

14
00:00:35,640 --> 00:00:38,600
can we simplify to make 
something that is scalable for 

15
00:00:38,600 --> 00:00:42,360
the future in the end, but also 
digestible for people until we 

16
00:00:42,360 --> 00:00:44,040
get to a point that we don't 
need to do that anymore. 

17
00:00:44,560 --> 00:00:48,080
Joining me today is Alessandro 
Maltone, Senior Software 

18
00:00:48,080 --> 00:00:51,120
Engineer over at Aqua Blue, and 
we discussed one of my favorite 

19
00:00:51,120 --> 00:00:55,080
topics, balancing technical 
excellence with delivery speed 

20
00:00:55,080 --> 00:00:58,160
and business outcomes. 
And this topic is even more 

21
00:00:58,160 --> 00:01:01,440
crucial when we're talking about
startup and scale UPS. 

22
00:01:01,600 --> 00:01:07,480
So enjoy. 
You've been in a lot of 

23
00:01:07,480 --> 00:01:10,840
organisations in, I feel like 
early stages and at a smaller 

24
00:01:10,840 --> 00:01:12,400
scale than I have experience 
with. 

25
00:01:12,800 --> 00:01:16,600
And I'm curious how you view 
technical excellence on the one 

26
00:01:16,600 --> 00:01:18,920
side, but also delivering 
results, working towards 

27
00:01:18,920 --> 00:01:21,160
business outcomes on the other 
hand? 

28
00:01:21,160 --> 00:01:23,720
Very good question. 
Yeah, I think this is actually 

29
00:01:23,720 --> 00:01:27,720
something every engineer should 
should 3-4 and should pay a lot 

30
00:01:27,720 --> 00:01:29,920
of attention. 
I think in the past what I've 

31
00:01:29,920 --> 00:01:33,360
seen it's people focusing either
on one or the other. 

32
00:01:33,480 --> 00:01:37,720
Usually as an engineer, software
engineer, they focus more in the

33
00:01:37,720 --> 00:01:41,720
craftsmanship of the code, 
forgetting about the business 

34
00:01:41,720 --> 00:01:47,040
context. 
So that I believe the the the 

35
00:01:47,040 --> 00:01:50,720
truth in the balance. 
But that also changes based on 

36
00:01:50,720 --> 00:01:52,400
the company you are in and the 
business you are in. 

37
00:01:52,440 --> 00:01:54,960
Like you said, actually Beckett 
with transfer was really a 

38
00:01:54,960 --> 00:01:57,080
really nice journey because I 
joined it when it was 

39
00:01:57,080 --> 00:02:00,080
essentially entering the scale 
up, scale up phase. 

40
00:02:01,320 --> 00:02:03,400
And I believe Aqua blue is in a 
similar stage. 

41
00:02:03,400 --> 00:02:05,040
That's also one of the reasons I
I joined it. 

42
00:02:05,080 --> 00:02:06,440
I really enjoyed that, that 
part. 

43
00:02:07,480 --> 00:02:09,280
And so you know, when you are at
the beginning, especially in a 

44
00:02:09,280 --> 00:02:13,160
start up, maybe you have an idea
that is sort of validated, but 

45
00:02:13,160 --> 00:02:16,280
you didn't still find, you 
didn't find yet the product 

46
00:02:16,280 --> 00:02:19,440
market fit. 
And in that case you really want

47
00:02:19,440 --> 00:02:23,400
to focus on delivering something
fast, maybe not super polished 

48
00:02:23,400 --> 00:02:26,600
to validate first idea. 
And then once you have the 

49
00:02:26,600 --> 00:02:29,640
product that you know users 
want, then you focus on 

50
00:02:29,640 --> 00:02:33,840
craftsmanship and instability. 
This is still a very subjective 

51
00:02:33,840 --> 00:02:36,400
thing then, right? 
Because I can say this is the 

52
00:02:36,400 --> 00:02:39,320
right way architecture wise or 
code pattern wise, but I feel 

53
00:02:39,320 --> 00:02:42,320
like it's still my opinion. 
So even if we go for technical 

54
00:02:42,320 --> 00:02:45,080
excellence, we're going to have 
a a discussion likely if we 

55
00:02:45,080 --> 00:02:47,120
disagree. 
And then if you take that out of

56
00:02:47,120 --> 00:02:49,880
the mix, OK, where is the 
balance between delivering and 

57
00:02:49,880 --> 00:02:53,120
technical excellence? 
There's a lot of discussions now

58
00:02:53,200 --> 00:02:55,360
on what is the right What is the
right way? 

59
00:02:55,400 --> 00:02:56,640
Yeah. 
And it's very hard. 

60
00:02:56,640 --> 00:02:59,720
I, I don't think I have the 
answer, the absolute answer. 

61
00:03:00,200 --> 00:03:02,600
It's a very hard one to, to 
answer. 

62
00:03:02,960 --> 00:03:05,880
But I believe that taking into 
context, this is something I saw

63
00:03:05,880 --> 00:03:09,640
in the past through my career 
just and I did that myself by 

64
00:03:09,640 --> 00:03:12,000
the way, at the beginning, just 
ignoring the context, the 

65
00:03:12,000 --> 00:03:15,480
business context and just going 
full all in on the technical 

66
00:03:15,480 --> 00:03:19,000
excellence. 
There is usually a balance 

67
00:03:19,000 --> 00:03:20,640
between the two. 
Sometimes you want to favor 

68
00:03:20,640 --> 00:03:23,520
speed instead of that doesn't 
mean you're going for an audible

69
00:03:23,520 --> 00:03:25,240
solution. 
It's just a trade off, right? 

70
00:03:25,240 --> 00:03:29,320
You want to go for the good 
enough solution and defining 

71
00:03:29,320 --> 00:03:30,520
good enough. 
It's a hard. 

72
00:03:30,680 --> 00:03:31,760
That's very hard. 
Yeah. 

73
00:03:31,840 --> 00:03:34,560
I feel like people also have 
gotten burned before. 

74
00:03:34,640 --> 00:03:37,400
When you go for speed, let's 
say, and then you're like, OK, 

75
00:03:37,400 --> 00:03:39,960
we have product market fit, let 
me clean up all this technical 

76
00:03:39,960 --> 00:03:42,280
debt that we've realised. 
And then the organization could 

77
00:03:42,280 --> 00:03:45,360
be like, no, no, no, we have to 
strike while the iron is hot. 

78
00:03:45,360 --> 00:03:48,760
We have to keep going, right? 
So then if you compromise on 

79
00:03:48,760 --> 00:03:51,240
things that actually matter, you
might not ever get the chance to

80
00:03:51,240 --> 00:03:54,000
do it. 
So then people kind of put that 

81
00:03:54,000 --> 00:03:56,200
as early as possible. 
I'm not compromising on these 

82
00:03:56,200 --> 00:03:58,720
things because in the past I've 
never gotten the chance to 

83
00:03:58,720 --> 00:04:02,000
straighten that out. 
I think that's quite hard when 

84
00:04:02,000 --> 00:04:04,040
people have gotten third before.
Yeah, yeah. 

85
00:04:04,040 --> 00:04:07,280
But again, if you keep in mind 
the business context, then I 

86
00:04:07,280 --> 00:04:09,520
think you're going to have more 
answers that are going to 

87
00:04:09,520 --> 00:04:12,160
facilitate your decision. 
Think about, for example, I 

88
00:04:12,160 --> 00:04:15,680
started with this at the 
beginning, but again, choosing 

89
00:04:15,680 --> 00:04:19,120
speed over the technical 
excellent excellence part. 

90
00:04:20,040 --> 00:04:22,800
Sometimes the living in a 
feature is going to buy time, 

91
00:04:23,200 --> 00:04:26,120
runaway to the business and you 
know, the business is there 

92
00:04:26,120 --> 00:04:29,200
ultimately to generate revenue, 
which hopefully generates a 

93
00:04:29,200 --> 00:04:30,120
profit. 
Yeah. 

94
00:04:30,120 --> 00:04:32,880
And with all that, you pay the 
salaries which includes 

95
00:04:32,880 --> 00:04:36,240
yourself, right. 
So you really need to find a 

96
00:04:36,240 --> 00:04:39,280
balance there. 
You can go for all the technical

97
00:04:39,280 --> 00:04:42,320
excellence you want, but if you 
don't deliver the feature that 

98
00:04:42,320 --> 00:04:46,920
is going to make the the 
business sell to the users, then

99
00:04:46,920 --> 00:04:50,960
yeah, it's pointless. 
So you really need to watch out 

100
00:04:50,960 --> 00:04:53,120
for that. 
If you're an established company

101
00:04:53,360 --> 00:04:55,400
where you know there is an 
established product and you know

102
00:04:55,400 --> 00:04:58,080
also that for example downtime 
is going to cost you millions 

103
00:04:58,080 --> 00:05:00,680
because the products established
and use it by millions of users,

104
00:05:01,040 --> 00:05:02,560
then it's a different story. 
Then you can focus. 

105
00:05:02,720 --> 00:05:05,400
Yeah, then probably you will 
focus way more on the technical 

106
00:05:05,400 --> 00:05:07,520
excellence. 
Maybe you have a team dedicated 

107
00:05:07,520 --> 00:05:11,640
to exploring new experiment and 
new opportunities etcetera. 

108
00:05:13,280 --> 00:05:15,920
But again you have the business 
context with you. 

109
00:05:16,120 --> 00:05:18,760
So based on that, you can see 
you can make the trade-offs and 

110
00:05:18,760 --> 00:05:22,520
you can make informed decisions.
You as an engineer, you've gone 

111
00:05:22,520 --> 00:05:25,440
from company to company and you 
have this mindset, right? 

112
00:05:25,440 --> 00:05:28,040
I need to balance technical 
incidents and results. 

113
00:05:28,480 --> 00:05:31,480
And I feel like if the team has 
that mindset, then we're good, 

114
00:05:31,480 --> 00:05:33,040
right? 
Because we know we need to 

115
00:05:33,040 --> 00:05:35,200
balance. 
So we're going to have, I think,

116
00:05:36,360 --> 00:05:38,840
kind of really good outcomes 
with regards to the work that 

117
00:05:38,840 --> 00:05:41,920
we're working on. 
How do you check in with people 

118
00:05:41,920 --> 00:05:44,800
to see if that have that similar
mindset, either through applying

119
00:05:44,800 --> 00:05:47,200
to companies or maybe even from 
a hiring perspective? 

120
00:05:48,600 --> 00:05:51,040
Good question. 
Well, first of all, you can see 

121
00:05:51,040 --> 00:05:54,400
it from the product itself. 
For example, with Aqua Blue, 

122
00:05:54,400 --> 00:05:56,880
when I joined it, I saw the 
product, I saw what the guys 

123
00:05:56,880 --> 00:06:00,360
were doing and I was like, OK. 
And also I talked with people. 

124
00:06:00,600 --> 00:06:04,080
It's really hard to tell, but I 
could sense what was going on. 

125
00:06:04,280 --> 00:06:05,880
It's also the type of the 
company as well. 

126
00:06:05,880 --> 00:06:08,600
I've been in more corporate 
companies where everything, you 

127
00:06:08,600 --> 00:06:11,560
know, it's slowed down by 
bureaucracy and that's 

128
00:06:11,560 --> 00:06:14,120
understandable. 
But again, it's not really my 

129
00:06:14,120 --> 00:06:17,000
style. 
While here you know you can see 

130
00:06:17,000 --> 00:06:18,360
the energy of the people as 
well. 

131
00:06:19,240 --> 00:06:21,520
Excitement. 
Excitement, the love they put 

132
00:06:21,520 --> 00:06:22,440
into the product. 
Yeah. 

133
00:06:22,520 --> 00:06:24,680
Also going fast doesn't mean, 
you know, you necessarily 

134
00:06:24,680 --> 00:06:26,560
compromise on technical 
excellence. 

135
00:06:27,680 --> 00:06:30,920
So all those things, it's really
hard to get it from a couple of 

136
00:06:30,920 --> 00:06:34,720
interviews, but if you put all 
together, then you can get a 

137
00:06:34,720 --> 00:06:35,720
nice idea. 
Usually. 

138
00:06:35,720 --> 00:06:39,040
Also what I try to do is I even 
ask to meet the people myself, 

139
00:06:39,280 --> 00:06:42,600
even if even, you know, after 
clearing the interviews, just to

140
00:06:42,600 --> 00:06:45,200
get an idea. 
Because in the end the agreement

141
00:06:45,200 --> 00:06:47,760
is mutual, right? 
So if you go there and then it's

142
00:06:47,760 --> 00:06:51,240
not a fit, it's going to be bad 
both for you and for the company

143
00:06:51,240 --> 00:06:53,040
as well. 
So we both want to be in the 

144
00:06:53,040 --> 00:06:54,960
same place there, both want to 
be aligned. 

145
00:06:55,240 --> 00:06:57,600
That's really strong that you 
say, OK, I've passed the 

146
00:06:57,600 --> 00:06:59,760
interview. 
I just need to make sure that 

147
00:06:59,760 --> 00:07:01,840
there's a few things in place 
that I want to see, right. 

148
00:07:02,240 --> 00:07:05,040
I feel like especially early 
stage companies, I've not had 

149
00:07:05,040 --> 00:07:08,280
the opportunity to join them. 
Like because I've, I work at a 

150
00:07:08,280 --> 00:07:10,400
consultancy, so I've only been a
consultant. 

151
00:07:10,760 --> 00:07:12,640
I really like being part of an 
organization. 

152
00:07:12,640 --> 00:07:15,400
But yeah, the fact that people 
know I'm external, in the end, I

153
00:07:15,400 --> 00:07:16,760
don't have the same skin in the 
game. 

154
00:07:17,120 --> 00:07:20,400
That also means I can say speed 
is more important or technical 

155
00:07:20,400 --> 00:07:22,760
excellence in this case is more 
important and I don't face the 

156
00:07:22,760 --> 00:07:26,360
consequences as much, which is 
also interesting, right? 

157
00:07:26,360 --> 00:07:28,360
Because my my incentive is 
completely different. 

158
00:07:28,360 --> 00:07:31,640
I come in to do a certain job 
that someone else decided and I 

159
00:07:31,640 --> 00:07:33,240
do that job because I also 
agree. 

160
00:07:33,240 --> 00:07:34,320
Otherwise I wouldn't have 
joined. 

161
00:07:34,720 --> 00:07:36,840
But for people that actually 
joined this team have skin in 

162
00:07:36,840 --> 00:07:39,640
the game, I feel like alignment 
on that front is really 

163
00:07:39,640 --> 00:07:42,280
important and checking out the 
product and checking the mindset

164
00:07:42,280 --> 00:07:44,080
of the team is a huge part of 
that. 

165
00:07:44,560 --> 00:07:47,160
I totally feel you. 
I've been there. 

166
00:07:47,160 --> 00:07:49,840
Actually, my first experience 
was in a small agency, so we 

167
00:07:49,840 --> 00:07:52,760
were doing products for 
different clients and like you 

168
00:07:52,760 --> 00:07:55,560
say, you don't have the skin in 
the game and sometimes you don't

169
00:07:55,560 --> 00:07:58,600
even have the well, I was pretty
junior at the time, so that also

170
00:07:58,600 --> 00:08:01,120
played the role. 
But you don't have even a say 

171
00:08:01,120 --> 00:08:04,880
in, in that, you know, the 
company's establishing that we 

172
00:08:04,880 --> 00:08:07,120
need to deliver this product 
fast in order to move to the 

173
00:08:07,120 --> 00:08:08,920
next one. 
So you don't really have an 

174
00:08:08,920 --> 00:08:11,160
opportunity there. 
Maybe you need to choose just a 

175
00:08:11,160 --> 00:08:13,920
speed and deliver. 
You still try to do your best 

176
00:08:14,280 --> 00:08:18,040
for the given client. 
But yeah, I guess I really like 

177
00:08:18,040 --> 00:08:20,440
to cultivate products. 
That's what I love it. 

178
00:08:20,440 --> 00:08:22,120
When I joined it, we 
transferred, we were working. 

179
00:08:22,200 --> 00:08:26,200
I say always for ourselves, OK, 
Which it's in part true because 

180
00:08:26,200 --> 00:08:29,400
you have your users, right? 
You work for them actually. 

181
00:08:29,760 --> 00:08:32,960
But what I meant is, you know, 
we're not creating a project and

182
00:08:33,159 --> 00:08:35,640
giving it to a client and then 
delivering it and then we start 

183
00:08:35,640 --> 00:08:37,720
on a new one. 
We're actually working on the 

184
00:08:37,720 --> 00:08:40,480
same code base. 
For years we were evolving the 

185
00:08:40,480 --> 00:08:42,520
code, the code base. 
We're planning for that. 

186
00:08:42,880 --> 00:08:45,680
And you are just cultivating 
this product and this is 

187
00:08:45,680 --> 00:08:48,280
something I really enjoy. 
Huge ownership, yeah, yeah. 

188
00:08:48,640 --> 00:08:51,800
I could never imagine me joining
a start up that I fully believe 

189
00:08:51,800 --> 00:08:55,080
in and the product taking off 
and then ever leaving to be 

190
00:08:55,080 --> 00:08:57,040
honest, because of that 
ownership, feeling that 

191
00:08:57,040 --> 00:09:00,920
ownership and responsibility. 
When did you decide, OK, some of

192
00:09:00,920 --> 00:09:04,200
the organisations that you've 
moved on from are no longer from

193
00:09:04,200 --> 00:09:05,880
me? 
Did it have to do with growth? 

194
00:09:05,880 --> 00:09:07,800
Did it have to do with a 
difference in mindset? 

195
00:09:08,160 --> 00:09:12,120
Yeah, I can can have different 
reasons. 

196
00:09:12,640 --> 00:09:16,600
I can see growth being one of 
them often not for me, I would 

197
00:09:16,600 --> 00:09:20,160
say. 
So, for example, Beckett with 

198
00:09:20,160 --> 00:09:22,320
transfer, I don't have any 
problems in this, but the 

199
00:09:22,320 --> 00:09:26,520
direction the company was taking
was not really the one I was 

200
00:09:26,600 --> 00:09:28,840
feeling comfortable with. 
Yeah, I actually realized, 

201
00:09:28,840 --> 00:09:31,280
really heartbroken because I 
really love it working with the 

202
00:09:31,280 --> 00:09:32,920
people there. 
I think it's one of the best 

203
00:09:32,920 --> 00:09:35,400
places I ever worked at so far, 
if not the best. 

204
00:09:35,600 --> 00:09:36,840
You see, I left. 
Yeah. 

205
00:09:36,840 --> 00:09:38,160
Yeah. 
Let's see if a couple can do 

206
00:09:38,160 --> 00:09:40,360
better. 
But for now, yeah. 

207
00:09:40,880 --> 00:09:43,120
It takes guts to leave then 
still if you have such a good. 

208
00:09:43,120 --> 00:09:44,680
Experience, I really had a hard 
time. 

209
00:09:44,680 --> 00:09:48,720
I think it was a combination of 
things because, you know, that's

210
00:09:48,720 --> 00:09:52,000
when Kenyon came in and I really
love bikes, as I said, and I 

211
00:09:52,000 --> 00:09:57,160
really mean, I'm an avid biker. 
So yeah, that kind of made made 

212
00:09:57,160 --> 00:09:58,600
it a bit easier to to do the 
move. 

213
00:09:58,840 --> 00:10:00,880
Yeah. 
But yeah, as I was saying, the 

214
00:10:00,880 --> 00:10:03,160
direction of the company was 
not, and I was talking, I'm 

215
00:10:03,160 --> 00:10:06,120
talking about the company and, 
you know, the product and what 

216
00:10:06,120 --> 00:10:08,600
we were focusing on. 
I was not really happy about 

217
00:10:08,600 --> 00:10:11,000
that. 
I really saw a shift in the last

218
00:10:11,000 --> 00:10:15,040
six months before leaving. 
And then I started to think 

219
00:10:15,040 --> 00:10:18,160
myself, yeah, this is either 
going to have, you know, a 

220
00:10:18,160 --> 00:10:21,720
certain kind of outcome or 
another kind of outcome. 

221
00:10:23,600 --> 00:10:25,480
Yeah, it's all over the news. 
What happened at a couple of 

222
00:10:25,480 --> 00:10:28,960
years ago when they were sold 
and 90% of the people was left 

223
00:10:29,040 --> 00:10:29,720
home. 
Yeah. 

224
00:10:30,480 --> 00:10:32,240
So yeah, I guess I avoided the. 
You were. 

225
00:10:32,440 --> 00:10:35,440
Before then, yeah. 
I wouldn't say, you know, I saw 

226
00:10:35,440 --> 00:10:36,680
that happening. 
No one does. 

227
00:10:36,720 --> 00:10:40,160
No one does, no one does. 
But the direction gave me that 

228
00:10:40,160 --> 00:10:41,360
feeling so. 
Some signals. 

229
00:10:41,360 --> 00:10:43,400
Yeah, that's that's why I left 
eventually. 

230
00:10:43,400 --> 00:10:44,600
And that could be one of the 
reasons. 

231
00:10:44,920 --> 00:10:47,400
That's why I always say keep in 
mind the business context, you 

232
00:10:47,400 --> 00:10:50,840
know, it's for your work, for 
your growth, for your career, 

233
00:10:50,840 --> 00:10:52,760
for everything. 
It's really important to keep 

234
00:10:52,760 --> 00:10:55,360
your eyes open and see how the 
business goes since sometimes we

235
00:10:55,360 --> 00:10:59,800
engineers focus too much on the 
engineering aspect of our job 

236
00:10:59,920 --> 00:11:01,560
and that's where that for that. 
So that's an. 

237
00:11:01,600 --> 00:11:03,920
Engineer, Yeah. 
But at the same time, you really

238
00:11:03,920 --> 00:11:06,680
need to have context about 
everything that's happening 

239
00:11:06,680 --> 00:11:08,680
around you. 
It's interesting to me that 

240
00:11:08,960 --> 00:11:12,200
you've gone from company to 
company and the essence, the 

241
00:11:12,200 --> 00:11:15,120
product of those companies have 
been completely different, which

242
00:11:15,120 --> 00:11:18,560
means that also you, you build 
up the main experience in a 

243
00:11:18,560 --> 00:11:21,000
certain aspect. 
I've seen product people, they 

244
00:11:21,000 --> 00:11:23,640
say I'm an expert in payments. 
All right, I can go from payment

245
00:11:23,640 --> 00:11:26,920
company to payment company no 
problem whatsoever, but I'm 

246
00:11:26,920 --> 00:11:29,360
experienced in payments. 
Yeah, I'm happy you pointed out 

247
00:11:29,720 --> 00:11:33,840
because it's not a coincidence. 
I really believe into the 

248
00:11:33,840 --> 00:11:37,240
generalist approach. 
You know, you have a generalist 

249
00:11:37,320 --> 00:11:39,600
and a specialist. 
Actually, if you look at my 

250
00:11:39,600 --> 00:11:41,560
career, then you're like, yeah, 
but you focus it on Android. 

251
00:11:41,560 --> 00:11:45,400
So you are a specialist. 
But like you said, I move it 

252
00:11:45,400 --> 00:11:49,240
through different kind of 
companies for the agency. 

253
00:11:49,240 --> 00:11:52,000
Then the product focus at the 
one which is Wetransfer, then it

254
00:11:52,000 --> 00:11:54,760
was closer to the hardware which
is was Canyon and it was not a 

255
00:11:54,760 --> 00:11:56,280
tech company. 
So it was actually a completely 

256
00:11:56,280 --> 00:11:59,760
different experience because in 
and we transfer tech was the 

257
00:11:59,760 --> 00:12:02,520
engine of the company and there 
has some consequences. 

258
00:12:02,680 --> 00:12:05,880
Yeah, some pros and cons. 
While at Canyon you know, the 

259
00:12:05,880 --> 00:12:09,120
tech part is more of an 
accessory because the bikes are 

260
00:12:09,120 --> 00:12:10,680
clearly the engine of the 
company. 

261
00:12:11,840 --> 00:12:14,360
And now I move to Aqua Blue, 
which is even closer to the 

262
00:12:14,360 --> 00:12:16,560
hardware. 
And I will say tech, it's 

263
00:12:17,080 --> 00:12:20,040
equally an engine as it is 
hardware. 

264
00:12:20,240 --> 00:12:23,080
Because without that, yeah, the 
machine wouldn't run and they 

265
00:12:23,080 --> 00:12:24,560
wouldn't invest in in this new 
project. 

266
00:12:25,000 --> 00:12:27,000
So it's pretty cool to to see 
that happening. 

267
00:12:27,000 --> 00:12:30,080
And like you say, they expand my
domain. 

268
00:12:30,400 --> 00:12:32,920
And that's something I really 
enjoy because that keeps me 

269
00:12:32,920 --> 00:12:36,320
growing from a technical point 
of view while also giving me 

270
00:12:37,120 --> 00:12:40,520
context about how different 
companies work and how they 

271
00:12:40,520 --> 00:12:42,800
behave. 
When we zoom in on that 

272
00:12:42,800 --> 00:12:45,600
experience of yours where you 
said, OK, this was my fondest 

273
00:12:45,600 --> 00:12:48,800
experience, especially keeping 
in mind balancing technical 

274
00:12:48,800 --> 00:12:52,480
excellence and speed of delivery
with business outcomes, what are

275
00:12:52,480 --> 00:12:55,440
some of the ingredients that 
were in there that made it such 

276
00:12:55,440 --> 00:13:00,800
a a fond experience? 
I would say talented people for 

277
00:13:00,800 --> 00:13:04,280
sure, people who care about what
you are building. 

278
00:13:05,240 --> 00:13:07,360
So those are two of the main 
ingredients. 

279
00:13:08,040 --> 00:13:10,400
One I haven't experienced 
directly, but I believe it's 

280
00:13:10,400 --> 00:13:13,040
also part of of that. 
It's communication, clear 

281
00:13:13,040 --> 00:13:15,480
communication. 
It's unbelievable how often you 

282
00:13:15,480 --> 00:13:17,600
can, you know, agree on 
something with another pencil 

283
00:13:17,640 --> 00:13:20,640
person and you believe you 
agreed on the same thing and 

284
00:13:20,640 --> 00:13:22,120
then actually you implement two 
different things. 

285
00:13:22,800 --> 00:13:24,800
This happened to me literally 3 
weeks ago. 

286
00:13:25,640 --> 00:13:27,880
Yeah. 
So it's that's also really 

287
00:13:27,880 --> 00:13:31,600
important. 
So I would say those are the 

288
00:13:31,600 --> 00:13:35,080
three ingredients. 
And yeah, just careful what you 

289
00:13:35,080 --> 00:13:36,440
do. 
You know, if you, if you love 

290
00:13:36,440 --> 00:13:39,520
what you do, I know it's kind of
a cliche because often it's in, 

291
00:13:39,520 --> 00:13:43,680
but if you love what you do, 
then yeah, you you're going to 

292
00:13:43,680 --> 00:13:46,440
drive on it. 
Ownership for me has always been

293
00:13:46,440 --> 00:13:48,200
a big thing. 
It's just in my upbringing. 

294
00:13:48,760 --> 00:13:52,320
I've also seen other people that
where work is their whole life 

295
00:13:52,360 --> 00:13:54,520
and they really take that high 
level of ownership and 

296
00:13:54,520 --> 00:13:57,480
responsibility and if work 
doesn't go great, it really 

297
00:13:57,480 --> 00:14:00,800
impacts them, impacts them to a 
certain degree that they might 

298
00:14:00,800 --> 00:14:03,520
burn out or they might be very 
jaded towards a similar 

299
00:14:03,520 --> 00:14:06,480
experience. 
But it is the skill that we want

300
00:14:06,480 --> 00:14:09,160
in the people that we work with 
in the environment that we have,

301
00:14:09,480 --> 00:14:11,160
which I think is quite 
interesting, right? 

302
00:14:11,160 --> 00:14:15,120
Ownership has very big pros and 
it can have cons as well that we

303
00:14:15,120 --> 00:14:16,920
need to recognise. 
That's a good point, yeah. 

304
00:14:17,520 --> 00:14:20,800
Maybe ownership also connects to
another one, which is trust. 

305
00:14:21,840 --> 00:14:23,200
You know, that's also very 
important. 

306
00:14:23,200 --> 00:14:27,160
If you have if you can trust the
people you work with, then 

307
00:14:27,160 --> 00:14:29,800
that's also going to be set you 
for success. 

308
00:14:30,040 --> 00:14:31,520
Yeah. 
But in order to trust people, 

309
00:14:31,520 --> 00:14:35,040
you really have to you really 
need to have talented people. 

310
00:14:35,480 --> 00:14:38,840
So yeah, among ingredients, I 
guess, you know, when I say 

311
00:14:38,840 --> 00:14:42,560
talented people, you can link it
to hiding essentially. 

312
00:14:42,560 --> 00:14:44,440
It's really important to hire 
the right people. 

313
00:14:44,440 --> 00:14:49,040
It's very hard as well, but you 
know, they say it takes one bet 

314
00:14:49,040 --> 00:14:51,720
able to pollute the rest of the 
environment. 

315
00:14:51,880 --> 00:14:53,960
Yeah. 
So really be careful that take 

316
00:14:53,960 --> 00:14:57,600
your time if it's needed and 
just try to hire, you know, the 

317
00:14:57,600 --> 00:15:00,680
best people, which doesn't mean 
only the best technical people, 

318
00:15:00,920 --> 00:15:05,560
but also the people that feeds 
the company, the culture and has

319
00:15:05,560 --> 00:15:08,120
the right mindset to approach 
the problem that you're trying 

320
00:15:08,120 --> 00:15:09,080
to solve. 
Yeah. 

321
00:15:09,320 --> 00:15:12,200
I think it's interesting that if
you are in very early stage 

322
00:15:12,200 --> 00:15:15,040
companies, those are the things 
you need to look out for, right?

323
00:15:15,040 --> 00:15:17,960
Are these talented people, but 
also you take pride in ownership

324
00:15:17,960 --> 00:15:19,280
in the product that you're 
building. 

325
00:15:19,680 --> 00:15:22,920
So it's not just you on this 
smaller scale with regards to 

326
00:15:22,920 --> 00:15:24,000
the software that you're 
building. 

327
00:15:24,280 --> 00:15:26,200
You're building software towards
business outcomes and you want 

328
00:15:26,200 --> 00:15:28,600
the whole company to succeed. 
And hopefully you have a good 

329
00:15:28,600 --> 00:15:31,680
deal that when the company 
succeeds, it also it also gives 

330
00:15:31,680 --> 00:15:33,920
something back. 
But that's also part of the 

331
00:15:33,920 --> 00:15:35,960
risk, right? 
It's really fun to go. 

332
00:15:36,160 --> 00:15:39,680
Usually that's why they came up 
with the stock incentives in 

333
00:15:39,680 --> 00:15:41,400
tech, right? 
You then are part of the 

334
00:15:41,720 --> 00:15:43,560
organization to really own a 
stake in it. 

335
00:15:44,360 --> 00:15:47,160
And that means that whatever the
impact you have on the company 

336
00:15:47,160 --> 00:15:48,880
is also going to benefit you 
directly. 

337
00:15:49,560 --> 00:15:51,240
So I think that's, yeah, a good 
approach. 

338
00:15:51,240 --> 00:15:54,160
Then like you said, hopefully 
you have a good package because 

339
00:15:54,160 --> 00:15:57,320
sometimes it can be a small one 
and then you believe the impact 

340
00:15:57,320 --> 00:16:00,840
is going to be also hugely 
beneficial for you and it's not 

341
00:16:00,840 --> 00:16:03,480
the case. 
Yeah, that also comes with 

342
00:16:03,480 --> 00:16:05,480
experience, but it's also hard 
to to judge. 

343
00:16:05,480 --> 00:16:07,600
That's part of the negotiation 
process process whenever you 

344
00:16:07,600 --> 00:16:10,680
join a company. 
And I believe it's, it's quite 

345
00:16:10,680 --> 00:16:14,080
hard, especially in Europe 
because I believe here equity is

346
00:16:14,080 --> 00:16:17,800
not as big of a part of the 
package compared to the US. 

347
00:16:17,960 --> 00:16:20,040
Yeah, maybe because of culture, 
maybe because of. 

348
00:16:20,880 --> 00:16:24,400
I know for sure also because of 
legislation, yeah, sometimes 

349
00:16:24,400 --> 00:16:26,200
it's less favourable here to go 
for that. 

350
00:16:27,160 --> 00:16:30,000
So yeah, something you you need 
to educate yourself as well. 

351
00:16:30,120 --> 00:16:32,600
Yeah, definitely. 
How have you seen companies or 

352
00:16:32,600 --> 00:16:35,520
maybe you've been involved in 
that as well, get really good 

353
00:16:35,520 --> 00:16:37,960
talent in the door? 
Because I'm also wondering, 

354
00:16:38,240 --> 00:16:40,880
there are different aspects of 
the hiring process for software 

355
00:16:40,880 --> 00:16:43,520
engineers specifically, and I'm 
curious how they're going to 

356
00:16:43,520 --> 00:16:45,840
evolve nowadays with the genetic
tooling in the mix. 

357
00:16:46,480 --> 00:16:48,560
Yeah, very good one. 
We are in the middle of it. 

358
00:16:48,560 --> 00:16:51,760
So it's actually quite hard to 
to look at that. 

359
00:16:53,120 --> 00:16:55,080
Back in the days, I would say we
we transfer. 

360
00:16:55,080 --> 00:16:58,680
Well, they'll they're the name 
helped, I believe, because, you 

361
00:16:58,680 --> 00:17:01,120
know, a lot of people wanted to 
work at Wetransfer. 

362
00:17:01,280 --> 00:17:03,400
Yeah. 
The reason it was not only 

363
00:17:03,680 --> 00:17:05,800
technical excellence, but also 
the product we were building. 

364
00:17:05,800 --> 00:17:07,599
We really cared about the 
community around us. 

365
00:17:07,599 --> 00:17:10,800
We were trying to do good on top
of doing a good product. 

366
00:17:11,880 --> 00:17:14,400
And that also attracted certain 
type of people. 

367
00:17:14,400 --> 00:17:16,680
Yeah, people that care. 
Yeah, exactly. 

368
00:17:16,960 --> 00:17:19,599
So that's one way of of doing 
it. 

369
00:17:20,760 --> 00:17:25,319
Then what else? 
We have to be honest, the 

370
00:17:25,480 --> 00:17:27,440
compensation package as well is 
going to play a role. 

371
00:17:27,520 --> 00:17:29,440
If you don't pay enough, it's 
really hard to it's. 

372
00:17:29,440 --> 00:17:33,040
Not going to happen, Yeah. 
The third one is the idea or the

373
00:17:33,040 --> 00:17:35,120
product that you're building, 
you know, if some people is sold

374
00:17:35,120 --> 00:17:38,480
on it, that's also going to 
convince the people to join. 

375
00:17:38,480 --> 00:17:40,960
It can be, you know, for 
example, with me at at Aqua 

376
00:17:40,960 --> 00:17:42,520
Blue. 
On top of everything, I believe 

377
00:17:42,520 --> 00:17:43,520
in the product. 
I really like it. 

378
00:17:43,520 --> 00:17:47,160
It. 
Yeah, those are the ways I would

379
00:17:47,160 --> 00:17:48,800
say. 
And also if you have talented 

380
00:17:48,800 --> 00:17:52,440
people, which is a vicious cycle
in a positive way, but if you 

381
00:17:52,440 --> 00:17:55,760
have talented people in place, 
then you're going to attract the

382
00:17:55,760 --> 00:17:58,680
people who wants to work with 
those people. 

383
00:17:58,720 --> 00:18:01,520
I'm that kind of person as well.
When I hide, for example, I 

384
00:18:01,520 --> 00:18:04,080
always say try to hire people 
that is even smarter than you. 

385
00:18:04,360 --> 00:18:05,760
Some people see that as a 
threat. 

386
00:18:06,240 --> 00:18:09,520
For me, it's not. 
I see them as someone who can 

387
00:18:09,520 --> 00:18:12,000
enrich both me personally and 
the company. 

388
00:18:12,800 --> 00:18:17,320
What are you going to gain by 
hiring someone that is less good

389
00:18:17,360 --> 00:18:19,960
than you? 
Allow me the term, you have to 

390
00:18:19,960 --> 00:18:21,320
hire. 
You have to aim for the 

391
00:18:21,600 --> 00:18:24,200
technical excellence also within
the people, not only within the 

392
00:18:24,200 --> 00:18:26,840
code base or or the technical 
aspect of the product. 

393
00:18:27,960 --> 00:18:32,200
So yeah, that's also a way of 
trying to feel your work 

394
00:18:32,200 --> 00:18:37,040
environment with top talent. 
How have you kind of approach 

395
00:18:37,040 --> 00:18:40,160
the interview process? 
Because for you Android as a 

396
00:18:40,160 --> 00:18:42,160
technical expertise is what you 
take with you. 

397
00:18:42,520 --> 00:18:45,200
Your domains are kind of your 
generalist expertise. 

398
00:18:45,560 --> 00:18:47,800
Do you fall back on the 
technical skills or what do you 

399
00:18:47,800 --> 00:18:49,840
try and highlight of yourself 
throughout the interview 

400
00:18:49,840 --> 00:18:52,000
process? 
You mean as an interviewer, 

401
00:18:52,000 --> 00:18:57,000
right When hiding? 
Yeah, Yeah, good question. 

402
00:18:57,360 --> 00:19:01,720
So first of all, sometimes 
setting up the interview process

403
00:19:01,720 --> 00:19:04,800
doesn't depend entirely on you. 
So for example, if you want to 

404
00:19:04,800 --> 00:19:08,280
have take home assignment, 
sometimes it's not up to you to 

405
00:19:08,280 --> 00:19:10,840
decide if it's allow it or not. 
That that also comes with 

406
00:19:10,840 --> 00:19:13,040
seniority. 
I guess usually what I try to do

407
00:19:13,040 --> 00:19:16,000
is have a sort of technical 
round. 

408
00:19:17,160 --> 00:19:19,400
Well, of course behavioural 
interview that also doesn't 

409
00:19:19,560 --> 00:19:21,480
involve only me but other people
within the company. 

410
00:19:22,480 --> 00:19:24,440
But when it comes to the 
technical round, I really love 

411
00:19:24,440 --> 00:19:29,280
doing what I call a live PR 
reviews because then you can see

412
00:19:29,280 --> 00:19:32,760
how the person give feedback, 
receive feedback, what they're 

413
00:19:32,760 --> 00:19:34,760
looking for within the PR and so
on. 

414
00:19:35,640 --> 00:19:39,400
Then it's that's one of the ways
I really don't do, you know, 

415
00:19:39,480 --> 00:19:42,040
kind of a a lead code and stuff 
like that. 

416
00:19:42,080 --> 00:19:43,560
Yeah, I don't have anything 
against it. 

417
00:19:43,560 --> 00:19:45,640
I know why big companies do it. 
It's fine. 

418
00:19:46,440 --> 00:19:48,520
But I believe again, business 
context, if you have, you know, 

419
00:19:48,520 --> 00:19:51,440
in a nearly start up, you don't 
really need that. 

420
00:19:51,440 --> 00:19:53,800
Or if you're trying to you're in
a big company, but you're trying

421
00:19:53,800 --> 00:19:56,440
to tackle problems that are 
different from the ones that 

422
00:19:56,680 --> 00:20:00,520
leak code allows you to tackle, 
then you focus on on something 

423
00:20:00,520 --> 00:20:02,320
else. 
Yeah, so that's it. 

424
00:20:02,680 --> 00:20:06,600
And then I would say potential 
as well, which is really hard to

425
00:20:06,600 --> 00:20:10,560
to spot, But you know, how open 
and willing, willing it's the 

426
00:20:10,560 --> 00:20:13,800
person to grow and to learn and 
how open is to to different 

427
00:20:13,800 --> 00:20:15,960
technologies. 
That's also something important 

428
00:20:15,960 --> 00:20:18,160
to to keep in mind when when 
hiding. 

429
00:20:18,520 --> 00:20:20,520
And now with the I tooling I 
haven't had the opportunity. 

430
00:20:20,600 --> 00:20:22,080
Yet. 
But what I will say is I will 

431
00:20:22,080 --> 00:20:27,200
observe how they use AI within 
their workflow and what I will 

432
00:20:27,200 --> 00:20:32,240
be interested in it's how they 
can maximize the efficiency 

433
00:20:33,280 --> 00:20:37,120
during their daily job and maybe
even learn from it. 

434
00:20:37,760 --> 00:20:40,560
For sure. 
How is it when you then 

435
00:20:40,680 --> 00:20:43,120
interview for example? 
Because that's what I actually 

436
00:20:43,120 --> 00:20:44,960
wanted to know. 
But I'm also interested in the 

437
00:20:44,960 --> 00:20:47,320
interviewing process. 
How do you prepare? 

438
00:20:47,320 --> 00:20:49,960
Because you want to highlight 
your own skill set and 

439
00:20:49,960 --> 00:20:52,280
expertise? 
You already say lead code is not

440
00:20:52,280 --> 00:20:54,840
my thing. 
Do you shy away from early stage

441
00:20:54,840 --> 00:20:57,040
companies that do that? 
I think that might be a red flag

442
00:20:57,040 --> 00:20:59,400
to be honest. 
But yeah, it is a tactic. 

443
00:20:59,680 --> 00:21:03,400
It is well you have We have to 
be honest here as well. 

444
00:21:03,400 --> 00:21:11,800
If you have the, if you can do 
that, you have the ability to, 

445
00:21:11,800 --> 00:21:14,320
to choose between different 
companies and sure you can, you 

446
00:21:14,320 --> 00:21:16,760
know, filter the ones you don't 
like and you filter also based 

447
00:21:16,760 --> 00:21:20,160
on, on on the process they have 
the hiring process. 

448
00:21:20,160 --> 00:21:22,840
If you have the privilege of 
doing that, then why not? 

449
00:21:23,680 --> 00:21:26,840
I usually don't shy away from 
that because I still see it as a

450
00:21:26,840 --> 00:21:27,880
challenge. 
So it's fine. 

451
00:21:29,480 --> 00:21:33,480
But as you pointed out, maybe 
there is a misalignment cultural

452
00:21:33,760 --> 00:21:35,800
wise. 
So then I will try to keep that 

453
00:21:35,800 --> 00:21:37,280
in mind. 
And again depends also on the 

454
00:21:37,520 --> 00:21:38,920
problem we are trying to solve, 
right. 

455
00:21:38,920 --> 00:21:41,680
If you are in a Fintech, I don't
know, I can imagine you are 

456
00:21:41,680 --> 00:21:44,800
heavily on algorithmic stuff 
because you are solving problems

457
00:21:44,800 --> 00:21:47,520
that tackle that. 
So then yeah, I can totally see 

458
00:21:47,520 --> 00:21:50,600
that's happening. 
If you are in a product start up

459
00:21:51,000 --> 00:21:55,720
where the product is focused on 
the creative industry and so 

460
00:21:55,720 --> 00:21:59,320
it's more about UI design 
etcetera, then I will focus more

461
00:21:59,320 --> 00:22:01,520
on those skills. 
If you are on the hardware side,

462
00:22:02,040 --> 00:22:04,040
maybe you are, you know more 
interested in senior 

463
00:22:04,040 --> 00:22:06,360
communication, Bluetooth 
communication, low level stuff. 

464
00:22:07,480 --> 00:22:10,520
So yeah, I will also judge the 
companies based on how they do 

465
00:22:10,520 --> 00:22:13,440
hiding compared to what they're 
trying to build. 

466
00:22:13,520 --> 00:22:16,800
Yeah, yeah, makes sense. 
With agentic tooling now in the 

467
00:22:16,800 --> 00:22:20,840
mix, I feel like things like 
technical debt can either be 

468
00:22:20,840 --> 00:22:23,520
solved on the spot or maybe 
retroactively once we have 

469
00:22:23,520 --> 00:22:27,640
product market fit can be solved
way quicker than actually having

470
00:22:27,640 --> 00:22:31,080
to prioritise something, having 
to have dedicated time, a week 

471
00:22:31,080 --> 00:22:33,040
of only technical debt. 
I don't think it's going to be 

472
00:22:33,040 --> 00:22:37,120
there much more in the future 
anymore, but companies still 

473
00:22:37,120 --> 00:22:40,600
need to enable their engineers 
with tooling, with the right 

474
00:22:40,600 --> 00:22:43,000
amount of tokens, with the right
amount of flexibility to also 

475
00:22:43,000 --> 00:22:45,600
use the tools. 
And there I feel like startups 

476
00:22:45,600 --> 00:22:49,960
and scale UPS really have an 
edge because there's a lot less 

477
00:22:49,960 --> 00:22:52,160
engineers and they have a lot 
more power over product 

478
00:22:52,160 --> 00:22:54,520
direction, especially if it's a 
technical company. 

479
00:22:55,080 --> 00:22:57,760
Is also that how you've 
experienced it so far? 

480
00:22:59,360 --> 00:23:01,800
Let me challenge you there. 
I, I, I see where you're coming 

481
00:23:01,800 --> 00:23:05,640
from and I actually agree. 
I see it myself during my work. 

482
00:23:06,520 --> 00:23:09,960
So I usually try to not 
compromise on technical depth. 

483
00:23:10,200 --> 00:23:13,080
And now sounds like I'm 
contradicting myself because 

484
00:23:13,080 --> 00:23:14,760
initially I said, you know, 
you're going to have contacts 

485
00:23:14,760 --> 00:23:17,480
and make trade off. 
What I mean there, Usually it's 

486
00:23:18,280 --> 00:23:23,040
I try to negotiate on the 
features we are trying to build.

487
00:23:23,520 --> 00:23:25,960
That's also very important in my
opinion, saying no, it's also a 

488
00:23:25,960 --> 00:23:29,360
sign of seniority. 
And by saying no doesn't mean 

489
00:23:29,360 --> 00:23:30,840
that, you know, you're going a 
meeting where you're planning a 

490
00:23:30,840 --> 00:23:32,960
new feature. 
They ask you, let's build this 

491
00:23:32,960 --> 00:23:35,240
feature and you're like, no, no,
I don't want to build it. 

492
00:23:35,240 --> 00:23:39,800
I don't want to build it. 
It's more about negotiating it. 

493
00:23:39,800 --> 00:23:42,680
So, you know, questioning what 
is the benefit of this feature, 

494
00:23:42,680 --> 00:23:44,800
if there is another way we can 
tackle that. 

495
00:23:44,840 --> 00:23:48,360
Actually, I joined the, I, I 
mentioned that I joined the blue

496
00:23:49,160 --> 00:23:51,480
and we had a very tough title 
deadline. 

497
00:23:51,560 --> 00:23:55,480
The first thing I did was set up
a meeting where we went over, 

498
00:23:55,480 --> 00:23:56,840
you know what we wanted to 
build. 

499
00:23:57,040 --> 00:23:58,520
And I was like, OK, this is a 
no. 

500
00:23:59,400 --> 00:24:02,880
This is not like this is a no, 
but this is not going to happen.

501
00:24:02,880 --> 00:24:04,400
It's not going to work. 
No, it's not going to work. 

502
00:24:04,400 --> 00:24:06,000
And then they were like, yeah, 
OK, what can we do? 

503
00:24:06,000 --> 00:24:09,120
You know, especially with 
seniority, I guess you gain also

504
00:24:09,120 --> 00:24:11,800
authority. 
So then easier to, it's easier 

505
00:24:11,800 --> 00:24:15,960
to negotiate, but I think you 
still have to earn this and, and

506
00:24:15,960 --> 00:24:18,520
show this up. 
So then I was like, yeah, you 

507
00:24:18,520 --> 00:24:23,200
know, the what you're trying to 
build makes sense, but there are

508
00:24:23,200 --> 00:24:26,400
a few things we can do here in 
order to make sure that we're 

509
00:24:26,400 --> 00:24:29,480
more more predictable. 
And thus I have more chances or 

510
00:24:29,480 --> 00:24:31,760
actually I can make the 
deadline. 

511
00:24:31,760 --> 00:24:33,840
No, I have more chances, I can 
make the deadline. 

512
00:24:34,760 --> 00:24:37,080
And so we started to, you know, 
negotiate on the UI, for 

513
00:24:37,080 --> 00:24:40,400
example, some components. 
I tried to suggest how to 

514
00:24:40,400 --> 00:24:44,160
simplify existing ones, and they
were also super happy with it 

515
00:24:44,160 --> 00:24:47,400
because, you know, people 
usually have a lot of fear in 

516
00:24:47,400 --> 00:24:49,640
saying no or even negotiating, 
asking questions. 

517
00:24:50,440 --> 00:24:53,960
But what I try to think in those
cases is the other way around. 

518
00:24:53,960 --> 00:24:57,000
Let's say I say yes, and then I 
don't make the deadline. 

519
00:24:57,520 --> 00:24:59,680
No one is going, yeah, not only 
for me, but no one is going to 

520
00:24:59,680 --> 00:25:01,640
be happy. 
Yeah, not the other 

521
00:25:01,640 --> 00:25:04,040
stakeholders, not myself because
I will be, you know, 

522
00:25:04,040 --> 00:25:06,640
disappointed about myself. 
The product is not going to 

523
00:25:06,640 --> 00:25:08,440
launch. 
So it's also a problem for the 

524
00:25:08,440 --> 00:25:10,440
company. 
It's a problem for all of us. 

525
00:25:10,760 --> 00:25:14,400
So instead you go there and you 
say, hey, I think this is overly

526
00:25:14,400 --> 00:25:17,480
ambitious, but there is a 
compromise in the middle. 

527
00:25:17,480 --> 00:25:20,120
I can suggest a few tweaks. 
You can tell me also what is 

528
00:25:20,120 --> 00:25:22,480
negotiable and what's not. 
And then we can take it from 

529
00:25:22,480 --> 00:25:23,880
there. 
And I think that's a very 

530
00:25:23,880 --> 00:25:27,720
important skill we can build. 
And now I drifted a bit about 

531
00:25:27,720 --> 00:25:33,040
your original question, but to 
ask for that, I was saying yes, 

532
00:25:33,040 --> 00:25:39,360
I see it happening in my daily 
work in the sense that usually 

533
00:25:39,360 --> 00:25:43,640
what I do, it's also negotiate 
on those aspects we really 

534
00:25:43,640 --> 00:25:47,120
mentioned in order to buy time 
for myself to not have to 

535
00:25:47,120 --> 00:25:50,080
compromise on the technical 
excellence or not too much. 

536
00:25:50,400 --> 00:25:52,520
So that also means, you know, 
covering everything with test 

537
00:25:52,520 --> 00:25:56,080
and making sure that the code is
it's properly covered indeed. 

538
00:25:56,080 --> 00:26:01,040
And tested with AI2, I am able 
to deliver faster. 

539
00:26:01,200 --> 00:26:04,080
So that's pretty nice. 
But I believe technical depth is

540
00:26:04,080 --> 00:26:06,720
still there because delivering 
faster also means I can produce 

541
00:26:06,720 --> 00:26:07,800
way more code. 
Yeah. 

542
00:26:08,040 --> 00:26:10,440
And so, you know you're going to
end up with technical. 

543
00:26:11,480 --> 00:26:13,360
The code you write is technical 
depth. 

544
00:26:13,400 --> 00:26:17,040
By definition, the best code you
can write is the code you don't 

545
00:26:17,040 --> 00:26:18,680
write. 
That's a famous quote out there.

546
00:26:19,640 --> 00:26:22,440
It's a bit. 
You need to, of course, write 

547
00:26:22,440 --> 00:26:24,440
code in order to build a 
product. 

548
00:26:24,480 --> 00:26:27,440
Yeah. 
But what I'm trying to say is, 

549
00:26:27,800 --> 00:26:31,920
yes, it's easier to put guide 
trails, I guess, nowadays. 

550
00:26:31,920 --> 00:26:34,240
But first of all, you need to 
have the skills in order to do 

551
00:26:34,240 --> 00:26:37,960
that because you can tell that I
write unit test and then I don't

552
00:26:38,000 --> 00:26:39,960
know if I'm doing something 
wrong, but I'm actually doing 

553
00:26:39,960 --> 00:26:43,600
that often nowadays. 
And the unit test they, they do,

554
00:26:43,600 --> 00:26:49,240
it's often, you know, meh. 
I even have styles and agents 

555
00:26:49,240 --> 00:26:51,640
around my code base. 
So it's customized for that. 

556
00:26:52,320 --> 00:26:57,840
It gets it right, especially if 
I use a quite definite prompt. 

557
00:26:59,520 --> 00:27:03,800
But it happened to me literally 
this morning when I was writing 

558
00:27:03,800 --> 00:27:05,120
some unit tests. 
And then I was like, OK, I'm 

559
00:27:05,120 --> 00:27:08,400
going to speed up this one by 
asking the I to generate it. 

560
00:27:09,120 --> 00:27:12,720
And it literally created 2 unit 
tests that they made no sense. 

561
00:27:12,720 --> 00:27:14,040
No sense. 
They were literally creating a 

562
00:27:14,040 --> 00:27:15,800
class and they were defined. 
It was not null. 

563
00:27:17,640 --> 00:27:20,840
Fair, Yeah. 
And there was no value in that. 

564
00:27:20,840 --> 00:27:23,720
And luckily I also have an agent
for reviewing the code. 

565
00:27:23,720 --> 00:27:26,640
And that one, well, I first of 
all, I quote it myself because I

566
00:27:26,680 --> 00:27:29,360
reviewed the code, but then the 
agent also validated it because 

567
00:27:29,360 --> 00:27:32,560
he said, hey, this test doesn't 
have any value, so delete it. 

568
00:27:32,680 --> 00:27:35,800
Yeah. 
If you do not have that and you 

569
00:27:35,800 --> 00:27:38,800
did not review the code like I 
did, you would be creating 

570
00:27:38,800 --> 00:27:40,760
technical depth. 
Yeah, even having AI. 

571
00:27:41,320 --> 00:27:44,800
So then, yeah, I believe 
nowadays you do have a technical

572
00:27:44,800 --> 00:27:49,680
advantage as a start up, but you
still need to have people that 

573
00:27:49,680 --> 00:27:53,480
is skilled enough to judge 
what's going on and to control 

574
00:27:53,560 --> 00:27:59,000
this amazing rocket ship 
sometimes can drift away and do 

575
00:27:59,120 --> 00:28:02,520
very bad damages. 
Yeah, it's it's an accelerator 

576
00:28:02,520 --> 00:28:04,960
in a very interesting way 
because it doesn't just 

577
00:28:04,960 --> 00:28:07,680
accelerate you, but it would do 
something that you would never 

578
00:28:07,680 --> 00:28:10,120
do, which is then indeed 
technical debt. 

579
00:28:10,120 --> 00:28:11,720
If it's not relevant, then it's 
not relevant. 

580
00:28:11,720 --> 00:28:14,280
Then we do have to clean it up. 
I agree with that. 

581
00:28:14,760 --> 00:28:18,160
For me, there are some things 
that you should never compromise

582
00:28:18,160 --> 00:28:21,680
on and especially with AI 
tooling, genetic tooling now in 

583
00:28:21,680 --> 00:28:26,160
the mix, things like the unit 
tests or integration tests, a 

584
00:28:26,160 --> 00:28:30,120
big test suite basically that 
you can be confident to go live 

585
00:28:30,120 --> 00:28:32,400
with, to production with is 
something we should never 

586
00:28:32,400 --> 00:28:34,400
compromise on. 
You should never compromise on 

587
00:28:34,400 --> 00:28:38,120
that part of your technical 
excellence to go live faster 

588
00:28:38,440 --> 00:28:41,360
unless it is something that you 
just want to test in production 

589
00:28:41,360 --> 00:28:43,600
specifically, right? 
Because then me going through 

590
00:28:43,600 --> 00:28:47,200
the whole testing and even then 
with a genetic tooling is quite 

591
00:28:47,200 --> 00:28:49,080
quick. 
So why compromise on the? 

592
00:28:49,080 --> 00:28:53,200
First, I will say, unless also I
will add another case, you are 

593
00:28:53,200 --> 00:28:55,760
in Code Red like I said, they 
say and so you know, your 

594
00:28:55,760 --> 00:28:57,880
company's in survival mode and 
you really need to ship 

595
00:28:57,880 --> 00:28:59,920
something out there very 
quickly. 

596
00:29:00,440 --> 00:29:02,920
But I fully agree with you, 
nowadays is even if you want to 

597
00:29:02,920 --> 00:29:08,320
put basic cut rates it's yeah 
it's non trivial with AI so you 

598
00:29:08,320 --> 00:29:10,480
should do it. 
Even in code Red, don't you 

599
00:29:10,480 --> 00:29:13,960
think it's more risky to be like
we go live with this without 

600
00:29:13,960 --> 00:29:17,120
tests or integration tests I. 
Fully yes, I agree with you, but

601
00:29:17,120 --> 00:29:18,400
again, keep the business 
contacts. 

602
00:29:18,400 --> 00:29:21,040
So I don't know how red is the 
code. 

603
00:29:21,400 --> 00:29:23,560
It is extremely red there's. 
A shade of red. 

604
00:29:23,600 --> 00:29:25,840
Yeah, fair. 
But I agree with you, it's even,

605
00:29:25,840 --> 00:29:28,320
you know, with the deadline I 
had, I was actually impressed by

606
00:29:28,320 --> 00:29:30,360
myself or by AI or both. 
I don't know. 

607
00:29:31,440 --> 00:29:33,200
But you're still the 
orchestrator. 

608
00:29:33,240 --> 00:29:33,960
You have to. 
Own that. 

609
00:29:34,000 --> 00:29:36,160
Yeah. 
Yeah, I still decided to. 

610
00:29:36,160 --> 00:29:38,600
Cover all the tests, all the 
code we test. 

611
00:29:38,600 --> 00:29:42,240
But yeah, I was really impressed
because eventually I ended up 

612
00:29:42,240 --> 00:29:48,080
with a decently covered the code
base integration tests where I 

613
00:29:48,080 --> 00:29:51,480
would say yeah, more than decent
unit tests were totally covered.

614
00:29:51,480 --> 00:29:52,760
So really happy with it. 
Yeah. 

615
00:29:53,000 --> 00:29:56,280
So again, yes, I agree with you,
you should be able to. 

616
00:29:56,480 --> 00:29:59,080
But for example, here is a 
catch. 

617
00:29:59,080 --> 00:30:01,880
If I went for the original plan 
saying just yes because I'm 

618
00:30:01,880 --> 00:30:05,200
afraid of saying of negotiating 
or saying no or just because I 

619
00:30:05,200 --> 00:30:08,720
didn't I misjudged it. 
You know the amount of work then

620
00:30:08,720 --> 00:30:11,240
I can tell you probably I would 
I wouldn't have been able to 

621
00:30:11,240 --> 00:30:14,560
write at least all the tests 
doesn't mean no test, but maybe 

622
00:30:14,560 --> 00:30:17,240
some parts of the code base will
be uncovered. 

623
00:30:17,240 --> 00:30:21,520
It is very. 
Strong to say no, but it's the 

624
00:30:21,520 --> 00:30:25,160
way you say no, right? 
You say no and you go in an 

625
00:30:25,160 --> 00:30:28,400
equal level of dialogue and you 
say we both want this outcome, 

626
00:30:28,400 --> 00:30:31,280
we both want the best. 
This is just not possible. 

627
00:30:31,280 --> 00:30:33,920
So let's figure out how we can 
still do this, how we can still 

628
00:30:33,920 --> 00:30:36,200
make this happen if you will say
no. 

629
00:30:36,320 --> 00:30:39,120
And that's where it ends. 
Or then you're gonna bump. 

630
00:30:39,120 --> 00:30:40,760
Yeah, yeah, exactly. 
Like then it's like. 

631
00:30:40,760 --> 00:30:43,360
What do you mean? 
No, and how dare you and why are

632
00:30:43,360 --> 00:30:45,080
you here and there are 
different. 

633
00:30:45,480 --> 00:30:47,240
Exactly. 
And there are also different 

634
00:30:47,760 --> 00:30:49,760
scenarios, right? 
What I saw in the past, and I 

635
00:30:49,760 --> 00:30:53,880
think I was guilty at some point
as well, although not much was. 

636
00:30:53,880 --> 00:30:57,680
I worked with engineers where 
they were extremely unflexible 

637
00:30:57,680 --> 00:31:01,160
on technical excellence, you 
know, which meant, yeah, we need

638
00:31:01,160 --> 00:31:04,360
to ship this feature. 
We really need to do it within 

639
00:31:04,360 --> 00:31:06,280
one or two months. 
And they were like, no, I need 

640
00:31:06,280 --> 00:31:09,200
to cover, you know, everything 
and write it in a certain way. 

641
00:31:09,200 --> 00:31:11,920
So it's no more than six. 
It's no less than six months. 

642
00:31:11,960 --> 00:31:14,400
Yeah. 
And there it's when I say also, 

643
00:31:14,400 --> 00:31:17,520
you know, negotiating, it's 
important because we both want 

644
00:31:17,520 --> 00:31:19,680
the same thing in the end. 
Also, the person coming to you 

645
00:31:19,680 --> 00:31:23,520
and asking, you know, we need to
develop this in a certain time 

646
00:31:23,520 --> 00:31:25,320
frame. 
There must be a reason behind 

647
00:31:25,320 --> 00:31:26,040
it. 
You can ask. 

648
00:31:26,280 --> 00:31:28,600
So it's a simple asset. 
And then you can also negotiate.

649
00:31:28,600 --> 00:31:31,800
If you understand the business 
context, you can even question 

650
00:31:31,800 --> 00:31:34,280
some choices. 
This is also something I did 

651
00:31:34,280 --> 00:31:36,120
recently and it's also a way of 
negotiating. 

652
00:31:36,440 --> 00:31:39,920
So I told you, we're building 
this new machine and we really 

653
00:31:39,920 --> 00:31:43,360
have machines out there. 
They're not Android based, but 

654
00:31:43,360 --> 00:31:45,840
there is stuff we can reuse from
them and we want to reuse from 

655
00:31:45,840 --> 00:31:47,920
them because they are 
successful. 

656
00:31:47,920 --> 00:31:50,720
So that makes sense. 
But then I started, you know, to

657
00:31:50,720 --> 00:31:54,040
go through them to get an idea 
of what we're going to build in 

658
00:31:54,040 --> 00:31:57,880
the new one. 
And then I saw some things and I

659
00:31:57,880 --> 00:32:00,080
was like, this doesn't really 
make sense to me. 

660
00:32:00,240 --> 00:32:02,440
I'm pretty sure there is a 
reason behind it, but in the new

661
00:32:02,440 --> 00:32:03,800
system doesn't really make sense
to me. 

662
00:32:04,200 --> 00:32:06,280
So then again, I wrote 
everything down. 

663
00:32:06,280 --> 00:32:09,880
I made a plan, I mapped all the 
flows that I needed to map. 

664
00:32:10,440 --> 00:32:13,240
And then I set up a meeting and 
I asked it, OK, why do we have, 

665
00:32:13,240 --> 00:32:16,280
I think I ended up with like 10 
flows more or less with 

666
00:32:16,280 --> 00:32:20,240
different features or settings. 
And then I went there and 1 by 1

667
00:32:20,240 --> 00:32:24,720
I asked why do we need this or 
what is the consequence of this?

668
00:32:25,280 --> 00:32:29,040
And at the end of the 
conversation, I believe we drop 

669
00:32:29,040 --> 00:32:31,000
it too. 
OK, so that's 20%. 

670
00:32:31,000 --> 00:32:31,600
Yeah. 
Yeah. 

671
00:32:31,880 --> 00:32:34,360
And you know that that has so 
many consequences. 

672
00:32:34,360 --> 00:32:37,040
First of all, there were two 
things that probably were never 

673
00:32:37,040 --> 00:32:38,720
used. 
I was like, why they're even 

674
00:32:38,720 --> 00:32:39,320
there. 
Yeah. 

675
00:32:39,720 --> 00:32:42,160
And actually it makes sense in 
the in the previous machine, but

676
00:32:42,160 --> 00:32:43,400
in the new one doesn't make any 
sense. 

677
00:32:44,040 --> 00:32:48,600
And the second one is you have 
to think also long term, right? 

678
00:32:48,840 --> 00:32:51,680
So everything you ride today and
you ship today, you're going to 

679
00:32:51,680 --> 00:32:55,800
have to maintain in software. 
It's we have, we're privileged 

680
00:32:55,880 --> 00:32:57,680
that as well because we can 
always update, you know, and 

681
00:32:57,680 --> 00:33:00,400
delete or fix stuff with 
hardware, that's not always the 

682
00:33:00,400 --> 00:33:03,240
case because once you ship a 
machine, you can still probably 

683
00:33:03,240 --> 00:33:07,360
update the assembly line and fix
whatever it's problematic. 

684
00:33:08,000 --> 00:33:10,400
But for machines that are 
already delivered, you either 

685
00:33:10,400 --> 00:33:13,000
need to send a technician or, 
you know, replace the machine 

686
00:33:13,000 --> 00:33:14,160
and that's costly for the 
business. 

687
00:33:14,480 --> 00:33:18,640
So always think also long term, 
we think, you know, reasonable 

688
00:33:18,760 --> 00:33:21,520
terms. 
So whenever you build something,

689
00:33:21,520 --> 00:33:22,600
you're going to have to maintain
it. 

690
00:33:23,040 --> 00:33:25,880
And nobody's perfect here. 
I do mistakes all, all time. 

691
00:33:25,880 --> 00:33:31,000
So more features I have more 
chances are that there are going

692
00:33:31,000 --> 00:33:35,480
to be errors or, you know, bugs.
And so if I can scale them down,

693
00:33:35,840 --> 00:33:38,640
which doesn't mean I want to 
provide less value to the user. 

694
00:33:38,640 --> 00:33:42,120
I just mean I examine the the 
current product and I say, hey, 

695
00:33:42,560 --> 00:33:43,920
is this useful? 
Is this not? 

696
00:33:44,400 --> 00:33:47,360
Then you can mitigate those 
problems. 

697
00:33:47,720 --> 00:33:50,200
Interesting. 
You do need an organization that

698
00:33:50,200 --> 00:33:52,200
understands that, right? 
Because if I were to hear, if I 

699
00:33:52,200 --> 00:33:55,000
have no technical background and
someone says more features means

700
00:33:55,000 --> 00:33:57,560
more bugs, I'd be like, why 
don't you just make better 

701
00:33:57,560 --> 00:33:58,840
features? 
Like it makes no sense. 

702
00:33:58,880 --> 00:34:00,880
Yeah, Yeah. 
That's a valid. 

703
00:34:00,880 --> 00:34:04,600
Observation then, then we go 
into a communication territory 

704
00:34:04,600 --> 00:34:07,120
as well. 
When you especially when you 

705
00:34:07,120 --> 00:34:10,800
plan those features or in 
general when you have a meeting 

706
00:34:10,800 --> 00:34:13,199
within the company, I'm pretty 
sure you know, if you're 

707
00:34:13,199 --> 00:34:15,639
tackling a very technical 
problem, then probably you're 

708
00:34:15,639 --> 00:34:19,960
sitting with engineers. 
But if you're in a product 

709
00:34:19,960 --> 00:34:23,760
company and you're developing 
feature for the product, you 

710
00:34:23,760 --> 00:34:26,920
will probably have APM sitting 
at the table, which may or may 

711
00:34:26,920 --> 00:34:28,520
not be technical enough to 
understand. 

712
00:34:29,560 --> 00:34:33,000
You will have maybe finance 
people because they are part of 

713
00:34:33,000 --> 00:34:36,880
the pricing of of the feature. 
Even when presenting stuff to 

714
00:34:36,880 --> 00:34:39,120
the company, sometimes you know 
you present stuff to the company

715
00:34:39,120 --> 00:34:41,480
to show what you did. 
Some company companies do that 

716
00:34:43,360 --> 00:34:46,000
and you will have a different 
audience in front of you. 

717
00:34:46,800 --> 00:34:51,199
So then it's important to 
communicate effectively. 

718
00:34:52,040 --> 00:34:54,800
If I speak with you and you're 
engineer, we can talk about back

719
00:34:54,800 --> 00:34:58,640
end servers, etcetera, etcetera.
Easy, easy, super easy. 

720
00:34:59,080 --> 00:35:02,920
If we have finance people or you
know, people with different 

721
00:35:02,920 --> 00:35:05,880
backgrounds, then you have to 
translate that into their 

722
00:35:05,880 --> 00:35:08,000
language. 
Hopefully you know how to do 

723
00:35:08,000 --> 00:35:11,520
that or otherwise you use more 
generic terms. 

724
00:35:11,520 --> 00:35:13,600
You know, you talk about the 
server for example, and you tell

725
00:35:13,600 --> 00:35:16,600
them, hey, if the server is 
down, our product simply doesn't

726
00:35:16,600 --> 00:35:18,040
work. 
That's what they care about. 

727
00:35:18,400 --> 00:35:20,320
You don't talk about the back 
end of the API. 

728
00:35:20,960 --> 00:35:24,440
If the API returns four O 4, 
that's too technical for for 

729
00:35:24,440 --> 00:35:27,160
them. 
So this needs to be applied also

730
00:35:27,160 --> 00:35:30,920
when you do those negotiations. 
And I think it's very important.

731
00:35:30,920 --> 00:35:33,240
I think it's something you you 
need to keep in mind always 

732
00:35:33,240 --> 00:35:35,480
communicating effectively. 
It's it's very important. 

733
00:35:35,560 --> 00:35:37,000
I love that. 
Yeah, 1. 

734
00:35:37,000 --> 00:35:39,960
Of the last thoughts I had in 
mind was I feel like we as 

735
00:35:39,960 --> 00:35:45,120
software engineers are on this 
ever ongoing battle against 

736
00:35:45,120 --> 00:35:49,120
complexity, basically, and very 
early on, there's no complexity,

737
00:35:49,120 --> 00:35:50,040
right? 
Because you're starting from 

738
00:35:50,040 --> 00:35:51,880
nothing or you're starting from 
something very small. 

739
00:35:52,000 --> 00:35:55,000
If you go in big organisations, 
complexity is already there. 

740
00:35:55,000 --> 00:35:57,840
It's all around you. 
So then this technical 

741
00:35:57,840 --> 00:36:01,320
excellence part it, it is really
important, but it's also a 

742
00:36:01,320 --> 00:36:03,560
mindset thing, right? 
Are you going to go, like you 

743
00:36:03,560 --> 00:36:06,760
mentioned, if we have hardware 
as part of something and it's 

744
00:36:07,240 --> 00:36:10,440
harder to do a firmware release 
for specifically that hardware, 

745
00:36:10,640 --> 00:36:12,520
how much are we going to develop
for the future? 

746
00:36:12,800 --> 00:36:15,520
Because if we still deliver 
things that we might never use, 

747
00:36:15,520 --> 00:36:18,040
but we might use in the future, 
are we then going to incorporate

748
00:36:18,040 --> 00:36:19,800
that? 
Because if we never use it, then

749
00:36:19,800 --> 00:36:22,120
it will be the complexity that 
we have to navigate around. 

750
00:36:22,800 --> 00:36:25,640
This is the ongoing battle. 
How have you seen start-ups or 

751
00:36:25,640 --> 00:36:29,120
early stage companies, even 
scale UPS, battle complexity or 

752
00:36:29,120 --> 00:36:32,000
manage complexity early on? 
Yeah, even I. 

753
00:36:32,000 --> 00:36:34,120
Would say if the company is 
going to be there, you need to 

754
00:36:34,120 --> 00:36:36,360
ask that yourself right when you
build a long term. 

755
00:36:37,160 --> 00:36:40,320
So that's it's a tough question.
It's of course an an extreme 

756
00:36:40,640 --> 00:36:44,360
case, but can happen. 
So that's also usually what 

757
00:36:44,360 --> 00:36:47,600
happens to me in deciding 
whenever I need to do a trade 

758
00:36:47,600 --> 00:36:51,960
off because I know that dropping
or doing a simpler feature is 

759
00:36:51,960 --> 00:36:55,240
going to deliver these faster to
the market and it's going to buy

760
00:36:55,680 --> 00:36:57,000
time and run away to the 
company. 

761
00:36:57,000 --> 00:37:00,120
And that's how it goes sometimes
or more most of the time 

762
00:37:00,120 --> 00:37:03,520
actually when you're in a start 
up, you are in survival mode by 

763
00:37:03,520 --> 00:37:06,000
definition more most of the 
time. 

764
00:37:06,760 --> 00:37:08,800
So you know, you have maybe 
investors, you are investing in 

765
00:37:08,800 --> 00:37:11,640
the product often you're losing 
money already, you're not making

766
00:37:11,640 --> 00:37:14,080
money yet. 
So you really need to figure out

767
00:37:14,320 --> 00:37:16,680
what is, you have an idea that 
you know it's working because 

768
00:37:16,680 --> 00:37:18,320
it's selling, but it's not 
selling enough. 

769
00:37:18,640 --> 00:37:20,440
So then you need to try 
different things in order to 

770
00:37:20,440 --> 00:37:24,200
make sure that the outcome is 
going to be positive eventually 

771
00:37:24,200 --> 00:37:28,040
for the company. 
So sure, you need to think long 

772
00:37:28,040 --> 00:37:30,000
term. 
You need to avoid. 

773
00:37:31,080 --> 00:37:36,040
Usually what I do is if 
something that will improve an 

774
00:37:36,040 --> 00:37:41,560
outcome long term has a very 
small cost or a relatively small

775
00:37:41,560 --> 00:37:43,680
cost, then I will implement it 
right, right away. 

776
00:37:44,080 --> 00:37:46,080
Yeah. 
And my small, small cost, I 

777
00:37:46,080 --> 00:37:49,320
mean, essentially that doesn't 
affect my timeline or so on. 

778
00:37:50,440 --> 00:37:53,160
If you have a big one, then you 
need to ask yourself, yeah, what

779
00:37:53,160 --> 00:37:56,480
is the benefit of this? 
I'm doing this in order to make 

780
00:37:56,480 --> 00:38:00,000
sure that the product is going 
to scale properly within three 

781
00:38:00,000 --> 00:38:01,840
years. 
When we have millions of users, 

782
00:38:02,320 --> 00:38:05,080
are we even going to get there? 
Is it worth the extra time I 

783
00:38:05,080 --> 00:38:09,160
need to invest on it now or do I
need to focus first on 

784
00:38:09,560 --> 00:38:15,200
delivering simple but effective 
solution and then taking it from

785
00:38:15,400 --> 00:38:17,160
from there? 
They're essentially buying 

786
00:38:17,160 --> 00:38:19,320
yourself time. 
It's technical depth yet, yes, 

787
00:38:19,680 --> 00:38:23,400
but at the same time, it's 
buying yourself time. 

788
00:38:23,760 --> 00:38:25,600
Software is there also to 
evolve, right? 

789
00:38:25,880 --> 00:38:28,920
So, and this is also one of the 
privileges we have again, if we 

790
00:38:28,920 --> 00:38:31,880
do the example with the 
hardware, you ship something you

791
00:38:31,880 --> 00:38:33,960
cannot waste of course upgrade 
the machine, etcetera. 

792
00:38:33,960 --> 00:38:36,280
But the hardware that is already
out there, it's going to be very

793
00:38:36,280 --> 00:38:39,280
costly to update. 
While with software you can 

794
00:38:39,280 --> 00:38:43,040
still release updates without 
having to go physically there. 

795
00:38:43,360 --> 00:38:45,240
Doesn't mean it's not going to 
be costly because maybe you need

796
00:38:45,240 --> 00:38:50,120
to re architect a service you 
have, but you have you can buy 

797
00:38:50,120 --> 00:38:52,320
yourself time. 
So that's that's also very 

798
00:38:52,320 --> 00:38:54,160
important you have the 
flexibility to do. 

799
00:38:54,160 --> 00:38:58,080
So has there ever been a a 
decision you made where you're 

800
00:38:58,080 --> 00:39:00,400
like, OK, that was the wrong one
or I burned myself here, I 

801
00:39:00,400 --> 00:39:02,600
shouldn't have implemented that 
for the long term. 

802
00:39:02,600 --> 00:39:04,120
I should have gone more for the 
short term. 

803
00:39:04,440 --> 00:39:05,920
Anything that you'd like to 
share there? 

804
00:39:06,640 --> 00:39:10,680
Yeah, I'm trying to. 
Think, I think I'm not going to 

805
00:39:10,680 --> 00:39:13,600
make a specific example, but you
know, keeper jobs. 

806
00:39:14,120 --> 00:39:16,320
Also future jobs? 
No, not for me. 

807
00:39:16,320 --> 00:39:19,200
Maybe actually. 
For others, also for me. 

808
00:39:20,920 --> 00:39:23,400
But yeah, there were situations 
where I actually was the other 

809
00:39:23,400 --> 00:39:26,560
way around. 
I I was advocating for the 

810
00:39:26,560 --> 00:39:31,280
simple solution, but people was 
going for big tech solutions in 

811
00:39:31,280 --> 00:39:33,320
places that were not big tech in
my opinion. 

812
00:39:34,720 --> 00:39:38,520
And that ended up, you know, 
consuming a lot of time within 

813
00:39:38,520 --> 00:39:43,560
the business and not really 
giving any result that was 

814
00:39:43,720 --> 00:39:46,600
justifiable by all the time 
spent and the the time the 

815
00:39:46,600 --> 00:39:48,680
resources spent on it. 
You went with the big tech 

816
00:39:48,680 --> 00:39:49,560
solution in. 
The end. 

817
00:39:49,800 --> 00:39:51,520
We went with the big tech 
solution in the end. 

818
00:39:51,600 --> 00:39:54,320
Yeah, for something that was 
barely used Yeah. 

819
00:39:54,520 --> 00:39:57,640
So then you know it's. 
And I was not responsible for 

820
00:39:57,640 --> 00:40:00,080
that so I'm not saying this to, 
you know, make myself a better 

821
00:40:00,160 --> 00:40:02,680
Yeah, I was actually trying to 
fight that and I also respect 

822
00:40:02,680 --> 00:40:04,640
that yeah, it just happens. 
I I'm pretty sure the other 

823
00:40:04,640 --> 00:40:07,440
person's. 
Had their reasons to to go this 

824
00:40:07,440 --> 00:40:09,040
way. 
Maybe they believe believe it 

825
00:40:09,040 --> 00:40:12,560
more than mean in the future. 
We were building of course, but 

826
00:40:12,560 --> 00:40:14,520
I was like, yeah, let's try 
fields, you know with the fast 

827
00:40:14,520 --> 00:40:17,680
iteration and then we can indeed
iterate over it because if we go

828
00:40:17,680 --> 00:40:21,960
fast you ship and then you see 
no one uses it then you have 

829
00:40:21,960 --> 00:40:25,520
written answer and you don't 
invest money and resources on 

830
00:40:25,520 --> 00:40:29,440
it. 
Assuming you build a comparable 

831
00:40:29,440 --> 00:40:31,840
solution, right, Because then 
you can also build a poor 

832
00:40:31,840 --> 00:40:33,800
solution. 
And then you could say, yeah, no

833
00:40:33,800 --> 00:40:36,440
one used it, but that's because 
we went with a very poor 

834
00:40:36,440 --> 00:40:37,760
solution experience. 
Yeah, exactly. 

835
00:40:37,760 --> 00:40:38,680
Yeah. 
I'm not. 

836
00:40:38,880 --> 00:40:40,880
Of course, I'm taking that for 
granted. 

837
00:40:40,880 --> 00:40:44,480
You go for a comparable solution
and then you see if the people 

838
00:40:44,640 --> 00:40:47,240
or the users are interested in 
it, and then you can iterate 

839
00:40:47,320 --> 00:40:49,600
over it. 
Sometimes it's even interesting 

840
00:40:49,600 --> 00:40:53,000
because you can build something 
very simple thinking I'm going 

841
00:40:53,000 --> 00:40:57,040
to iterate over it once I see 
the users use it, but then they 

842
00:40:57,040 --> 00:40:59,760
start using it and actually the 
simple solution, it's good 

843
00:40:59,760 --> 00:41:03,040
enough to to let it be. 
So that's also pretty 

844
00:41:03,040 --> 00:41:05,520
interesting to see. 
I'd really like to be driven by 

845
00:41:05,520 --> 00:41:08,560
data. 
You don't don't always have the 

846
00:41:08,560 --> 00:41:12,240
possibility to do that, but if 
you can, I'd really love to do 

847
00:41:12,240 --> 00:41:14,240
that because then you have the 
answers there. 

848
00:41:14,560 --> 00:41:16,200
Then of course, sometimes you 
need to come up with new 

849
00:41:16,200 --> 00:41:17,600
features and you just have to 
try. 

850
00:41:17,600 --> 00:41:19,160
You don't have the data to 
making that up. 

851
00:41:19,440 --> 00:41:21,640
You need to try. 
But that's exactly the point 

852
00:41:21,640 --> 00:41:24,640
when you want to try, you want 
to explore, then try to come up 

853
00:41:24,640 --> 00:41:27,000
with an MVP and then take it 
from there. 

854
00:41:27,120 --> 00:41:29,120
Yeah. 
These areas where it's not. 

855
00:41:29,120 --> 00:41:30,880
Black and white, but there's a 
lot of grey. 

856
00:41:31,160 --> 00:41:34,240
I think they are super 
interesting and I've really 

857
00:41:34,240 --> 00:41:37,120
appreciated you coming on and 
sharing your insights. 

858
00:41:37,120 --> 00:41:38,720
I think this was a lot of fun. 
Yeah, yeah. 

859
00:41:38,720 --> 00:41:41,160
No, definitely it's. 
Part of the challenge, and I 

860
00:41:41,160 --> 00:41:45,240
believe it's really interesting 
and it's also, it's very 

861
00:41:45,680 --> 00:41:49,120
interesting to see it in all 
aspects. 

862
00:41:49,120 --> 00:41:53,400
When we talk about MVP or simple
solution, it goes also from the 

863
00:41:53,400 --> 00:41:55,480
engineering point of view. 
That's also pretty interesting. 

864
00:41:55,480 --> 00:42:00,520
I remember actually one of your 
persons you had on the podcast 

865
00:42:02,120 --> 00:42:05,280
advocating for simple systems. 
Yeah, yeah, I'm, I'm fully, 

866
00:42:05,880 --> 00:42:07,080
you're on that. 
Yeah. 

867
00:42:07,240 --> 00:42:10,200
I fully agree on that. 
I agree you need to develop 

868
00:42:10,200 --> 00:42:13,680
first simple, the simplest 
solution possible and then 

869
00:42:13,680 --> 00:42:16,560
iterate over it. 
You also mentioned it earlier, I

870
00:42:16,560 --> 00:42:19,320
wanted to touch up on that. 
You are in a Greenfield project,

871
00:42:19,320 --> 00:42:22,120
so you know there is no 
complexity and it's easier 

872
00:42:22,120 --> 00:42:26,440
compared to joining an existing 
product, maybe a monolithic, a 

873
00:42:26,440 --> 00:42:28,680
huge code base where there is 
already complexity. 

874
00:42:29,280 --> 00:42:30,720
I agree with you. 
That's true. 

875
00:42:32,080 --> 00:42:34,240
But it's also true that in a 
Greenfield project, you can 

876
00:42:34,240 --> 00:42:36,800
start adding complexity yourself
and then very quickly. 

877
00:42:36,800 --> 00:42:38,440
Yeah, yeah. 
So usually what I do when 

878
00:42:38,880 --> 00:42:42,360
talking technically, I even did 
that literally yesterday, I do 

879
00:42:42,360 --> 00:42:44,520
it all the time. 
I came up with a solution. 

880
00:42:44,520 --> 00:42:48,760
I write the code, or I use AI to
write the code, whatever, and 

881
00:42:48,760 --> 00:42:51,360
then I come up with a solution. 
I write a test and everything 

882
00:42:51,360 --> 00:42:53,880
validate is working and I'm 
like, OK, I'm happy with this. 

883
00:42:54,120 --> 00:42:57,960
Now let's take a step back. 
I take a step back, zoom out, 

884
00:42:58,000 --> 00:43:02,160
and then I say, can I simplify 
the solution even more than than

885
00:43:02,160 --> 00:43:03,720
it is already if it's already 
simple? 

886
00:43:05,400 --> 00:43:07,960
And then I start thinking about 
it, maybe I think it with AI, 

887
00:43:08,160 --> 00:43:12,840
and then I end up refactoring 
the code more often than not and

888
00:43:12,840 --> 00:43:15,240
ending up with an even simpler 
solution. 

889
00:43:16,240 --> 00:43:17,720
And that's pretty, pretty 
interesting. 

890
00:43:17,720 --> 00:43:19,320
I had something similar 
literally yesterday. 

891
00:43:19,320 --> 00:43:23,200
I was building a feature where 
we need to allow changing 

892
00:43:23,200 --> 00:43:26,600
languages in, in the machines. 
That's pretty understandable, 

893
00:43:27,080 --> 00:43:29,760
pretty straightforward. 
But then digging into it and, 

894
00:43:29,760 --> 00:43:34,120
and talking with stakeholders, I
came up to know that I came to 

895
00:43:34,120 --> 00:43:38,280
know that we had two ways of 
changing the language. 

896
00:43:38,280 --> 00:43:41,920
One is the system system 
language and one is the session 

897
00:43:41,920 --> 00:43:44,040
like one language. 
So essentially, if you go into 

898
00:43:44,040 --> 00:43:47,880
the system settings, you change 
the language, and once you 

899
00:43:47,880 --> 00:43:51,160
change it, it's reflected in the
whole application. 

900
00:43:51,320 --> 00:43:53,080
That's usually how your phone 
works, right? 

901
00:43:54,160 --> 00:43:57,320
Then you have the session 
language, which is you change 

902
00:43:57,320 --> 00:43:59,960
the language, you use the 
machine, and once you go away, 

903
00:43:59,960 --> 00:44:02,280
the machine goes back to the 
default language, which is not 

904
00:44:02,280 --> 00:44:05,440
the same of the session 
language. 

905
00:44:05,440 --> 00:44:07,120
It's the system one. 
Yeah, correct. 

906
00:44:07,480 --> 00:44:09,360
You can see that. 
Because, you know, I, I told 

907
00:44:09,360 --> 00:44:12,120
you, we build vendor machines. 
So there is a session, usually 

908
00:44:12,520 --> 00:44:15,360
you interact with the machine 
and then there is a reset state.

909
00:44:16,360 --> 00:44:18,440
And so I started to build a 
feature and I was like, OK, it's

910
00:44:18,440 --> 00:44:20,680
a bit more complex than I 
thought, but still it's just one

911
00:44:20,680 --> 00:44:22,360
switch, right? 
You have season and session, 

912
00:44:22,400 --> 00:44:25,040
that's it. 
And then I was like, OK, maybe I

913
00:44:25,040 --> 00:44:28,960
need a little util and then 
maybe I need 2 little utils. 

914
00:44:28,960 --> 00:44:31,520
And then yeah, maybe I need 
something to orchestrate the two

915
00:44:31,520 --> 00:44:34,120
things. 
And then I ended up with like a 

916
00:44:34,120 --> 00:44:37,120
few classes. 
And then I was like, OK, the 

917
00:44:37,120 --> 00:44:38,680
solution is working. 
It's covered with tests and 

918
00:44:38,680 --> 00:44:39,920
everything. 
Zoom out. 

919
00:44:39,920 --> 00:44:41,920
And then I was like, OK, but 
wait a second, these two classes

920
00:44:41,920 --> 00:44:44,240
actually are doing almost the 
same thing, so maybe I can 

921
00:44:44,240 --> 00:44:47,720
simplify this even more. 
And then, yeah, Long story 

922
00:44:47,720 --> 00:44:51,320
short, I ended up with a couple 
of class, one class, one 

923
00:44:51,320 --> 00:44:53,240
utility. 
The class had a couple of 

924
00:44:53,240 --> 00:44:55,520
dependencies. 
That's it pretty much. 

925
00:44:55,520 --> 00:44:59,680
And I even added trading while 
doing all this. 

926
00:44:59,680 --> 00:45:03,920
Actually I even spotted 
something interesting that was 

927
00:45:03,920 --> 00:45:06,240
involving the main and the 
background thread. 

928
00:45:06,240 --> 00:45:08,480
Not going to go into details, 
but some operation needed to be 

929
00:45:08,480 --> 00:45:12,800
done in the main thread even if 
I thought they were OK to be 

930
00:45:12,800 --> 00:45:16,200
done in the background thread. 
So eventually and then I ended 

931
00:45:16,200 --> 00:45:20,720
up with a single plus doing 
these two little operations and 

932
00:45:21,440 --> 00:45:25,200
covering everything. 
And again, I hope now people is 

933
00:45:25,200 --> 00:45:28,080
not going to jump on me, but you
have simple single 

934
00:45:28,080 --> 00:45:30,480
responsibility principle, right?
So that's how I started 

935
00:45:30,480 --> 00:45:35,240
actually. 
I had a class for the different 

936
00:45:35,320 --> 00:45:37,800
functions. 
So one was the system setting 

937
00:45:37,800 --> 00:45:40,680
and one the session setting. 
But then looking into it, I was 

938
00:45:40,680 --> 00:45:42,840
like even single 
responsibilities debatable 

939
00:45:43,240 --> 00:45:45,800
because if you mix them, if you 
merge them, you're still doing 

940
00:45:45,800 --> 00:45:48,240
one thing, which is updating the
language of the system. 

941
00:45:48,400 --> 00:45:52,160
Yeah, can be session or can be 
system related, but it's still 

942
00:45:52,160 --> 00:45:54,000
just updating the language of 
the system. 

943
00:45:54,920 --> 00:45:59,640
And so yeah, eventually I ended 
up with, I was pretty happy with

944
00:45:59,640 --> 00:46:02,760
it because the final quote was 
much simpler than the original 

945
00:46:02,760 --> 00:46:05,760
1. 
And in this case, you know, it's

946
00:46:05,760 --> 00:46:07,080
quite a simple example I would 
say. 

947
00:46:08,000 --> 00:46:11,960
So the gains were probably 
minimal, but in more complex 

948
00:46:11,960 --> 00:46:15,440
solutions, when you take a step 
back, you can end up with a much

949
00:46:15,440 --> 00:46:19,640
simplified system. 
And I think that's that's very 

950
00:46:19,760 --> 00:46:22,480
beneficial to both you and the 
company. 

951
00:46:22,480 --> 00:46:25,320
And that's also technical 
excellence in a way, I think the

952
00:46:25,320 --> 00:46:28,040
skill. 
Of stepping back, looking at 

953
00:46:28,040 --> 00:46:30,520
what you've done or what you've 
generated and then trying to 

954
00:46:30,520 --> 00:46:33,160
simplify. 
It is going to be kind of make 

955
00:46:33,160 --> 00:46:34,600
or break moving towards the 
organization. 

956
00:46:34,600 --> 00:46:38,280
Because if this cycle of 
creating goes faster and faster,

957
00:46:38,280 --> 00:46:41,800
then we do need to step back and
see what can we simplify to make

958
00:46:41,800 --> 00:46:45,040
something that is skateable for 
the future in the end, but also 

959
00:46:45,040 --> 00:46:49,080
digestible for people until we 
get to a point that we don't 

960
00:46:49,080 --> 00:46:51,480
need to do that anymore, which 
is also that's a whole nother 

961
00:46:51,480 --> 00:46:52,800
conversation. 
Don't need. 

962
00:46:53,200 --> 00:46:55,240
Yeah. 
Thank you so much for coming on,

963
00:46:55,240 --> 00:46:56,120
man. 
This is real fun. 

964
00:46:56,320 --> 00:46:57,480
Thanks, Leo. 
Cool. 

965
00:46:57,480 --> 00:46:58,520
We'll. 
Round it off here. 

966
00:46:58,640 --> 00:47:00,360
If you're still with us, let me 
know in the comments section 

967
00:47:00,360 --> 00:47:02,560
what you thought of this episode
and we'll see you next one.

