1
00:00:00,040 --> 00:00:03,720
Social media is flooded with 
people telling you how to delete

2
00:00:03,720 --> 00:00:07,280
code, do system design and pass 
the interview to get into 

3
00:00:07,280 --> 00:00:10,680
Google, Facebook. 
And when I did the numbers, the 

4
00:00:10,800 --> 00:00:14,360
number of engineers they've all 
got, it's less than 1% of the 

5
00:00:14,360 --> 00:00:15,800
people who work in software 
engineers. 

6
00:00:15,800 --> 00:00:19,000
So 99% of us aren't working in 
big tech. 

7
00:00:19,280 --> 00:00:21,600
And if you look at social media,
there's this impression that 

8
00:00:21,600 --> 00:00:24,720
everybody works in big tech, 
everybody builds websites, but 

9
00:00:24,720 --> 00:00:26,160
there's not. 
There's a whole world of 

10
00:00:26,160 --> 00:00:29,160
software outside of web 
development that almost gets 

11
00:00:29,160 --> 00:00:31,560
forgotten about in social media.
And a lot of it's very 

12
00:00:31,560 --> 00:00:32,680
interesting. 
There's some really fun 

13
00:00:32,680 --> 00:00:41,120
engineering challenges. 
Hey everyone, my name is Henry 

14
00:00:41,120 --> 00:00:45,240
Surya Virawan and you're 
listening to the Technically 

15
00:00:45,240 --> 00:00:48,440
Journal Podcast, the show where 
I'll be bringing you the 

16
00:00:48,440 --> 00:00:51,560
greatest technical leaders, 
practitioners, and thought 

17
00:00:51,560 --> 00:00:54,960
leaders in the industry to 
discuss about their journey, 

18
00:00:55,240 --> 00:00:59,760
ideas and practices that we all 
can learn and apply to build a 

19
00:00:59,760 --> 00:01:03,320
highly performing technical team
and to make an impact in your 

20
00:01:03,320 --> 00:01:06,520
personal work. 
So let's dive into our journal. 

21
00:01:11,480 --> 00:01:13,640
Hello everyone, welcome back to 
another new episode of the 

22
00:01:13,680 --> 00:01:16,320
Technically Journal Podcast. 
Today I have with me John 

23
00:01:16,320 --> 00:01:18,400
Cricket. 
So some of you maybe would have 

24
00:01:18,400 --> 00:01:21,600
known him on LinkedIn, maybe on 
coding challenges that you've 

25
00:01:21,600 --> 00:01:25,040
seen over the Internet. 
So John today is going to share 

26
00:01:25,040 --> 00:01:27,760
some of his learning, some of 
his coding challenges. 

27
00:01:28,040 --> 00:01:30,560
And also I believe we can learn 
a lot from him because he has 

28
00:01:30,560 --> 00:01:32,840
almost like 30 years coding 
experience. 

29
00:01:33,120 --> 00:01:35,480
So welcome John to the show. 
Looking forward for our 

30
00:01:35,480 --> 00:01:37,800
conversation. 
Thank you Emily, thank you for 

31
00:01:37,800 --> 00:01:39,920
inviting me on the show and 
thank you for reminding me that 

32
00:01:39,920 --> 00:01:42,920
I'm getting great. 
Been doing this for nearly 30 

33
00:01:42,920 --> 00:01:45,840
years all. 
Right, so the reason I invite 

34
00:01:45,840 --> 00:01:49,160
you because some of my listeners
actually requested for you to be

35
00:01:49,160 --> 00:01:51,160
on the show. 
So I'm really happy to have you.

36
00:01:51,600 --> 00:01:53,840
Maybe, John, in the beginning, 
I'll ask you to share a little 

37
00:01:53,840 --> 00:01:56,280
bit more about yourself for 
those of you who probably 

38
00:01:56,280 --> 00:01:58,880
haven't heard about John, maybe 
if you can share any highlights 

39
00:01:58,880 --> 00:02:00,680
or turning points that we all 
can learn from. 

40
00:02:01,320 --> 00:02:02,960
Sure. 
I've been a software engineer 

41
00:02:02,960 --> 00:02:06,680
for about 30 years now and I 
guess the highlights for me is 

42
00:02:06,680 --> 00:02:08,800
being seen how much the industry
has changed since then. 

43
00:02:09,039 --> 00:02:12,880
I started off at a very 
traditional engineering company 

44
00:02:13,240 --> 00:02:16,320
who were focused on things like 
radio Commons and very 

45
00:02:16,320 --> 00:02:19,480
traditional software engineering
very, very quickly where within 

46
00:02:19,480 --> 00:02:22,280
a year or two got experience for
Internet service providers and 

47
00:02:22,280 --> 00:02:25,200
the birth of the Internet, that 
just changed the way we worked. 

48
00:02:25,200 --> 00:02:29,360
So going from that session where
you walked into an office, you 

49
00:02:29,360 --> 00:02:32,440
grabbed a book, if there was 
one, and looked at stuff in the 

50
00:02:32,440 --> 00:02:34,240
manual too. 
I can now look it up on the 

51
00:02:34,240 --> 00:02:36,960
Internet and have access to 
almost any information in the 

52
00:02:36,960 --> 00:02:40,000
world instantly. 
It's been transformational and 

53
00:02:40,000 --> 00:02:43,320
it's been a real exciting part 
to see how much that's changed 

54
00:02:43,320 --> 00:02:46,120
the industry, see the growth of 
the industry and how much 

55
00:02:46,120 --> 00:02:47,720
interesting software we get to 
build and so. 

56
00:02:48,200 --> 00:02:51,560
Hey, thank you for being part of
the Techledjournal community. 

57
00:02:51,920 --> 00:02:55,160
This show wouldn't be the same 
without your ears, and you are 

58
00:02:55,160 --> 00:02:59,440
the reason this show exists. 
If you're loving TLJ and want to

59
00:02:59,440 --> 00:03:02,720
see it keep on growing, consider
becoming a patron at 

60
00:03:02,720 --> 00:03:06,640
Techledjournal dot Def Patron or
buying me a coffee at 

61
00:03:06,640 --> 00:03:11,480
Techledjournal dot Def Coffee. 
Every little bit helps field the

62
00:03:11,480 --> 00:03:15,080
research, editing and sleepless 
nights that go into making this 

63
00:03:15,080 --> 00:03:18,280
show the best it can be. 
Thanks for being the best 

64
00:03:18,280 --> 00:03:20,480
listeners any podcast could ask 
for. 

65
00:03:20,880 --> 00:03:22,800
And now let's get back to our 
episode. 

66
00:03:23,600 --> 00:03:26,720
So I think I also experienced 
back then, right when the 

67
00:03:26,720 --> 00:03:29,760
Internet was just starting, 
previously, it was even quite 

68
00:03:29,760 --> 00:03:31,600
slow, right? 
56 kilobits per second. 

69
00:03:31,600 --> 00:03:33,440
Probably some of you would have 
experienced that. 

70
00:03:33,680 --> 00:03:36,240
So it's still kind of like slow 
searching is probably also 

71
00:03:36,240 --> 00:03:38,920
expensive because you need to 
pay for those dial ups. 

72
00:03:39,200 --> 00:03:42,280
So I can actually see that the 
way Internet has actually 

73
00:03:42,280 --> 00:03:44,960
transformed the way we work, the
way we get information. 

74
00:03:45,320 --> 00:03:48,240
And now I think it's very easy. 
Sometimes even you have too many

75
00:03:48,240 --> 00:03:50,840
options of resources that you 
can learn from. 

76
00:03:51,320 --> 00:03:52,440
Yeah. 
So in the beginning, John, I 

77
00:03:52,440 --> 00:03:55,000
think you have almost 30 years 
of experience. 

78
00:03:55,040 --> 00:03:58,320
I think throughout the preview 
of our conversation, you 

79
00:03:58,320 --> 00:04:00,800
actually shared that you have 
actually gone through multiple 

80
00:04:00,800 --> 00:04:04,760
roles in your career, right? 
So from being an IC, from senior

81
00:04:04,760 --> 00:04:07,280
leadership and even a founder 
one time. 

82
00:04:07,480 --> 00:04:10,320
So maybe if you can tell us a 
little bit more about all these 

83
00:04:10,320 --> 00:04:12,640
roles and transitions? 
Yeah, sure. 

84
00:04:12,640 --> 00:04:15,320
So I started off, as you say, 
it's an ICA, very traditional 

85
00:04:15,320 --> 00:04:18,560
engineering company briefs into 
an Internet service provider, 

86
00:04:18,560 --> 00:04:21,399
the early part of the Internet. 
And then I moved around a couple

87
00:04:21,399 --> 00:04:24,120
of engineering companies and 
then I moved into, should we say

88
00:04:24,120 --> 00:04:27,040
more tech companies 
andthewhole.com boom was going 

89
00:04:27,040 --> 00:04:27,960
on. 
And I had me, we were hearing 

90
00:04:27,960 --> 00:04:32,000
about Google, Yahoo, Amazon, 
Geocities and other companies 

91
00:04:32,000 --> 00:04:34,160
are big then. 
And I had always planned to 

92
00:04:34,160 --> 00:04:37,600
start my own business when I got
to 40, but as a 22 year old 

93
00:04:37,600 --> 00:04:40,280
seeing this.com boom around me, 
it's like should do it now. 

94
00:04:40,280 --> 00:04:42,080
Why am I waiting? 
Lots of other people doing it 

95
00:04:42,440 --> 00:04:44,880
wasn't quite as good an 
environment in the UK as as 

96
00:04:44,880 --> 00:04:47,600
perhaps it is in the US. 
But I started my own business 

97
00:04:47,600 --> 00:04:50,120
then it my epic failure of 
imagination. 

98
00:04:50,120 --> 00:04:52,440
I just started a software 
consultancy just like the 

99
00:04:52,440 --> 00:04:54,200
companies had worked. 
No big vision. 

100
00:04:54,200 --> 00:04:55,640
No, I'm going to start the next 
Google. 

101
00:04:55,640 --> 00:04:58,920
Just how do I become the next 
software consultancy and sell 

102
00:04:58,920 --> 00:05:01,480
that? 
Kind of sticking to what I knew 

103
00:05:01,480 --> 00:05:04,320
from a few years experience. 
Did that for several years. 

104
00:05:04,400 --> 00:05:07,440
Accidentally fell into 
kindofdoingthe.com so ended up 

105
00:05:07,440 --> 00:05:09,080
building a bed and breakfast 
search engine. 

106
00:05:09,680 --> 00:05:14,720
Kind of like Airbnb but much 
simpler back in 2004, but again,

107
00:05:14,720 --> 00:05:16,880
didn't have the vision. 
We only aimed to capture the 

108
00:05:16,880 --> 00:05:20,120
whole B&B market in the UK. 
Didn't think about making this 

109
00:05:20,120 --> 00:05:22,040
worldwide. 
Didn't have that vision and the 

110
00:05:22,040 --> 00:05:25,160
ability to execute or the vision
to execute on should I say. 

111
00:05:25,720 --> 00:05:29,160
Did that for several years, then
through, well basically through 

112
00:05:29,160 --> 00:05:31,360
my brother who's my business 
partner getting married and 

113
00:05:31,360 --> 00:05:34,960
decides pure adventures. 
Ended up moving into different 

114
00:05:34,960 --> 00:05:37,280
areas, got married and started 
found myself. 

115
00:05:37,280 --> 00:05:41,040
So playing 60 hours a week into 
a business just wasn't viable 

116
00:05:41,040 --> 00:05:43,680
anymore. 
So I went back to working for 

117
00:05:43,680 --> 00:05:47,040
the people really IC, created 
that for a few years, moved into

118
00:05:47,360 --> 00:05:52,280
management employment. 
Then coming up to 2018, again, I

119
00:05:52,280 --> 00:05:54,160
was doing a lot of travelling. 
I want to spend some more time 

120
00:05:54,160 --> 00:05:56,160
with my family. 
So I went back to contracting 

121
00:05:56,160 --> 00:05:59,520
again, back to being an IC so I 
could work remotely and see more

122
00:05:59,520 --> 00:06:02,840
of my family and support my kids
who I'm educated and pandemic, 

123
00:06:02,840 --> 00:06:05,040
everyone at the Moat. 
So I ended up going back into 

124
00:06:05,040 --> 00:06:08,360
management goals, did that for a
little bit, but then also 

125
00:06:08,360 --> 00:06:10,440
circumstances. 
And here we've had tech layoffs 

126
00:06:10,520 --> 00:06:13,160
a lot laid off as well. 
That put me back to contracting 

127
00:06:13,160 --> 00:06:16,280
and eventually that's worked me 
back to now starting up my own 

128
00:06:16,280 --> 00:06:18,320
business, which is what I am now
doing. 

129
00:06:18,320 --> 00:06:20,800
Yet another small scale startup,
should we say? 

130
00:06:21,520 --> 00:06:23,560
Wow. 
I think it's pretty much variety

131
00:06:23,560 --> 00:06:24,880
of roles that you have played, 
right? 

132
00:06:24,880 --> 00:06:27,880
So I think some people here 
probably could relate because I 

133
00:06:27,880 --> 00:06:31,080
believe, although probably not 
as plenty of roles that they 

134
00:06:31,080 --> 00:06:33,720
have played in their career like
yours, but actually they have 

135
00:06:33,920 --> 00:06:37,320
transitioned from IC management,
maybe some even back to IC, 

136
00:06:37,320 --> 00:06:39,440
right? 
I myself have done it twice, you

137
00:06:39,440 --> 00:06:41,560
know, IC management, IC 
management. 

138
00:06:41,920 --> 00:06:44,000
So I think there's always a 
challenge. 

139
00:06:44,280 --> 00:06:46,760
But I think the first question I
would like to ask is like some 

140
00:06:46,760 --> 00:06:50,600
people actually question, should
they actually go to management? 

141
00:06:50,600 --> 00:06:54,200
Or maybe for those managers who 
probably don't really like the 

142
00:06:54,200 --> 00:06:56,360
management job, should they go 
back to IC? 

143
00:06:56,360 --> 00:06:59,040
Maybe you can give a little bit 
of perspective from your 

144
00:06:59,040 --> 00:07:00,840
experience. 
What do you think about all 

145
00:07:00,840 --> 00:07:03,080
these? 
So I think if you've never 

146
00:07:03,080 --> 00:07:06,400
experienced both and you think 
you might enjoy becoming a 

147
00:07:06,400 --> 00:07:09,120
manager, you should try and take
the opportunity to do that. 

148
00:07:09,360 --> 00:07:12,320
And you should try and get that 
experience because even if you 

149
00:07:12,320 --> 00:07:14,840
don't enjoy it, you decide it's 
not for you, it will have given 

150
00:07:14,840 --> 00:07:16,840
you that insight into what the 
role involves. 

151
00:07:17,360 --> 00:07:19,960
It'll give you more empathy with
what a manager is trying to 

152
00:07:19,960 --> 00:07:21,280
achieve who what they need to 
do. 

153
00:07:21,760 --> 00:07:23,920
It'll give you that broader 
commercial awareness. 

154
00:07:23,920 --> 00:07:26,480
So when you do go back to being 
an IC, you're better positioned 

155
00:07:26,480 --> 00:07:29,280
to use that knowledge to advance
your careers and IC. 

156
00:07:29,760 --> 00:07:32,280
So maybe when you get to senior 
or staff, depending on your 

157
00:07:32,280 --> 00:07:34,480
company and you switch to a 
management track or you become a

158
00:07:34,480 --> 00:07:36,840
manager, that's a lot of 
potential learning that when you

159
00:07:36,840 --> 00:07:39,480
then if you decide it's not for 
you and you move backed, you can

160
00:07:39,480 --> 00:07:43,320
use to go staff and staff plus. 
And that awareness, the kind of 

161
00:07:43,360 --> 00:07:45,560
awareness of the big impact, the
awareness how to influence 

162
00:07:45,560 --> 00:07:48,440
people, the awareness how to 
drive change, the awareness of 

163
00:07:48,480 --> 00:07:51,000
what the commercial realities 
are and how you have to network 

164
00:07:51,000 --> 00:07:54,080
outside of tech are incredibly 
useful and will help you have 

165
00:07:54,080 --> 00:07:55,600
more impact. 
And as I say, progress your 

166
00:07:55,600 --> 00:07:57,840
career. 
So I would advise anyone that 

167
00:07:57,840 --> 00:08:00,480
thinks it might be interested to
try it because if you find it's 

168
00:08:00,480 --> 00:08:03,440
a career for you, right, If you 
don't do the transferable 

169
00:08:03,440 --> 00:08:05,560
skills, you can bring back to 
being a software engineer. 

170
00:08:06,200 --> 00:08:08,920
Some people actually perceive 
management to be a higher role, 

171
00:08:08,920 --> 00:08:12,000
hence a bigger pay, although in 
some companies that may not be 

172
00:08:12,000 --> 00:08:14,680
true. 
And some would actually stay in 

173
00:08:14,680 --> 00:08:17,360
the job simply because of that, 
even though they are maybe not 

174
00:08:17,360 --> 00:08:19,480
as passionate as being an IC, 
right? 

175
00:08:19,480 --> 00:08:23,080
So what would you tell to those 
people probably who are kind of 

176
00:08:23,080 --> 00:08:25,640
like stuck, like they don't want
to lose the management position,

177
00:08:25,640 --> 00:08:27,080
but they're also not enjoying 
it? 

178
00:08:27,680 --> 00:08:30,720
Well, I think it depends on the 
market you're in because here in

179
00:08:30,720 --> 00:08:34,280
the UK at least, the best paid 
roles and all being contracting.

180
00:08:34,280 --> 00:08:37,640
So it's changing a little bit 
now, but at that point I would 

181
00:08:37,640 --> 00:08:41,240
say leave the management role, 
go out contracting or again, 

182
00:08:41,240 --> 00:08:44,039
fortunately it's changing. 
Certainly going back the 30 

183
00:08:44,039 --> 00:08:46,840
years when I started your career
was you get to see your software

184
00:08:46,840 --> 00:08:48,920
engineer, then you move to 
manager if you want to progress 

185
00:08:48,920 --> 00:08:51,560
and you want to get higher pay. 
There was no dual career track 

186
00:08:51,920 --> 00:08:53,920
and that's a mistake because not
everyone's could out for it. 

187
00:08:53,920 --> 00:08:57,200
It's a different skill set. 
But there are increasingly and I

188
00:08:57,200 --> 00:09:00,760
would say about 1/3 of the 
companies I see in the UK now 

189
00:09:01,240 --> 00:09:03,600
have this dual career track. 
So if you're stuck in management

190
00:09:03,600 --> 00:09:06,280
role and you're stuck there 
because it's better benefit, 

191
00:09:06,280 --> 00:09:09,200
it's better pay and you feel 
that it's valuable but you hate 

192
00:09:09,200 --> 00:09:11,880
it, start upscaling. 
Do some of the coding 

193
00:09:11,880 --> 00:09:14,000
challenges, practice your E 
code, whatever it takes. 

194
00:09:14,520 --> 00:09:17,120
Find a company that has a dual 
career track and look to move as

195
00:09:17,120 --> 00:09:19,280
soon as possible. 
You'll be more productive, 

196
00:09:19,360 --> 00:09:22,320
you'll get more out of it, 
you'll be more satisfied, and 

197
00:09:22,320 --> 00:09:24,040
there's nothing more soul 
destroying that means stuck in a

198
00:09:24,040 --> 00:09:25,920
job you don't like. 
Yeah. 

199
00:09:25,920 --> 00:09:28,280
So I think being stuck 
definitely is not going to be 

200
00:09:28,280 --> 00:09:31,000
helpful in the long term, right.
So I think for those of you, you

201
00:09:31,000 --> 00:09:33,880
can consider, I think there are 
many roles these days that are 

202
00:09:33,880 --> 00:09:37,440
even remote, right. 
So probably getting an IC remote

203
00:09:37,440 --> 00:09:40,680
job is possible. 
You mentioned a couple of times 

204
00:09:40,680 --> 00:09:44,320
in the early of our conversation
that you started maybe some kind

205
00:09:44,320 --> 00:09:47,760
of business but didn't have 
vision and now you're back being

206
00:09:47,760 --> 00:09:49,880
a founder. 
So what is the importance of 

207
00:09:49,880 --> 00:09:53,720
this vision for those of us who 
would like to also venture maybe

208
00:09:53,720 --> 00:09:56,480
into consultancy or maybe some 
kind of small business like 

209
00:09:56,480 --> 00:09:59,000
yours? 
So I think there's two sides to 

210
00:09:59,000 --> 00:10:00,400
that. 
The importance of the vision is 

211
00:10:00,400 --> 00:10:03,280
if you want to build who I Care 
B&B, you need to be thinking 

212
00:10:03,280 --> 00:10:04,600
bigger. 
You need to be thinking about 

213
00:10:04,600 --> 00:10:06,080
executing much bigger than I 
ever did. 

214
00:10:06,080 --> 00:10:08,920
And I think also it strikes a 
point that I've made several 

215
00:10:08,920 --> 00:10:13,520
times that ideas are worthless. 
I've thought about did B&B 

216
00:10:13,600 --> 00:10:15,840
solution long before the B&B was
conceived. 

217
00:10:16,200 --> 00:10:19,240
I didn't have the vision, I 
didn't have the drive, I didn't 

218
00:10:19,240 --> 00:10:22,720
have the whatever word you want 
to use to actually execute that.

219
00:10:22,720 --> 00:10:25,760
So ideas aren't worth anything. 
It's how you execute them. 

220
00:10:25,800 --> 00:10:27,760
It is. 
And Airbnb have executed way 

221
00:10:27,760 --> 00:10:29,520
better than I did. 
So point proven. 

222
00:10:29,520 --> 00:10:31,880
I think for the smaller 
business, I think it helps to 

223
00:10:31,880 --> 00:10:34,160
have the vision to know what you
want to know, what you're trying

224
00:10:34,160 --> 00:10:36,000
to achieve. 
Do you want to build the next 

225
00:10:36,000 --> 00:10:39,840
Airbnb and the massive work that
takes and the commitment that 

226
00:10:39,840 --> 00:10:42,560
takes? 
And do you have a big enough 

227
00:10:42,560 --> 00:10:45,240
vision or to be honest, more 
like myself? 

228
00:10:45,600 --> 00:10:47,880
I would rather build what many 
people call a lifestyle 

229
00:10:47,880 --> 00:10:50,080
business. 
Now I, I, I enjoy working 

230
00:10:50,080 --> 00:10:51,760
remotely. 
I enjoy working from home. 

231
00:10:52,160 --> 00:10:54,600
This is my office. 
My office has guitars in it. 

232
00:10:55,080 --> 00:10:57,080
It's very comfortable. 
I would rather now build a 

233
00:10:57,080 --> 00:11:00,400
business where I can comfortably
make hopefully a bit more than I

234
00:11:00,680 --> 00:11:03,800
would make as a salary. 
But I can make the lifestyle and

235
00:11:03,800 --> 00:11:06,160
the choice I want. 
I can pursue the technology. 

236
00:11:06,160 --> 00:11:10,080
I can pursue the commercial or 
leadership areas that interest 

237
00:11:10,080 --> 00:11:12,240
me. 
I can pull the guitar off the 

238
00:11:12,240 --> 00:11:14,280
wall and play when I want. 
I can walk the dog when I need 

239
00:11:14,280 --> 00:11:16,360
to. 
If I want to work 20 hours a day

240
00:11:16,360 --> 00:11:18,600
because I'm really enjoying my 
current project, I can do that. 

241
00:11:18,960 --> 00:11:21,600
If I'm not inspired and I want 
to work half an hour a day and 

242
00:11:21,920 --> 00:11:24,120
pop off and do something else 
until that inspiration hits me, 

243
00:11:24,120 --> 00:11:26,840
I've got that flexibilities. 
Whereas if you want to build 

244
00:11:26,840 --> 00:11:29,640
something that's maybe a mid 
tier 10/20 million company, 

245
00:11:29,680 --> 00:11:32,160
again, that vision, a clear idea
of what you want and why you're 

246
00:11:32,160 --> 00:11:34,160
going there, I think that really
helps. 

247
00:11:35,040 --> 00:11:36,680
Yeah, I think that's why you 
mentioned, right? 

248
00:11:36,680 --> 00:11:40,240
Ideas are kind of like worthless
or even like worth very little, 

249
00:11:40,240 --> 00:11:41,680
right? 
So it's the drive and the 

250
00:11:41,680 --> 00:11:44,160
execution that actually matters.
And also your vision. 

251
00:11:44,160 --> 00:11:46,600
If you want to aim for bigger 
things, you have to have a 

252
00:11:46,600 --> 00:11:50,000
bigger vision for sure and take 
the drive to actually get there,

253
00:11:50,000 --> 00:11:51,840
right? 
Or even though if if you don't 

254
00:11:51,840 --> 00:11:55,040
reach there, at least you reach 
some way almost near to that 

255
00:11:55,040 --> 00:11:57,400
vision. 
So speaking about lifestyle 

256
00:11:57,680 --> 00:12:00,240
business, I think it's getting 
trendy these days. 

257
00:12:00,520 --> 00:12:03,960
And again, Internet social media
allows us to actually have this 

258
00:12:03,960 --> 00:12:07,040
kind of a lifestyle business. 
I believe some of the listeners 

259
00:12:07,040 --> 00:12:09,200
here also have that kind of 
vision and dream. 

260
00:12:09,280 --> 00:12:10,720
Maybe a little bit of tips from 
you. 

261
00:12:10,720 --> 00:12:14,440
How can people get started to 
aim for this lifestyle business?

262
00:12:15,160 --> 00:12:17,880
I think it's always been about 
understanding what lifestyle you

263
00:12:17,880 --> 00:12:21,840
want first and then don't get 
distracted by other people's 

264
00:12:21,840 --> 00:12:24,680
vision, don't get extracted by 
whatever people aiming for. 

265
00:12:24,680 --> 00:12:26,880
So it's very easy. 
If you look on social media, if 

266
00:12:26,880 --> 00:12:28,960
you see people talking about a 
lifestyle business where they're

267
00:12:28,960 --> 00:12:32,480
making 456 million, that's not 
going to be the reality for most

268
00:12:32,480 --> 00:12:33,960
people. 
They're probably the exception. 

269
00:12:34,400 --> 00:12:37,000
Figure out for you more what's 
comfortable, what do you want? 

270
00:12:37,280 --> 00:12:39,280
Do you want to be chasing that 
kind of money, which is going to

271
00:12:39,280 --> 00:12:41,960
be a lot of work? 
And to pretend otherwise is, is 

272
00:12:41,960 --> 00:12:44,720
a bit naive. 
Or are you happy making the 

273
00:12:44,720 --> 00:12:47,280
equivalent of 60,000 a year 
because that will cover all your

274
00:12:47,280 --> 00:12:50,080
bills and you can spend time 
with your family, your kids, 

275
00:12:50,080 --> 00:12:52,480
dog, whatever, whatever folks 
you're about. 

276
00:12:53,040 --> 00:12:54,920
And then aim for that. 
Don't get distracted by other 

277
00:12:54,920 --> 00:12:56,680
people. 
Just focus on what your goals 

278
00:12:56,720 --> 00:12:58,240
are. 
Again, there's, you know, the 

279
00:12:58,240 --> 00:13:00,200
comparison takes a lot of joy 
from these things. 

280
00:13:00,200 --> 00:13:02,560
And if you're going for 
lifestyle business, it should be

281
00:13:02,560 --> 00:13:05,080
about what motivates you and and
gain that joy from it. 

282
00:13:05,680 --> 00:13:08,360
And I think also one thing very 
important is to find the niche, 

283
00:13:08,360 --> 00:13:10,520
right? 
Like what kind of specialty or 

284
00:13:10,520 --> 00:13:12,960
professional things that you can
help people so that they 

285
00:13:12,960 --> 00:13:16,040
actually look out for you. 
And I think lifestyle also means

286
00:13:16,040 --> 00:13:19,040
that sometimes you have to 
understand what things that you 

287
00:13:19,040 --> 00:13:20,920
want to do, right? 
It's not like consulting where 

288
00:13:20,920 --> 00:13:23,880
you take all the opportunities 
that in the end probably is not 

289
00:13:23,880 --> 00:13:26,920
a lifestyle business, but also 
like having a selling value 

290
00:13:26,920 --> 00:13:28,520
proposition that you enjoy 
doing. 

291
00:13:28,560 --> 00:13:30,040
I think that's also very 
important. 

292
00:13:30,440 --> 00:13:33,360
So speaking about the things 
that you're doing now, right, 

293
00:13:33,360 --> 00:13:35,560
aside from your business, I 
think you're also doing this 

294
00:13:35,560 --> 00:13:38,080
coding challenges, which I 
believe is kind of like quite 

295
00:13:38,080 --> 00:13:40,560
popular for some of those who 
follow that. 

296
00:13:40,840 --> 00:13:43,360
So tell us a little bit more, 
how did you actually come up 

297
00:13:43,360 --> 00:13:45,160
with this idea of coding 
challenges? 

298
00:13:45,840 --> 00:13:49,000
So it's a bit of a mixture. 
As I mentioned, I got made 

299
00:13:49,000 --> 00:13:53,320
redundant couple years ago and I
was looking around and thinking,

300
00:13:53,680 --> 00:13:56,080
when I've learned my own 
businesses, I've never been made

301
00:13:56,080 --> 00:13:57,600
redundant. 
I've never been let go. 

302
00:13:58,080 --> 00:14:01,200
I've actually had a more stable 
role in the businesses I've 

303
00:14:01,200 --> 00:14:03,200
learned than when I work with 
other people. 

304
00:14:03,600 --> 00:14:05,920
But again, I was having that 
problem with, I didn't have a 

305
00:14:05,920 --> 00:14:07,920
vision, I didn't have an idea of
what to pursue. 

306
00:14:08,320 --> 00:14:11,360
So I was starting to think about
how do I find an idea? 

307
00:14:11,360 --> 00:14:13,200
How do I find something that's 
going to inspire me, to excite 

308
00:14:13,200 --> 00:14:14,640
me? 
And the answer has got to be 

309
00:14:14,640 --> 00:14:15,720
something that I'm interested 
in. 

310
00:14:16,000 --> 00:14:18,160
I'm interested in computers, 
software engineering. 

311
00:14:18,160 --> 00:14:21,200
I've been doing this for years, 
but if you've experienced 

312
00:14:21,200 --> 00:14:23,200
entrepreneurship before, you 
learned quite quickly that 

313
00:14:23,480 --> 00:14:26,360
actually it's not just the idea,
it's, as we said, the execution 

314
00:14:26,360 --> 00:14:28,600
that matters. 
And a big chunk of the execution

315
00:14:28,600 --> 00:14:31,360
is that distribution. 
How do you have people, 

316
00:14:31,640 --> 00:14:33,840
companies, organizations, 
however your customer's going to

317
00:14:33,840 --> 00:14:35,720
be to sell to? 
How are you going to get your 

318
00:14:35,720 --> 00:14:37,120
products, your service in their 
hands? 

319
00:14:37,560 --> 00:14:40,480
So I thought, actually I see a 
lot of people talk about social 

320
00:14:40,480 --> 00:14:43,880
media, personal plans. 
I should do that, build up a 

321
00:14:43,880 --> 00:14:46,560
file and build up a bigger 
network in software engineers, 

322
00:14:47,080 --> 00:14:50,000
trade the distribution and then 
figure out what of all the 

323
00:14:50,000 --> 00:14:52,280
problems that software engineers
have, Can I solve that? 

324
00:14:52,280 --> 00:14:55,080
What am I interested in solving?
So I started doing that. 

325
00:14:55,440 --> 00:14:58,080
So I build on my personal brand 
and started building, posting on

326
00:14:58,120 --> 00:15:00,320
LinkedIn like UAE and trying to 
create that. 

327
00:15:00,760 --> 00:15:04,080
And as part of that, I also 
talked to a few people at 

328
00:15:04,080 --> 00:15:07,000
startups and I made a comment 
about MVPS one day. 

329
00:15:07,360 --> 00:15:09,880
And then I decided actually I 
was going to illustrate my point

330
00:15:09,880 --> 00:15:12,560
about MVPS of how quickly and 
easily you could validate and 

331
00:15:12,560 --> 00:15:14,880
test an idea. 
And one of those ideas was 

332
00:15:15,120 --> 00:15:17,120
software engineers want to level
up, they need something to do 

333
00:15:17,120 --> 00:15:17,920
that. 
They're always looking for 

334
00:15:17,920 --> 00:15:19,520
projects. 
Could I create something in that

335
00:15:19,520 --> 00:15:22,200
area? 
And ever since I started 

336
00:15:22,200 --> 00:15:25,800
programming professionally in 
1995, I have built real world 

337
00:15:25,800 --> 00:15:28,000
projects to it. 
I don't, I like picking up a 

338
00:15:28,000 --> 00:15:29,520
buck and just implementing a 
function. 

339
00:15:29,520 --> 00:15:31,080
I wanted to build an actual 
software. 

340
00:15:31,440 --> 00:15:33,440
And I've done that. 
And I've got a correction of 

341
00:15:33,440 --> 00:15:35,680
these projects that I've done 
over the years, some of which I 

342
00:15:35,680 --> 00:15:37,720
no longer do, some of which I do
repeatedly. 

343
00:15:37,920 --> 00:15:40,760
And I thought, fine, I'll just 
put together a newsletter. 

344
00:15:41,120 --> 00:15:42,560
I'll share one of these each 
week. 

345
00:15:42,640 --> 00:15:45,360
I'll share the projects I've 
got, I'll share new ones, and 

346
00:15:45,360 --> 00:15:47,640
I'll see if I can build an 
audience for 1000 people by 

347
00:15:47,640 --> 00:15:50,000
Christmas 2023. 
If I can build an audience of 

348
00:15:50,000 --> 00:15:52,240
that, maybe there's something 
that I'll find as the right 

349
00:15:52,240 --> 00:15:55,200
business idea for me. 
So I announced the newsletter, 

350
00:15:55,480 --> 00:15:59,560
bought a domain name, and I was 
surprised to get 1500 people 

351
00:15:59,560 --> 00:16:02,640
subscribing the first weekend. 
So at that point, for there's 

352
00:16:02,640 --> 00:16:04,760
something here. 
So I'll keep building this and 

353
00:16:05,000 --> 00:16:06,200
I've definitely got to pursue 
this. 

354
00:16:06,200 --> 00:16:08,680
This will lead somehow to the 
business idea of what I'm going 

355
00:16:08,680 --> 00:16:10,400
to pursue, and eventually it 
has. 

356
00:16:10,720 --> 00:16:13,120
I've been selling a few courses 
off the back of coding 

357
00:16:13,120 --> 00:16:16,280
challenges that help people do 
some of the more technical 

358
00:16:16,280 --> 00:16:19,040
challenges. 
I think that's very interesting 

359
00:16:19,040 --> 00:16:22,040
idea in the 1st place, right? 
You came up with the idea you 

360
00:16:22,040 --> 00:16:23,520
want to build a distribution, 
right? 

361
00:16:23,520 --> 00:16:26,920
So you execute that by creating 
MVP, the newsletter. 

362
00:16:27,240 --> 00:16:29,960
And now I think it's been more 
than a year, I believe, right 

363
00:16:29,960 --> 00:16:32,760
for you to run this March. 11th,
2023. 

364
00:16:33,000 --> 00:16:36,360
Started so it's kind of like a 
popular on the LinkedIn. 

365
00:16:36,360 --> 00:16:39,320
I can see that. 
So maybe I'm actually interested

366
00:16:39,320 --> 00:16:43,200
when you say you love building 
real world projects, right? 

367
00:16:43,200 --> 00:16:45,200
Or real world application. 
And in fact in coding 

368
00:16:45,200 --> 00:16:47,160
challenges, you will see 
challenges, something like 

369
00:16:47,480 --> 00:16:50,280
building a password manager, 
building like Redis, building 

370
00:16:50,280 --> 00:16:51,920
like even Docker and things like
that. 

371
00:16:52,200 --> 00:16:56,240
So tell us a little bit more why
we should learn from building 

372
00:16:56,240 --> 00:16:59,360
real world projects rather than 
maybe some people love to do 

373
00:16:59,360 --> 00:17:03,320
algorithm based project. 
So out of these projects are 

374
00:17:03,840 --> 00:17:06,240
great if you want to go and 
learn that algorithm, learning 

375
00:17:06,359 --> 00:17:09,760
that data structure, understand 
how to implement it, maybe test 

376
00:17:09,760 --> 00:17:12,599
out and understand the time 
space complexity so you get that

377
00:17:12,599 --> 00:17:16,119
basic knowledge. 
But very few of us actually like

378
00:17:16,359 --> 00:17:18,880
an implementation of a linked 
list or reverse a linked list in

379
00:17:18,880 --> 00:17:20,319
a real world job. 
It's not what we do. 

380
00:17:20,680 --> 00:17:22,480
And if you do want to do it, 
it's built into the standard 

381
00:17:22,480 --> 00:17:23,920
library. 
If you're programming language. 

382
00:17:24,359 --> 00:17:27,079
The normal challenges we face is
how do we build something 

383
00:17:27,079 --> 00:17:29,000
bigger? 
How do we actually build a full 

384
00:17:29,000 --> 00:17:30,960
application? 
How do we capture requirements? 

385
00:17:31,400 --> 00:17:32,960
How do we understand the network
protocol? 

386
00:17:32,960 --> 00:17:34,480
How do we implement a network 
protocol? 

387
00:17:34,880 --> 00:17:37,080
How are we going to store data? 
What log in do we need? 

388
00:17:37,080 --> 00:17:39,280
How are we going to make system 
observable? 

389
00:17:39,680 --> 00:17:41,600
And all these things you're only
going to do if you're actually 

390
00:17:41,600 --> 00:17:45,160
building something real, not a 
toy application, not a little 

391
00:17:45,160 --> 00:17:47,640
toy function. 
So like say, if you want to 

392
00:17:47,640 --> 00:17:50,040
practice building a network 
protocol and a server and 

393
00:17:50,320 --> 00:17:53,360
exploring asynchronous multi 
threading for high performance 

394
00:17:53,360 --> 00:17:55,480
server, you actually need to 
build a high performance server.

395
00:17:55,480 --> 00:17:57,720
You need to implement the 
network code, you need to build 

396
00:17:57,720 --> 00:18:01,040
a protocol handler. 
So I'll choose to do that and 

397
00:18:01,040 --> 00:18:03,040
actually build those 
applications and experience it. 

398
00:18:03,480 --> 00:18:06,160
And if you take it far enough, 
you then implement things like 

399
00:18:06,160 --> 00:18:08,360
CICD. 
Maybe if you're doing the like 

400
00:18:08,400 --> 00:18:11,040
Dropbox code, you might 
implement some infrastructures 

401
00:18:11,040 --> 00:18:12,560
code. 
You might actually those files 

402
00:18:12,560 --> 00:18:15,000
actually deploying it. 
And when you do that, when you 

403
00:18:15,000 --> 00:18:17,240
build a new application, you 
face the challenges that you 

404
00:18:17,240 --> 00:18:20,160
will in the job. 
You come across issues like, oh,

405
00:18:20,240 --> 00:18:23,440
this dependency is complex or 
this dependency's documentation 

406
00:18:23,440 --> 00:18:25,240
is out of date. 
How do I use this? 

407
00:18:25,240 --> 00:18:27,120
And you have to start solving 
the problems you will in the 

408
00:18:27,120 --> 00:18:30,800
job, which when you're like 10 
line solution for leak code, 

409
00:18:30,960 --> 00:18:32,680
you're not facing those same 
challenges. 

410
00:18:33,160 --> 00:18:37,120
So that's why my focus is like 
build the skills to do the work 

411
00:18:37,120 --> 00:18:40,720
to building real world software.
I think one of the challenges 

412
00:18:40,720 --> 00:18:43,240
definitely in building real 
world application is about the 

413
00:18:43,240 --> 00:18:46,040
experience, right? 
So sometimes if you want to 

414
00:18:46,240 --> 00:18:49,400
learn about algorithm, there are
so many books or maybe resources

415
00:18:49,400 --> 00:18:51,280
that you can look up into as a 
reference. 

416
00:18:51,680 --> 00:18:54,120
But let's say for example, 
building a Docker container, 

417
00:18:54,120 --> 00:18:55,480
right? 
Sometimes it's really hard to 

418
00:18:55,480 --> 00:18:57,840
actually figure out in the 
beginning where to start. 

419
00:18:58,160 --> 00:19:01,400
Maybe if you can give tips for 
people who always face this 

420
00:19:01,400 --> 00:19:02,560
challenge. 
I want to build real 

421
00:19:02,560 --> 00:19:05,200
application, but actually I 
don't know where to start or I 

422
00:19:05,200 --> 00:19:08,000
don't know how should I start. 
So maybe a little bit of tips. 

423
00:19:08,640 --> 00:19:10,720
Well, that's going to sound like
an advertisement I'm afraid, 

424
00:19:10,720 --> 00:19:13,600
because the obvious tips are go 
to coding challenges dot FYI. 

425
00:19:14,200 --> 00:19:16,640
And I've done that work for you.
I have 60 on projects there 

426
00:19:16,640 --> 00:19:19,040
where I've explained what you're
going to build and I've 

427
00:19:19,160 --> 00:19:22,240
explained, you know, for the 
Docker 1, here are the man 

428
00:19:22,240 --> 00:19:23,640
pages. 
Here are how you can look at 

429
00:19:23,640 --> 00:19:26,760
things like sys groups in 
Trigroup and C group and 

430
00:19:26,760 --> 00:19:29,200
Triloot. 
The projects that I put together

431
00:19:29,200 --> 00:19:31,720
don't tell you how to do it. 
They tell you these are the kind

432
00:19:31,720 --> 00:19:34,920
of things you need to know. 
So without that, the way I 

433
00:19:34,920 --> 00:19:38,000
approach it is I go and read 
about the technology, I look for

434
00:19:38,000 --> 00:19:41,000
the documentation, I leave the 
documentation and I apply some 

435
00:19:41,000 --> 00:19:43,520
of the experience I've got over 
the years of say, building a 

436
00:19:43,520 --> 00:19:46,160
network server to like this is 
going to need a protocol 

437
00:19:46,160 --> 00:19:47,440
handler. 
This is going to need something 

438
00:19:47,440 --> 00:19:49,560
that's going to handle 
concurrent clients. 

439
00:19:49,880 --> 00:19:52,240
Oh, there's something 
interesting here like this one 

440
00:19:52,240 --> 00:19:55,160
is for performance reasons, 
they've built this with a 0 

441
00:19:55,160 --> 00:19:57,640
allocation parser. 
Don't read about that and learn 

442
00:19:57,640 --> 00:19:59,040
about that. 
And that's quite interesting. 

443
00:19:59,560 --> 00:20:02,960
Or latest for example, is one of
the few things that come across 

444
00:20:02,960 --> 00:20:05,040
is using skip lists. 
So if you want to learn about 

445
00:20:05,040 --> 00:20:07,240
data structures, that's a 
different data structure you 

446
00:20:07,240 --> 00:20:09,960
don't find in most books. 
It's something interesting you 

447
00:20:09,960 --> 00:20:11,880
can learn about. 
So I can point you towards that.

448
00:20:12,320 --> 00:20:14,720
And also you get a chance to 
apply tools and techniques like 

449
00:20:14,880 --> 00:20:16,160
TDD. 
So again. 

450
00:20:16,560 --> 00:20:19,520
One of my approaches is to think
about, well, what functionality 

451
00:20:19,520 --> 00:20:21,480
is this going to do? 
How can I build a little test 

452
00:20:21,920 --> 00:20:24,320
and perhaps when doing the 
startup sort of things I've 

453
00:20:24,320 --> 00:20:26,880
always thought of, how can I 
break things down into, I think 

454
00:20:26,880 --> 00:20:30,000
what the pragmatic programming 
described as a walk from 

455
00:20:30,000 --> 00:20:32,160
skeleton. 
So what's the smallest vertical 

456
00:20:32,160 --> 00:20:34,840
slice of functionality I can 
pull out and identify? 

457
00:20:35,240 --> 00:20:38,240
So for a server that might be, I
could connect and do a ping. 

458
00:20:38,240 --> 00:20:40,880
In fact, you know, that's pretty
much what it is for Lettuce. 

459
00:20:41,280 --> 00:20:44,520
I can receive a TCP Ari key 
connection, get the ping 

460
00:20:44,520 --> 00:20:46,840
message, parse it, and respond 
correctly with PONG. 

461
00:20:47,160 --> 00:20:49,080
And that's your fairly simple 
walking skeleton. 

462
00:20:49,080 --> 00:20:51,600
And then it's just layering 
stuff on top of that, figuring 

463
00:20:51,600 --> 00:20:53,480
out what the next little 
incremental step is. 

464
00:20:55,000 --> 00:20:58,280
So I believe those of you will 
be actually interested to figure

465
00:20:58,280 --> 00:21:01,360
out how coding challenges can 
help you to actually level up 

466
00:21:01,360 --> 00:21:03,160
right by building real world 
applications. 

467
00:21:03,440 --> 00:21:06,040
And I believe these kind of 
resources are still not a lot 

468
00:21:06,040 --> 00:21:09,600
over the Internet, even like I 
what I can see, for example, by,

469
00:21:09,600 --> 00:21:12,680
but Go sometimes also covers 
this kind of resource, but not 

470
00:21:12,680 --> 00:21:15,200
many books or maybe resources 
that people can refer. 

471
00:21:15,200 --> 00:21:17,160
So I think do check out coding 
challenges. 

472
00:21:17,600 --> 00:21:20,720
One definite aspect, I think you
mentioned this as well last 

473
00:21:20,720 --> 00:21:23,400
time, right, Is that there are 
so many aspects that are 

474
00:21:23,520 --> 00:21:26,200
probably required not in 
building real applications, 

475
00:21:26,200 --> 00:21:27,440
right? 
It's not just the coding, but 

476
00:21:27,440 --> 00:21:31,080
it's like the observability, the
CICD, the testing part, the 

477
00:21:31,080 --> 00:21:34,440
system design, probably the 
quality attributes that needs to

478
00:21:34,440 --> 00:21:36,680
be built in terms of the 
architecture and design. 

479
00:21:37,000 --> 00:21:40,760
So maybe any kind of tips how we
can also level up on these kind 

480
00:21:40,760 --> 00:21:43,280
of aspects, right, not just on 
the functional aspect? 

481
00:21:43,840 --> 00:21:45,600
So I think it's all about 
learning by doing. 

482
00:21:45,600 --> 00:21:48,240
So again, when I like the 
challenges, I quite often leave 

483
00:21:48,240 --> 00:21:49,960
little bits out. 
So I'll say you need to 

484
00:21:49,960 --> 00:21:54,240
implement this protocol or say 
the tar challenge is a 

485
00:21:54,240 --> 00:21:58,720
relatively simple tool, but to 
implement it, I've basically 

486
00:21:58,720 --> 00:22:00,440
pointed you out. 
Here's the spec that you can 

487
00:22:00,440 --> 00:22:03,120
find in Wikipedia. 
Go and leave the file format and

488
00:22:03,120 --> 00:22:05,240
understand it. 
Here are some of the tools you 

489
00:22:05,240 --> 00:22:07,640
can use to actually go and 
explore the binary file. 

490
00:22:08,240 --> 00:22:10,360
It's better to see what's in it 
and explore that data and start 

491
00:22:10,360 --> 00:22:12,640
understanding it. 
And even if you didn't do the 

492
00:22:12,680 --> 00:22:15,240
challenge and write the code, 
you'd go and look at the binary 

493
00:22:15,240 --> 00:22:16,800
file and say, well, it's got a 
header. 

494
00:22:16,880 --> 00:22:19,560
The header has these bytes. 
Well, that's how we structure 

495
00:22:19,560 --> 00:22:21,440
stuff. 
If you do a couple of these 

496
00:22:21,440 --> 00:22:23,960
things, you might recognize that
actually some of these file 

497
00:22:23,960 --> 00:22:27,880
formats have commonality with 
protocols over the wire. 

498
00:22:28,280 --> 00:22:31,400
So that learning by doing that, 
being curious and digging into 

499
00:22:31,400 --> 00:22:33,280
it. 
And again, if you aren't 

500
00:22:33,280 --> 00:22:36,240
building something real and 
having to go through all these 

501
00:22:36,240 --> 00:22:38,680
steps, you're not getting that 
experience that you will. 

502
00:22:38,680 --> 00:22:41,400
And a job of somebody's going to
give me vague requirements. 

503
00:22:41,840 --> 00:22:44,080
We all know how important it is 
to give good requirements, but 

504
00:22:44,080 --> 00:22:45,440
the reality is you don't get 
them. 

505
00:22:45,440 --> 00:22:47,120
You will have to get your 
requirements and you'll have to 

506
00:22:47,120 --> 00:22:48,880
leave them and go. 
But what about this? 

507
00:22:49,080 --> 00:22:51,640
What about this edge case? 
Have we thought about this? 

508
00:22:51,680 --> 00:22:54,960
And now common objection to TDD 
is we can't do TDD because we 

509
00:22:54,960 --> 00:22:58,280
don't have good requirements. 
Well, whether you like TDD or 

510
00:22:58,280 --> 00:23:00,560
not, you very rarely get good 
requirements. 

511
00:23:00,560 --> 00:23:03,520
Part of the job is Lens, Go. 
These things are missing. 

512
00:23:03,600 --> 00:23:05,480
How do I get them? 
How do I get them for myself? 

513
00:23:06,000 --> 00:23:08,520
By either asking somebody, how 
do I work them out? 

514
00:23:08,560 --> 00:23:12,160
How do I find the documentation 
or the protocol that you know, 

515
00:23:12,160 --> 00:23:14,360
if you get asked to like say 
something that's going to do 

516
00:23:14,360 --> 00:23:17,400
DNS, you will need to better go 
and be self motivated and 

517
00:23:17,400 --> 00:23:20,360
curious enough to go and find 
the RFC that defines DNS and 

518
00:23:20,360 --> 00:23:21,800
figure it out. 
You're not going to get a 

519
00:23:21,800 --> 00:23:24,520
product owner that's going to 
come and tell you what the DNS 

520
00:23:24,520 --> 00:23:26,640
protocol is. 
You will have to find the skills

521
00:23:26,640 --> 00:23:28,840
to figure that out. 
So again, let's learn by doing 

522
00:23:28,840 --> 00:23:30,760
this. 
Go and experiment, be curious 

523
00:23:30,840 --> 00:23:33,600
and go and take steps that you 
will have to do in the job. 

524
00:23:34,400 --> 00:23:36,560
I think you mentioned something 
really important for any 

525
00:23:36,560 --> 00:23:39,360
software engineers, right? 
Is that the importance of 

526
00:23:39,360 --> 00:23:42,640
requirement and breaking it down
actually to the smallest thing 

527
00:23:42,640 --> 00:23:45,000
that you can do, right? 
If you're stuck, do some kind of

528
00:23:45,000 --> 00:23:47,800
research, ask the people, right,
and clarify the requirements 

529
00:23:47,800 --> 00:23:49,960
before you actually proceed. 
I think that's a very, very 

530
00:23:49,960 --> 00:23:52,000
important skill set. 
And like what you mentioned, 

531
00:23:52,000 --> 00:23:53,600
right? 
In my experience as well, in my 

532
00:23:53,600 --> 00:23:56,400
career, I've never seen any 
requirements that is complete 

533
00:23:56,920 --> 00:23:59,200
and kind of like everything is 
perfect, you know, you just 

534
00:23:59,200 --> 00:24:01,240
follow and then you get 
everything done. 

535
00:24:01,600 --> 00:24:04,000
So I think it's very rare to see
that kind of thing. 

536
00:24:04,400 --> 00:24:07,400
So learning by doing is 
definitely very important. 

537
00:24:07,400 --> 00:24:10,920
How much time people should 
spend doing outside of their job

538
00:24:11,000 --> 00:24:12,800
or their role to actually level 
up. 

539
00:24:12,880 --> 00:24:15,440
I think that's also another 
thing that some people are they 

540
00:24:15,440 --> 00:24:18,120
want to do it, but they couldn't
find the time. 

541
00:24:18,120 --> 00:24:19,840
So maybe a little bit of tips 
from you. 

542
00:24:20,640 --> 00:24:22,680
Sure, I mean, we all struggle 
for time, don't we? 

543
00:24:22,680 --> 00:24:25,080
And that's, that's a choice 
we've all got to make and how we

544
00:24:25,080 --> 00:24:26,760
do it. 
For me, it's quite easy 

545
00:24:26,760 --> 00:24:29,320
nowadays, you know, this 
exploration is my passion. 

546
00:24:29,320 --> 00:24:32,520
It's grounded in my business. 
In the past I've approached it 

547
00:24:32,520 --> 00:24:35,200
by looking at where there is 
dead time in my day. 

548
00:24:35,480 --> 00:24:38,680
So I've commuted to London a 
number of times on the train, 

549
00:24:38,680 --> 00:24:42,000
which is generally a pretty 
horrific 2 hour journey each 

550
00:24:42,000 --> 00:24:43,680
way. 
But that could be 4 hours. 

551
00:24:44,040 --> 00:24:46,240
Sit with a laptop, sit with a 
buck and learn something new. 

552
00:24:46,760 --> 00:24:51,360
And other times I've had jobs 
where scheduling is inefficient.

553
00:24:51,360 --> 00:24:54,040
People often like for meetings. 
I haven't been opposed to 

554
00:24:54,040 --> 00:24:56,400
carrying a buck or carrying my 
laptop down with some learning 

555
00:24:56,400 --> 00:24:58,320
on it. 
If I get to a meeting room, it's

556
00:24:58,320 --> 00:24:59,880
time for meeting and no one else
is there. 

557
00:24:59,880 --> 00:25:03,040
Sit and read and go through a 
blog post, go through some 

558
00:25:03,040 --> 00:25:04,800
documentation, make use of that 
time. 

559
00:25:05,240 --> 00:25:07,680
And I just looked for ways of 
fitting it in front of my day. 

560
00:25:08,520 --> 00:25:11,640
I've worked at a company, we're 
going around 1516 years now, 

561
00:25:11,640 --> 00:25:14,520
where quite often it took 10 
minutes to do a build and then a

562
00:25:14,520 --> 00:25:16,320
test. 
Not 10 minutes. 

563
00:25:16,600 --> 00:25:19,600
You couldn't do anything else. 
So I went through a bunch of 

564
00:25:19,600 --> 00:25:21,880
Hipsetas articles on Doctor 
Dobbs at the time. 

565
00:25:22,240 --> 00:25:25,080
Every time I did a build, click 
the build off, read an article. 

566
00:25:25,080 --> 00:25:27,880
So looking for little bits of 
time you can find in your day 

567
00:25:27,880 --> 00:25:31,760
that you can make use of things.
More recently, I was working at 

568
00:25:31,760 --> 00:25:36,880
the UK Met Office, quite a nice 
campus and over lunch I'd stick 

569
00:25:36,880 --> 00:25:39,200
a podcast on the walk lapse of 
the campus. 

570
00:25:39,560 --> 00:25:42,120
We're getting a bit of excise, 
getting some fresh air and 

571
00:25:42,160 --> 00:25:44,520
listening to a podcast. 
Same one out again. 

572
00:25:44,520 --> 00:25:47,160
It's an hour and a half drive 
from there back to where I live.

573
00:25:47,480 --> 00:25:50,160
Stick a podcast and in the car. 
So the little the little times 

574
00:25:50,160 --> 00:25:52,720
when most of us can find time 
during a day if we want. 

575
00:25:53,040 --> 00:25:54,440
Just looking at how do you use 
that? 

576
00:25:54,840 --> 00:25:57,400
How do you fit things in? 
How can you call that back? 

577
00:25:57,400 --> 00:25:59,840
And if you look, there's quite a
lot of bits of wasted time 

578
00:25:59,840 --> 00:26:02,360
during your day. 
Now, they won't be as efficient 

579
00:26:02,360 --> 00:26:04,880
if you get that 5 minutes at the
end of the meeting or before 

580
00:26:04,880 --> 00:26:07,800
meeting when you wait for else 
and you'll get interrupted just 

581
00:26:07,800 --> 00:26:09,520
maybe as you get into the juicy 
bit of the blog. 

582
00:26:09,920 --> 00:26:12,600
So it's not as efficient as if 
you sat down and had an hour 

583
00:26:12,600 --> 00:26:15,040
focused on to do it. 
But if you learn struggling for 

584
00:26:15,040 --> 00:26:17,360
time, it gets you something, it 
gets you moving. 

585
00:26:17,360 --> 00:26:20,920
And then I've always been quite 
lucky to work with teams where 

586
00:26:20,920 --> 00:26:23,880
we've had an emphasis on CPT or 
when I've been a manager, I've 

587
00:26:23,880 --> 00:26:26,000
done that. 
So we've normally set aside one 

588
00:26:26,000 --> 00:26:29,160
or two hours a week to better do
that quite with A-Team member 

589
00:26:29,160 --> 00:26:32,600
doing a presentation or bringing
on a YouTube video they thought 

590
00:26:32,600 --> 00:26:36,200
was interesting on a conference 
talks or podcast, sticking on 

591
00:26:36,200 --> 00:26:38,840
for half an hour as a team, 
watching it and then discussing 

592
00:26:38,880 --> 00:26:41,360
it. 
That is really practical tips, 

593
00:26:41,360 --> 00:26:42,880
right? 
For those of us who struggle, 

594
00:26:42,880 --> 00:26:45,920
always struggle to find time, or
some of us actually think if you

595
00:26:45,920 --> 00:26:48,280
want to learn something deep, we
have to spend, I don't know, 

596
00:26:48,280 --> 00:26:51,160
like how many hours 
uninterrupted before we can 

597
00:26:51,160 --> 00:26:53,480
actually learn something. 
But actually that is not true, 

598
00:26:53,480 --> 00:26:56,560
just like what John mentioned 
here, find a little bit of time 

599
00:26:56,560 --> 00:26:58,520
here and there, right? 
Maybe during your commute, maybe

600
00:26:58,520 --> 00:27:01,680
during your break or maybe even 
before the meeting starts. 

601
00:27:01,840 --> 00:27:03,400
And actually quite classic, 
right? 

602
00:27:03,400 --> 00:27:06,200
When the build actually is 
running, because I believe 10 

603
00:27:06,200 --> 00:27:09,240
minutes is quite fast for you 
actually, so many people run 

604
00:27:09,240 --> 00:27:11,760
maybe like 30 minutes to one 
hour kind of a build. 

605
00:27:11,800 --> 00:27:14,040
So don't waste the time there. 
Actually, you can learn 

606
00:27:14,040 --> 00:27:17,960
something while waiting. 
So another thing that I'm really

607
00:27:17,960 --> 00:27:20,200
interested in, right? 
You actually mentioned before 

608
00:27:20,200 --> 00:27:23,560
this conversation that you'll 
find many engineers aspire to 

609
00:27:23,560 --> 00:27:27,600
work in a big tech companies. 
But actually in reality, so many

610
00:27:27,600 --> 00:27:30,320
engineers you mentioned, like 
99% of engineers probably 

611
00:27:30,320 --> 00:27:32,640
wouldn't have a chance to 
actually work in big tech 

612
00:27:32,640 --> 00:27:34,600
company. 
And hence we should actually 

613
00:27:34,600 --> 00:27:38,480
focus on leveling up working in 
this kind of like non big tech 

614
00:27:38,480 --> 00:27:40,560
company. 
So tell us a little bit more 

615
00:27:40,560 --> 00:27:43,920
about this reality, right? 
Because many people still aspire

616
00:27:43,920 --> 00:27:47,320
to work in a big tech giants, 
but yet not many opportunities 

617
00:27:47,320 --> 00:27:49,880
are available, right? 
So tell us a little bit more 

618
00:27:49,880 --> 00:27:54,200
about your perspective here. 
So I did the numbers on that 

619
00:27:54,200 --> 00:27:58,000
about six or seven months ago 
because social media is flooded 

620
00:27:58,000 --> 00:28:02,520
with people telling you how to 
delete code, do system design 

621
00:28:02,520 --> 00:28:06,280
and pass the interview to get 
into Google, Facebook or, you 

622
00:28:06,360 --> 00:28:07,560
know, big tech company of 
choice. 

623
00:28:07,960 --> 00:28:11,200
And when I did the numbers, the 
number of engineers they've all 

624
00:28:11,200 --> 00:28:14,840
got, it's less than 1% of the 
people that are working software

625
00:28:14,840 --> 00:28:17,840
engineers. 
So 99% of us aren't working in 

626
00:28:17,840 --> 00:28:20,680
big tech now. 
Some of us probably never will. 

627
00:28:21,200 --> 00:28:24,240
Until very recently, most big 
tech in the UK, what there was 

628
00:28:24,240 --> 00:28:26,720
of it was based in London. 
I've spent most of my career 

629
00:28:26,720 --> 00:28:29,920
trying not to work in London. 
So whether or not big tech 

630
00:28:29,920 --> 00:28:33,120
wanted me, I didn't want to work
in London in their offices. 

631
00:28:33,120 --> 00:28:35,520
I didn't want that commute. 
I wasn't prepared to move there.

632
00:28:35,880 --> 00:28:39,040
I mean, if we've got accepted, I
don't know and not pursued it, 

633
00:28:39,320 --> 00:28:41,600
but outside of London, if you 
don't live in London in UK and 

634
00:28:41,600 --> 00:28:43,240
you're not able, you don't want 
to move there. 

635
00:28:43,400 --> 00:28:45,240
There was just been very few 
opportunities. 

636
00:28:45,240 --> 00:28:47,400
There's a few more now that you 
can work them out with and now 

637
00:28:47,400 --> 00:28:50,320
that things have evolved, but 
there's probably a lot of 

638
00:28:50,320 --> 00:28:52,720
smarter people than me that are 
better suited to fit themselves 

639
00:28:52,720 --> 00:28:54,440
and again, want kind of 
lifestyle. 

640
00:28:54,880 --> 00:28:56,240
But for most of us, there's not 
going to be. 

641
00:28:56,240 --> 00:28:58,840
And there's, again, if you look 
at social media, there's this 

642
00:28:58,840 --> 00:29:01,360
impression that everybody works 
in big tech, everybody builds 

643
00:29:01,360 --> 00:29:05,360
websites, everybody does data 
engineering the way that Airbnb 

644
00:29:05,400 --> 00:29:07,160
do. 
But there's not, there's a 

645
00:29:07,160 --> 00:29:08,720
massive world out there. 
There are people who are 

646
00:29:08,720 --> 00:29:12,040
building software that fits in 
the microphone we're using today

647
00:29:12,040 --> 00:29:14,280
or in the webcam that we're 
using today, in the audio 

648
00:29:14,280 --> 00:29:17,240
interface that's in front of me.
Software in guitars these days. 

649
00:29:17,240 --> 00:29:19,920
There are software in the guitar
amplifiers these days. 

650
00:29:20,320 --> 00:29:21,920
There are software in the lights
around me. 

651
00:29:21,920 --> 00:29:24,240
There's software in your washing
machine, your fridge, the 

652
00:29:24,240 --> 00:29:27,920
medical devices that are in our 
hospitals, the aircraft, the air

653
00:29:27,920 --> 00:29:30,880
traffic control, the ships. 
We have everything. 

654
00:29:31,480 --> 00:29:33,000
People are building all this 
software. 

655
00:29:33,000 --> 00:29:35,720
And there's a whole world of 
software outside of web 

656
00:29:35,720 --> 00:29:38,720
development that almost gets 
forgotten about in social media.

657
00:29:39,080 --> 00:29:40,120
And a lot of it's very 
interesting. 

658
00:29:40,120 --> 00:29:42,400
There's some really fun 
engineering challenges, you 

659
00:29:42,400 --> 00:29:44,640
know, if you're trying to build 
some software that's still thing

660
00:29:44,640 --> 00:29:48,720
on an 8 or 16 bit processor with
16 K of RAM, it's a fairly 

661
00:29:48,720 --> 00:29:51,400
different experience to building
stuff on a web server with 64 

662
00:29:51,400 --> 00:29:53,800
gig of RAM. 
And however many see on cores or

663
00:29:53,800 --> 00:29:55,400
whatever. 
And there's still people doing 

664
00:29:55,400 --> 00:29:57,680
that, then they'll still, you 
know, take your iPhone for 

665
00:29:57,680 --> 00:30:00,000
example. 
There are dozens of small chips 

666
00:30:00,000 --> 00:30:02,880
in there, all running their own 
little embedded operating 

667
00:30:02,880 --> 00:30:05,400
system, all with software that's
been written by somebody. 

668
00:30:05,960 --> 00:30:07,280
And we forget about all of 
those. 

669
00:30:07,280 --> 00:30:10,280
And there's a lot of there's a 
huge world of software. 

670
00:30:11,880 --> 00:30:13,760
Yeah. 
So I think there's a trend of, 

671
00:30:13,760 --> 00:30:15,920
you know, learning system design
just like what you mentioned, 

672
00:30:15,920 --> 00:30:17,680
right? 
And preparing for these big 

673
00:30:17,680 --> 00:30:20,320
interviews as if like that 
you're interviewing for maybe 

674
00:30:20,320 --> 00:30:23,280
the Fang, right, the Google, the
Facebook, the Amazon and all 

675
00:30:23,280 --> 00:30:25,400
that. 
And people focus a lot on that 

676
00:30:25,480 --> 00:30:28,680
because simply the job is 
probably attractive, right? 

677
00:30:28,680 --> 00:30:31,160
You're probably solving bigger 
problem, you get a better pay 

678
00:30:31,160 --> 00:30:34,400
and things like that. 
But in reality, maybe 99% of us 

679
00:30:34,400 --> 00:30:37,000
actually probably don't have a 
chance to actually work in such 

680
00:30:37,000 --> 00:30:39,920
big tech company. 
And I think even building 

681
00:30:39,920 --> 00:30:43,160
website and those APIs, right? 
I think software is hitting the 

682
00:30:43,160 --> 00:30:45,320
world these days. 
Everyone wants to build software

683
00:30:45,320 --> 00:30:48,360
in their company, right? 
So tell us a little bit more 

684
00:30:48,360 --> 00:30:50,960
what kind of skill set actually 
very important outside of the 

685
00:30:50,960 --> 00:30:54,000
big tech giants that we should 
actually also level up. 

686
00:30:54,880 --> 00:30:56,360
So I think. 
One key thing though is system 

687
00:30:56,360 --> 00:30:59,960
design, so be aware there are 
systems outside of these big 

688
00:30:59,960 --> 00:31:02,480
websites. 
So for example, my first 

689
00:31:02,480 --> 00:31:05,240
exposure to system design was 
actually working on the 

690
00:31:05,240 --> 00:31:07,000
signaling system for the 
Singapore Metro. 

691
00:31:07,440 --> 00:31:10,960
Now that at the time was a a 
pretty big distributed system. 

692
00:31:10,960 --> 00:31:14,520
We're talking, if I remember 
rightly, there's about 64 nodes 

693
00:31:14,520 --> 00:31:17,680
to that network, few central 
servers and they're running over

694
00:31:17,680 --> 00:31:22,400
96 board serial originally. 
So very slow serial connections 

695
00:31:22,400 --> 00:31:24,880
between all different stations 
between all the signal systems. 

696
00:31:25,360 --> 00:31:29,000
And back in 2000 when I worked 
on that, that was a pretty big 

697
00:31:29,000 --> 00:31:31,400
distributed system. 
There's some fairly powerful 

698
00:31:31,400 --> 00:31:35,320
central servers there. 
It's a network of serial cables 

699
00:31:35,320 --> 00:31:37,360
of that would say nearly 70 
nodes. 

700
00:31:37,800 --> 00:31:39,440
That was quite big. 
How do you manage all that? 

701
00:31:39,440 --> 00:31:40,880
How do you make sure all that's 
going through? 

702
00:31:41,080 --> 00:31:42,240
There are very different 
challenges. 

703
00:31:42,240 --> 00:31:44,200
It's also, it's a safety 
critical system. 

704
00:31:44,400 --> 00:31:47,480
If trains crash into each other,
people potentially die. 

705
00:31:47,840 --> 00:31:50,880
It's a very different level of 
experience versus your Google 

706
00:31:50,880 --> 00:31:52,560
search is 100 milliseconds 
slower. 

707
00:31:53,000 --> 00:31:55,640
So you click on one of us add. 
It's a very different level of 

708
00:31:55,640 --> 00:31:57,280
scale. 
And you know, the same I'm sure 

709
00:31:57,280 --> 00:32:00,520
for people doing software in 
avionics and aircraft and air 

710
00:32:00,520 --> 00:32:03,160
traffic control or people doing 
software for NASA. 

711
00:32:03,560 --> 00:32:05,600
NASA is a great example. 
They've been doing it for years,

712
00:32:06,000 --> 00:32:08,760
far more focused on defensive 
programming, far more focused on

713
00:32:08,760 --> 00:32:11,760
how do we have very, very high 
quality because you don't get a 

714
00:32:11,760 --> 00:32:13,440
second shot. 
Yeah. 

715
00:32:13,440 --> 00:32:16,040
And also we don't have that 
issue of scale. 

716
00:32:16,320 --> 00:32:18,520
Instead, we want hard real time 
deadlines. 

717
00:32:18,520 --> 00:32:20,720
And again, a lot of software 
engineers nowadays don't really 

718
00:32:20,720 --> 00:32:22,320
know what real time means, for 
example. 

719
00:32:22,760 --> 00:32:25,320
And for someone like NASA, it is
hard real time. 

720
00:32:25,680 --> 00:32:28,320
If you change the angle of entry
of a spaceship coming into an 

721
00:32:28,320 --> 00:32:31,320
atmosphere, it burns up and gets
destroyed and you've lost 

722
00:32:31,360 --> 00:32:34,520
hundreds of millions of dollars 
and again, maybe people's lives.

723
00:32:34,960 --> 00:32:36,560
It's a completely different 
environment. 

724
00:32:36,880 --> 00:32:40,600
So the skill sets you get very 
hugely and it depends which area

725
00:32:40,680 --> 00:32:43,400
you're going to go into. 
One thing I like to restrict 

726
00:32:43,400 --> 00:32:45,880
there is, I've talked a few 
times about data engineering 

727
00:32:46,400 --> 00:32:47,600
now. 
I've done a bunch of data 

728
00:32:47,600 --> 00:32:50,440
engineering over the last 6-7 
years in that I've hardly been 

729
00:32:50,440 --> 00:32:52,800
in any SQL. 
You see a lot of talk about data

730
00:32:52,800 --> 00:32:56,160
engineering and social media and
it's all about Spark. 

731
00:32:56,640 --> 00:32:59,080
How do we handle this data, How 
to go into Snowflake? 

732
00:32:59,560 --> 00:33:01,760
The data engineer that I've done
has been with hundreds of 

733
00:33:01,760 --> 00:33:04,120
terabytes of data, but it's all 
been binary. 

734
00:33:04,160 --> 00:33:06,880
It's been binary data for 
climate models that come off a 

735
00:33:06,880 --> 00:33:09,640
supercomputer. 
It's been binary data for audio 

736
00:33:09,640 --> 00:33:12,360
files that are being processed 
and used to train machine 

737
00:33:12,360 --> 00:33:15,240
learning algorithms. 
So the key skills you want to 

738
00:33:15,240 --> 00:33:17,440
have is that curiosity, that 
awareness that there are more 

739
00:33:17,440 --> 00:33:20,400
things out there, the awareness 
that everything is not a 

740
00:33:20,400 --> 00:33:24,040
website, the awareness that some
things have very different 

741
00:33:24,040 --> 00:33:26,560
constraints. 
Scale can be very, very 

742
00:33:26,560 --> 00:33:29,040
different again. 
So taking one of the systems 

743
00:33:29,040 --> 00:33:33,680
I've worked on recently, we had 
10 users at most, but it was 

744
00:33:33,680 --> 00:33:36,800
pushing 20-30 terabytes of data 
a day through the system. 

745
00:33:37,120 --> 00:33:40,200
That's quite big scale in one 
dimension, but minuscule in the 

746
00:33:40,200 --> 00:33:42,720
number of users. 
But those number of users could 

747
00:33:42,720 --> 00:33:45,200
easily push hundreds of millions
of requests a day. 

748
00:33:45,680 --> 00:33:48,320
So it gives you a very different
perspective. 

749
00:33:48,320 --> 00:33:51,560
Also, the key skill to be 
curious, be interested, be 

750
00:33:51,560 --> 00:33:54,160
adaptable, be aware that the 
different technologies out 

751
00:33:54,160 --> 00:33:57,040
there, different approaches, and
be willing to go and look for 

752
00:33:57,040 --> 00:34:00,000
the different experiences and 
different approaches that people

753
00:34:00,000 --> 00:34:03,040
have got because you can't when 
you do that kind of engineering.

754
00:34:03,040 --> 00:34:04,920
So that's talked about. 
They aren't necessary. 

755
00:34:04,920 --> 00:34:06,320
The books about it, they aren't 
necessary. 

756
00:34:06,360 --> 00:34:09,199
This is how Google does railway 
signaling systems or this is how

757
00:34:09,239 --> 00:34:12,480
Google does avionics. 
You have to hunt down and track 

758
00:34:12,480 --> 00:34:15,520
down people with expertise and 
dig into it and have that 

759
00:34:15,520 --> 00:34:18,360
curiosity, right? 
I think curiosity is. 

760
00:34:18,360 --> 00:34:21,120
Definitely important no matter 
you're dealing with web or 

761
00:34:21,159 --> 00:34:23,960
dealing with avionics or maybe 
any kind of software, right? 

762
00:34:23,960 --> 00:34:26,920
Be curious, having the passion 
to actually want to learn. 

763
00:34:26,920 --> 00:34:29,000
I think that's also another 
important stuff, right? 

764
00:34:29,320 --> 00:34:32,159
Because it's very easy to get 
stuck and just give up, right? 

765
00:34:32,159 --> 00:34:35,360
But actually figuring out the 
community, maybe finding open 

766
00:34:35,360 --> 00:34:37,920
source project where you can 
learn from and even like 

767
00:34:37,920 --> 00:34:40,520
listening to podcast, all these 
resources that are available, 

768
00:34:40,520 --> 00:34:42,239
right? 
I think curiosity is definitely 

769
00:34:42,239 --> 00:34:44,639
very, very important. 
So speaking about software 

770
00:34:44,639 --> 00:34:47,920
engineering, 1 trend that is not
going away is actually the 

771
00:34:48,000 --> 00:34:51,120
involvement of AI, be it 
building websites or building 

772
00:34:51,120 --> 00:34:53,719
any kind of systems. 
So what's your view? 

773
00:34:53,719 --> 00:34:56,360
What's your take about AI in the
software engineering role? 

774
00:34:57,080 --> 00:34:58,480
So AI. 
Find quite interesting. 

775
00:34:58,840 --> 00:35:02,520
I literally got into software 
because I was interested in AII,

776
00:35:03,000 --> 00:35:06,440
was trying to do AI as a 10 year
old on the PVC micro, which 

777
00:35:06,600 --> 00:35:10,200
obviously was deemed to failure 
and AI was maybe from too much 

778
00:35:10,200 --> 00:35:11,880
sci-fi. 
It was the passion what got me 

779
00:35:11,880 --> 00:35:13,280
interested in all these years 
ago. 

780
00:35:13,840 --> 00:35:17,360
And it was kind of the late 80s 
when there was a bit of an AI 

781
00:35:17,360 --> 00:35:20,960
hope cycle anyway. 
Then we had the AI winter right 

782
00:35:20,960 --> 00:35:23,000
from the late 80s all the way 
through. 

783
00:35:23,000 --> 00:35:26,040
My career has been in the next 
five years AI is going to put 

784
00:35:26,040 --> 00:35:30,000
software engineers out of a job.
I think one day it might happen,

785
00:35:30,360 --> 00:35:32,640
but I think it's a lot further 
away than we think. 

786
00:35:33,080 --> 00:35:36,360
The current LLMS are amazing. 
You can do some great things 

787
00:35:36,360 --> 00:35:38,720
with them, but they don't 
reason. 

788
00:35:39,120 --> 00:35:41,480
And you can see plenty of 
examples of this if, if you 

789
00:35:41,480 --> 00:35:45,040
genuinely look, they are 
effectively statistically 

790
00:35:45,360 --> 00:35:48,200
picking what's likely to be the 
next text in response to the 

791
00:35:48,200 --> 00:35:50,640
text that you've put in. 
That can be incredibly powerful.

792
00:35:50,640 --> 00:35:54,040
If you want some evolutionism or
maybe translate the port a 

793
00:35:54,040 --> 00:35:57,080
little bit, look at what code 
would be next has been done 

794
00:35:57,080 --> 00:35:59,840
before, but it's missing the 
reasoning. 

795
00:35:59,840 --> 00:36:02,520
So I don't see it being a big 
factor software engineers jobs 

796
00:36:02,520 --> 00:36:04,920
anytime soon. 
I do see it as potentially quite

797
00:36:04,920 --> 00:36:08,280
an interesting tool and one that
we can leverage in many 

798
00:36:08,280 --> 00:36:10,840
different ways. 
Probably more for us to say that

799
00:36:10,840 --> 00:36:13,320
translating data, how do we take
something and present it in a 

800
00:36:13,320 --> 00:36:15,880
different way, which could be 
incredibly useful for learning 

801
00:36:15,880 --> 00:36:17,640
as well as reporting and 
analysis. 

802
00:36:17,640 --> 00:36:20,760
Because one of the things I've 
done a lot when I wanted to 

803
00:36:20,760 --> 00:36:23,520
learn something new is find 
multiple different sources, find

804
00:36:23,520 --> 00:36:25,400
multiple different blogs and 
multiple different books. 

805
00:36:25,400 --> 00:36:28,160
Because every author presents 
things in a different way. 

806
00:36:28,160 --> 00:36:31,400
And I have maybe found with a 
subject, I might learn 10% from 

807
00:36:31,400 --> 00:36:34,680
one book, 20% from a different 
book, 15% from a video. 

808
00:36:34,880 --> 00:36:37,360
Because they all presented 
things with a different slant, a

809
00:36:37,360 --> 00:36:39,520
different viewpoint, used 
different terminology. 

810
00:36:39,880 --> 00:36:42,560
Some would use longer, fancier 
words and I have no idea what 

811
00:36:42,560 --> 00:36:45,000
they're about. 
And some would talk to me like a

812
00:36:45,000 --> 00:36:47,480
5 year old. 
So AI is potentially incredibly 

813
00:36:47,480 --> 00:36:49,760
useful for us to take these 
things and say we present this 

814
00:36:49,760 --> 00:36:52,760
to me as though I'm a 5 year old
or present this to me as if I 

815
00:36:52,760 --> 00:36:54,280
haven't heard of these 
technologies. 

816
00:36:54,800 --> 00:36:56,440
I think it'd be very useful for 
learning for that. 

817
00:36:56,440 --> 00:36:58,760
But I don't see who placing 
software engineers anytime soon.

818
00:36:59,080 --> 00:37:01,040
And the final reason for all 
that is what we touched on 

819
00:37:01,040 --> 00:37:03,640
earlier is the hard bit is good 
requirements. 

820
00:37:04,040 --> 00:37:08,040
You replace a coder with AI, you
still got to tell it what the 

821
00:37:08,040 --> 00:37:10,440
requirements are. 
If you can't do that, it's going

822
00:37:10,440 --> 00:37:13,040
to give you just as bad software
as coder will. 

823
00:37:13,280 --> 00:37:14,360
It's going to struggle to your 
side. 

824
00:37:14,360 --> 00:37:16,040
We will. 
I think that's a very. 

825
00:37:16,040 --> 00:37:18,240
Very valid point, right? 
The requirements, right? 

826
00:37:18,240 --> 00:37:21,040
Something that probably AI 
wouldn't be able to help us. 

827
00:37:21,400 --> 00:37:25,600
And as I think also as long as 
the software is used by human as

828
00:37:25,600 --> 00:37:27,480
in like they have human 
interface, right? 

829
00:37:27,760 --> 00:37:30,040
Probably something also that 
needs a little bit more 

830
00:37:30,040 --> 00:37:33,520
creativity, which yeah, probably
wouldn't be able to provide best

831
00:37:33,520 --> 00:37:35,480
as of now. 
And what you mentioned, right? 

832
00:37:35,520 --> 00:37:37,400
AI currently doesn't have a good
reasoning. 

833
00:37:37,400 --> 00:37:40,440
It's all always based on like 
statistical or sometimes 

834
00:37:40,680 --> 00:37:43,680
undeterministic, right? 
That can probably lead to some 

835
00:37:43,680 --> 00:37:47,240
bugs if you are not careful. 
I've been using AIA lot lately 

836
00:37:47,240 --> 00:37:48,960
as well. 
So I find it really interesting,

837
00:37:48,960 --> 00:37:52,200
although sometimes frustrated as
well because of what I wanted 

838
00:37:52,200 --> 00:37:54,560
actually didn't get executed by 
the AI. 

839
00:37:54,840 --> 00:37:57,680
So I have to fix that. 
So I think there's always this 

840
00:37:57,680 --> 00:38:00,320
kind of challenges here and 
there, but I think definitely we

841
00:38:00,320 --> 00:38:03,800
all agree that AI can be really 
useful to help us maybe boost 

842
00:38:03,960 --> 00:38:07,120
our skill set, learning about 
new things, asking questions 

843
00:38:07,120 --> 00:38:09,720
from like multiple perspectives.
I find it really interesting as 

844
00:38:09,720 --> 00:38:11,880
well, right? 
Because so many things now we 

845
00:38:11,880 --> 00:38:15,040
can just ask AI to actually give
us a kick start, right? 

846
00:38:15,040 --> 00:38:17,880
You know, like if I learn 
something that AI can give us a 

847
00:38:17,880 --> 00:38:20,040
kick start and we can move on 
from there. 

848
00:38:20,400 --> 00:38:22,400
So how about coding challenges 
here? 

849
00:38:22,800 --> 00:38:25,760
Can AI actually help you solve 
those coding challenges? 

850
00:38:26,080 --> 00:38:29,800
Or how would you envision, you 
know, using AI to work on those 

851
00:38:29,800 --> 00:38:32,120
coding challenges that you have?
So. 

852
00:38:32,120 --> 00:38:35,880
I haven't seen anyone solve them
with coding both AI yet and the 

853
00:38:35,880 --> 00:38:39,160
few that I've tried and 
experiment with the AIS haven't 

854
00:38:39,160 --> 00:38:41,000
been. 
They can without hoping. 

855
00:38:41,000 --> 00:38:43,600
Not getting sued by Stack 
Overflow, but when you've asked 

856
00:38:43,600 --> 00:38:46,200
them how do you implement this, 
they've given an answer that 

857
00:38:46,200 --> 00:38:48,440
looks incredibly like what was 
on the Stack Overflow. 

858
00:38:48,760 --> 00:38:51,680
So the kind of dumbed down 
version that doesn't meet all 

859
00:38:51,680 --> 00:38:54,600
the requirements. 
And it almost looks like 

860
00:38:54,600 --> 00:38:57,320
actually gurgitating information
from a Stack Overflow answer. 

861
00:38:57,920 --> 00:39:00,160
And we all know that that's not 
software engineering. 

862
00:39:00,160 --> 00:39:02,080
You can't just copy and paste it
stack over you. 

863
00:39:02,080 --> 00:39:05,040
We need to actually understand 
the code better, reason about 

864
00:39:05,040 --> 00:39:07,160
it, better the requirements in 
edge cases. 

865
00:39:07,560 --> 00:39:11,040
So it's fallen short on that 
side from what I've seen, but 

866
00:39:11,040 --> 00:39:13,960
Mike Formson did an excellent 
piece, must be about eight or 

867
00:39:13,960 --> 00:39:15,680
nine months ago now, where he 
went through one of the 

868
00:39:15,680 --> 00:39:20,440
challenges and he used ChatGPT 
to generate tests and to create 

869
00:39:20,440 --> 00:39:24,360
the test cases for, and he got a
lot of mileage out of that way. 

870
00:39:24,360 --> 00:39:25,880
And it worked quite well for 
that. 

871
00:39:26,360 --> 00:39:29,480
So if you look at Mike Fornton's
blog and how he's tackled that 

872
00:39:29,760 --> 00:39:32,040
on Sub Stack, I think that's 
quite an interesting lead. 

873
00:39:32,440 --> 00:39:35,680
And that's a potentially useful 
area where we can use it for to 

874
00:39:36,040 --> 00:39:40,440
speed up coding, right, I think.
Some people get more creativity 

875
00:39:40,440 --> 00:39:43,560
by using AI, definitely, you 
know, with the clever prom 

876
00:39:43,560 --> 00:39:46,040
engineering. 
So I think never underestimate 

877
00:39:46,040 --> 00:39:47,720
the power of prom engineering as
well. 

878
00:39:47,960 --> 00:39:51,920
Maybe one day AI will be able to
give us a much bigger solution 

879
00:39:51,920 --> 00:39:55,480
to a bigger problem. 
So another thing that you are 

880
00:39:55,720 --> 00:39:58,240
doing at this moment is about 
personal branding. 

881
00:39:58,240 --> 00:40:01,400
I can see that you actually 
encourage software engineers to 

882
00:40:01,400 --> 00:40:04,360
be a personal brand, and you 
even have a course about it, 

883
00:40:04,360 --> 00:40:07,040
right? 
So tell us why everyone should 

884
00:40:07,040 --> 00:40:09,920
build personal brand these days?
Well. 

885
00:40:10,120 --> 00:40:12,240
We've seen all the layoffs that 
have occurred recently. 

886
00:40:12,240 --> 00:40:16,520
We've seen the job market change
from you could stick your resume

887
00:40:16,560 --> 00:40:18,440
somewhere and your phone would 
ring off the hook. 

888
00:40:18,440 --> 00:40:20,640
And even if you didn't stick 
your lesbian somewhere, people 

889
00:40:20,640 --> 00:40:22,480
would be hassling you on 
LinkedIn trying to recruit as a 

890
00:40:22,480 --> 00:40:24,760
software engineer. 
We had, you know, hyper demand. 

891
00:40:24,760 --> 00:40:27,720
Recently, the market's changed. 
There's been a lot of layoffs. 

892
00:40:27,720 --> 00:40:32,000
The demand is a lot calmer now. 
So as people want to 

893
00:40:32,000 --> 00:40:34,720
differentiate themselves, if 
people want to stand out, a band

894
00:40:34,720 --> 00:40:36,720
is a way, a personal band is a 
way to do that. 

895
00:40:37,360 --> 00:40:40,040
A lot more recruitment needs 
says this can be through your 

896
00:40:40,040 --> 00:40:41,400
network. 
Well, it's always coming a lot 

897
00:40:41,400 --> 00:40:43,400
for your network, but a lot more
is coming through your network 

898
00:40:43,400 --> 00:40:46,680
is and what you're known for. 
Recruiters are going to look for

899
00:40:46,680 --> 00:40:49,280
people. 
So again, if you've got good AI 

900
00:40:49,280 --> 00:40:52,160
experience and you know it in 
AI, I'm sure you've got people 

901
00:40:52,160 --> 00:40:54,400
knocking down your door at the 
moment trying to offer you jobs.

902
00:40:54,920 --> 00:40:58,440
And again, if you're the chief 
scientist of open AI, if you 

903
00:40:58,440 --> 00:41:00,720
were to look for another job, 
you could put a one line lesson 

904
00:41:00,720 --> 00:41:02,840
there. 
You chief scientist for Panaya, 

905
00:41:02,840 --> 00:41:05,800
you wouldn't need anything else 
on your CV to get that would be 

906
00:41:05,800 --> 00:41:07,160
enough of a brand for you 
create. 

907
00:41:07,160 --> 00:41:09,520
And again, that's why we see 
people put ex Facebook, ex 

908
00:41:09,520 --> 00:41:12,600
Google on their CVS because 
they're trading off that brand. 

909
00:41:13,120 --> 00:41:16,200
For the rest of us, the 99% of 
us that don't work in big tech, 

910
00:41:16,560 --> 00:41:18,280
that brand has got to be what 
are we known for? 

911
00:41:18,280 --> 00:41:20,720
What is our expertise? 
What have we done that's unique 

912
00:41:20,720 --> 00:41:23,680
and different? 
And for an awful lot of us, we 

913
00:41:23,680 --> 00:41:27,160
can't talk about we built Google
or we scaled AWS or we designed 

914
00:41:27,160 --> 00:41:30,400
their data centers or we did 
something, you know, most of us 

915
00:41:30,400 --> 00:41:33,160
have been part of 99%. 
We've maybe built a few CRUD 

916
00:41:33,160 --> 00:41:36,520
apps, maybe we've scaled them to
something interesting vaguely. 

917
00:41:37,040 --> 00:41:39,440
So we need to find different 
ways of studying out and 

918
00:41:39,440 --> 00:41:41,720
different ways of 
differentiating ourselves from 

919
00:41:41,720 --> 00:41:44,400
everyone else. 
And that makes it easier then 

920
00:41:44,400 --> 00:41:46,680
for the cruisers to come and 
help you when they're given a 

921
00:41:46,720 --> 00:41:48,840
shopping list of we want 
somebody who's got some 

922
00:41:48,840 --> 00:41:53,040
leadership can lead a team, 
commence people knows PHPVB and 

923
00:41:53,400 --> 00:41:56,240
C#. 
Then if you send out as personal

924
00:41:56,240 --> 00:41:58,720
brand, they might have seen your
post, they might recognize your 

925
00:41:58,720 --> 00:42:01,120
name, they might find you in a 
search on LinkedIn. 

926
00:42:01,640 --> 00:42:04,480
Basically, it makes you 
findable, makes you attractive 

927
00:42:04,480 --> 00:42:07,160
to somebody. 
Again, if you're showing that 

928
00:42:07,440 --> 00:42:10,280
for leadership to use that quite
whole term and you've you've 

929
00:42:10,280 --> 00:42:12,640
built a personal brand. 
Maybe if I managed to look at 

930
00:42:12,640 --> 00:42:15,680
somebody thinking I really want 
somebody to know about AI. 

931
00:42:15,920 --> 00:42:18,480
If they've been following your 
posts, maybe they'll reach out 

932
00:42:18,480 --> 00:42:20,280
to you. 
Maybe when you put open to work 

933
00:42:20,400 --> 00:42:23,720
on your LinkedIn profile, 
they'll oh hell, I've got to 

934
00:42:23,720 --> 00:42:26,320
talk to that guy because they're
an expert on AI. 

935
00:42:26,720 --> 00:42:28,880
Alternatively, if you want to 
build a business and you want to

936
00:42:28,880 --> 00:42:31,520
do something in some way. 
So I want to look at helping 

937
00:42:31,520 --> 00:42:33,280
people level up with coding 
challenges. 

938
00:42:33,640 --> 00:42:35,600
My name's not quite well 
associated with coding 

939
00:42:35,600 --> 00:42:37,560
challenges. 
If people want, if people 

940
00:42:37,560 --> 00:42:41,360
mention real world projects to 
level up or what can I build the

941
00:42:41,360 --> 00:42:44,040
response generally now from the 
people that intend is to mention

942
00:42:44,280 --> 00:42:47,720
coding challenges on my name. 
So for better or for worse, 

943
00:42:47,720 --> 00:42:49,320
that's kind of my personal blend
now. 

944
00:42:49,320 --> 00:42:51,120
And that's what I'm known for. 
And that's what people that say 

945
00:42:51,120 --> 00:42:54,280
show with me now, not quite as 
monetizable and valuable as 

946
00:42:54,280 --> 00:42:57,160
being known as the chief 
scientist of open AI say, but it

947
00:42:57,160 --> 00:42:59,600
still means that I'm now set 
apart and differentiated. 

948
00:42:59,600 --> 00:43:02,360
And again, if you're a junior 
developer without experience and

949
00:43:02,360 --> 00:43:05,120
you can't stand out from 
someone, but maybe you can get 

950
00:43:05,120 --> 00:43:07,480
known for having built some 
interesting little bit of open 

951
00:43:07,480 --> 00:43:09,280
source. 
So I had this conversation 

952
00:43:09,280 --> 00:43:10,480
actually this morning on 
LinkedIn. 

953
00:43:10,840 --> 00:43:12,960
Somebody's saying junior 
developers can't do anything. 

954
00:43:12,960 --> 00:43:15,040
They need to have years of 
training before they can do 

955
00:43:15,040 --> 00:43:18,240
something useful. 
Well, Linus built Linux when he 

956
00:43:18,240 --> 00:43:21,440
was a student at Helsinki Uni. 
He wasn't even a junior 

957
00:43:21,440 --> 00:43:22,840
developer. 
He was still a student. 

958
00:43:23,240 --> 00:43:27,520
He never actually, as far as I'm
aware, became a junior developer

959
00:43:27,520 --> 00:43:31,440
because Linux took off before he
graduated and he's just worked 

960
00:43:31,440 --> 00:43:34,200
building that open source 
software since that has become 

961
00:43:34,200 --> 00:43:36,680
his career. 
Now, OK, not everyone's going to

962
00:43:36,680 --> 00:43:39,200
do something like that, but if 
you're a junior developer with 

963
00:43:39,200 --> 00:43:42,160
no experience and you're not 
knowing, you don't stand out 

964
00:43:42,160 --> 00:43:44,080
against what CV you've got. 
Nothing you'll CV, you can't 

965
00:43:44,080 --> 00:43:45,840
show any impact. 
You can't show what you've done.

966
00:43:46,160 --> 00:43:48,520
If you built an open source 
project that maybe 10 companies 

967
00:43:48,520 --> 00:43:50,960
are using and getting value 
from, you've now built some of 

968
00:43:50,960 --> 00:43:53,360
your old software, you've got 
something published, people even

969
00:43:53,360 --> 00:43:55,160
value from it. 
You can talk about some impact. 

970
00:43:55,560 --> 00:43:58,160
Even though you've never had a 
job, you've not got any 

971
00:43:58,280 --> 00:44:01,200
experience, you have got some 
experience to talk about. 

972
00:44:01,680 --> 00:44:04,280
And I'd say if you've got 10 
people using it, that finding it

973
00:44:04,280 --> 00:44:07,240
valuable, that's going to put 
you head and shoulders above 

974
00:44:07,240 --> 00:44:11,000
99.9% of the ever genie 
developers that you're competing

975
00:44:11,000 --> 00:44:12,560
with. 
You know, you don't have to be 

976
00:44:12,560 --> 00:44:14,840
Linus. 
You can just find that few users

977
00:44:14,840 --> 00:44:16,160
that are delighted with your 
software. 

978
00:44:16,920 --> 00:44:19,560
What a fun fact. 
Just now, I wasn't aware as well

979
00:44:19,560 --> 00:44:23,240
that Linus actually started 
building the OS when he was back

980
00:44:23,240 --> 00:44:25,320
as a student, right? 
So I think that's kind of like 

981
00:44:25,400 --> 00:44:28,360
an inspirational story, right? 
So many people probably they 

982
00:44:28,360 --> 00:44:31,080
want to build personal brand, 
but they don't know actually 

983
00:44:31,080 --> 00:44:33,960
where to start or they feel that
they don't have unique enough 

984
00:44:33,960 --> 00:44:37,880
value or maybe skill set to 
actually offer to build a 

985
00:44:37,880 --> 00:44:41,360
personal brand. 
So maybe some tips from you how 

986
00:44:41,360 --> 00:44:45,040
to get actually started, Like 
maybe should we actually pick a 

987
00:44:45,040 --> 00:44:49,280
niche or should we just randomly
post something or should we do 

988
00:44:49,280 --> 00:44:51,640
something else? 
Maybe from your experience, how 

989
00:44:51,640 --> 00:44:54,920
would you advise people to get 
started actually so. 

990
00:44:55,360 --> 00:44:58,640
The right answer is pick a niche
and be curious. 

991
00:44:59,080 --> 00:45:01,560
So decide this. 
Take Linus for example. 

992
00:45:01,560 --> 00:45:03,040
He was interested in operating 
systems. 

993
00:45:03,040 --> 00:45:05,120
He wanted to implement 
something, so he did. 

994
00:45:05,280 --> 00:45:07,400
And he went deep, deep into that
niche. 

995
00:45:07,840 --> 00:45:10,480
And you can't mention Linux 
without thinking of him now. 

996
00:45:10,480 --> 00:45:13,880
So he absolutely owns that niche
and that is the best way. 

997
00:45:14,360 --> 00:45:16,960
I've epically failed at that 
because I have many different 

998
00:45:16,960 --> 00:45:18,440
interests. 
I'm quite curious. 

999
00:45:18,720 --> 00:45:21,840
So I've completely failed at a 
niche because yeah, I love 

1000
00:45:21,840 --> 00:45:23,600
coding challenge that we're 
interested in coding in 

1001
00:45:23,600 --> 00:45:25,400
software. 
I'm also quite interested in 

1002
00:45:25,400 --> 00:45:27,240
business. 
I did an NBA, I've run a few 

1003
00:45:27,240 --> 00:45:29,680
businesses. 
I got fascinated in corporate 

1004
00:45:29,680 --> 00:45:31,800
finance for that. 
So I've dug deep into that and 

1005
00:45:32,320 --> 00:45:34,040
NBA dis station in corporate 
finance. 

1006
00:45:34,480 --> 00:45:37,480
When I started my first 
business, I was very typical 

1007
00:45:37,560 --> 00:45:40,080
software engineer. 
Sales as a doer, don't want to 

1008
00:45:40,080 --> 00:45:41,800
do that. 
And marketing, they're just 

1009
00:45:41,800 --> 00:45:43,840
those annoying people that 
promise the customers lots of 

1010
00:45:43,840 --> 00:45:45,400
things that we're we're never 
going to do. 

1011
00:45:45,840 --> 00:45:48,400
Yeah, fine, good view. 
Can't really object to it in 

1012
00:45:48,400 --> 00:45:50,280
many ways. 
But when I started the business,

1013
00:45:50,280 --> 00:45:52,600
she suddenly likes, actually 
I've got to go and sell 

1014
00:45:52,600 --> 00:45:54,160
somebody. 
I'm not eating this month. 

1015
00:45:54,400 --> 00:45:56,640
I need some customers. 
I need somebody to pay me money.

1016
00:45:56,960 --> 00:45:59,000
So I have to learn sales and 
marketing. 

1017
00:45:59,000 --> 00:46:01,320
And I found actually sales isn't
bad. 

1018
00:46:01,400 --> 00:46:04,840
It's just talking to people and 
being interested in them, being 

1019
00:46:04,840 --> 00:46:07,320
curious. 
Hey, Henry, what's your problem?

1020
00:46:07,320 --> 00:46:08,560
What you struggle with right 
now? 

1021
00:46:08,960 --> 00:46:10,440
Oh, you need some software to do
that? 

1022
00:46:10,440 --> 00:46:13,120
Cool, we can do that for you. 
I can solve that problem. 

1023
00:46:13,120 --> 00:46:14,400
What's it worth for you to solve
it? 

1024
00:46:14,440 --> 00:46:17,320
Oh, it's worth $500? 
Cool, we can do it for 450. 

1025
00:46:17,760 --> 00:46:19,800
It's a simple sale. 
Now somebody's told you what 

1026
00:46:19,800 --> 00:46:21,800
their pain is. 
They've told you what is worth 

1027
00:46:21,800 --> 00:46:24,120
solving for them. 
If you can solve it for cost 

1028
00:46:24,120 --> 00:46:27,200
effective value, you sell. 
And actually when you take that,

1029
00:46:27,200 --> 00:46:28,480
it's a transferable skill as 
well. 

1030
00:46:28,480 --> 00:46:31,600
If you go back to employment and
working for people, if you want 

1031
00:46:31,920 --> 00:46:34,000
as a staff plus engineer, you 
want your company to be like 

1032
00:46:34,000 --> 00:46:36,720
something you lost or go, you 
are selling. 

1033
00:46:37,120 --> 00:46:39,160
You're not selling something for
money, but you're getting people

1034
00:46:39,160 --> 00:46:41,720
to invest their time, their 
belief and buying to that. 

1035
00:46:41,720 --> 00:46:44,200
So you know, sales is incredibly
valuable and you get those 

1036
00:46:44,200 --> 00:46:47,120
transferable skills, right. 
So I think. 

1037
00:46:47,120 --> 00:46:50,720
Definitely learn sometimes even 
like you don't even need to pick

1038
00:46:50,720 --> 00:46:53,400
a niche in the beginning, right?
You can try out different stuff,

1039
00:46:53,400 --> 00:46:54,600
right? 
You can talk about something 

1040
00:46:54,600 --> 00:46:57,000
that has some interest, you 
know, like you have some 

1041
00:46:57,000 --> 00:46:59,200
interest in it. 
Maybe start from there and you 

1042
00:46:59,200 --> 00:47:01,120
can see whether you love doing 
that. 

1043
00:47:01,240 --> 00:47:03,760
Sometimes the brand doesn't have
to stick forever, right? 

1044
00:47:03,760 --> 00:47:06,360
So it doesn't mean that you're 
now doing coding challenges and 

1045
00:47:06,360 --> 00:47:08,800
that's going to be the the only 
thing that you're doing for the 

1046
00:47:08,800 --> 00:47:11,160
rest of your life, right? 
So your brand can also still 

1047
00:47:11,160 --> 00:47:11,840
change. 
Yeah. 

1048
00:47:12,240 --> 00:47:16,280
And and yeah, it was like I say.
I've done coding challenges, I 

1049
00:47:16,280 --> 00:47:19,840
talk about soft skills, I talk 
about recruitment, I talk about 

1050
00:47:19,840 --> 00:47:23,000
some of the training I do in 
different areas, pursue a lot of

1051
00:47:23,000 --> 00:47:25,520
my different interests. 
So niche is a better approach. 

1052
00:47:25,840 --> 00:47:29,000
I'm not very good at it because 
I'm too curious and follow my 

1053
00:47:29,000 --> 00:47:31,680
curiosity. 
But that eclectic mixture of 

1054
00:47:31,680 --> 00:47:34,320
curiosity experience we've all 
got actually makes us unique. 

1055
00:47:34,320 --> 00:47:36,960
So there is probably no one else
in the world. 

1056
00:47:37,360 --> 00:47:38,840
There are many better software 
engineers. 

1057
00:47:38,840 --> 00:47:40,920
There's no one else in the world
that's had that experience of me

1058
00:47:40,920 --> 00:47:44,240
of building a railway signaling 
system, building a CRUDAP for 

1059
00:47:44,240 --> 00:47:48,120
McDonald's, working on 
meteorological data, working on 

1060
00:47:48,120 --> 00:47:50,920
voice biometrics, and now 
building coding challenges. 

1061
00:47:51,320 --> 00:47:54,160
So I'm unique and there's some 
unique lessons from them that 

1062
00:47:54,280 --> 00:47:56,840
will help somebody. 
There might be a junior 

1063
00:47:56,840 --> 00:48:00,320
developer that's had this unique
experience of building some 

1064
00:48:00,320 --> 00:48:02,720
software for their the 
university club or something 

1065
00:48:02,720 --> 00:48:04,600
that it's a bit unique and 
different. 

1066
00:48:05,120 --> 00:48:06,840
So we've we've all had a unique 
journey. 

1067
00:48:06,840 --> 00:48:09,200
And even if you are junior 
developer with a years 

1068
00:48:09,200 --> 00:48:12,360
experience, there's a person 
that's just graduating that 

1069
00:48:12,360 --> 00:48:14,160
hasn't had that experience that 
can learn from you. 

1070
00:48:14,520 --> 00:48:16,720
And the year behind them is the 
person that's in their second 

1071
00:48:16,760 --> 00:48:18,960
year at university and they can 
learn from the person that's in 

1072
00:48:18,960 --> 00:48:20,840
the third year. 
And the year behind them is an 

1073
00:48:20,840 --> 00:48:22,560
expert. 
And the year behind them is, you

1074
00:48:22,560 --> 00:48:25,640
know, go back to 10 year old 
coding his bedroom can learn 

1075
00:48:25,640 --> 00:48:28,480
from a fallen from an 11 year 
old coding in their bedroom 

1076
00:48:28,480 --> 00:48:30,840
somewhere else. 
So there's always somebody 

1077
00:48:30,840 --> 00:48:32,880
further behind you that can 
learn from your journey and 

1078
00:48:33,000 --> 00:48:34,480
benefit from that. 
Yeah. 

1079
00:48:34,480 --> 00:48:36,960
Another tips? 
Which you can also follow just 

1080
00:48:36,960 --> 00:48:39,960
like what you mentioned, right? 
So think of yourself two or 

1081
00:48:40,000 --> 00:48:42,360
three years ago, right? 
What kind of problem did you 

1082
00:48:42,360 --> 00:48:45,840
encounter and what would you 
actually expect? 

1083
00:48:45,840 --> 00:48:48,240
Some kind of resources that are 
available to help you solve 

1084
00:48:48,240 --> 00:48:51,040
those kind of problems? 
Maybe you can provide that now 

1085
00:48:51,120 --> 00:48:54,240
to help people who are also 
struggling with the same kind of

1086
00:48:54,240 --> 00:48:56,760
challenges. 
And the other thing probably as 

1087
00:48:56,760 --> 00:49:00,000
an alternative is like learning 
in public can also be a way of 

1088
00:49:00,000 --> 00:49:01,400
building your personal brand, 
right? 

1089
00:49:01,400 --> 00:49:04,720
So let's say if you take John's 
coding challenges, for example, 

1090
00:49:04,720 --> 00:49:07,080
building Docker and you don't 
know where to start, but 

1091
00:49:07,080 --> 00:49:09,720
actually you are sharing what 
you are learning journey to 

1092
00:49:09,720 --> 00:49:12,360
solve that Docker challenge. 
It could also be one way to 

1093
00:49:12,360 --> 00:49:14,200
actually build a personal brand,
right? 

1094
00:49:14,520 --> 00:49:17,720
And who knows that by building 
that kind of a niche, by solving

1095
00:49:17,720 --> 00:49:20,840
the challenges, you actually 
build a community around you as 

1096
00:49:20,840 --> 00:49:22,520
well. 
So I think that's also another 

1097
00:49:22,520 --> 00:49:25,800
power of learning in public. 
So John, I think it's been a 

1098
00:49:25,800 --> 00:49:28,440
pleasure talking to you and 
learning from your journey, 

1099
00:49:28,560 --> 00:49:31,400
learning from your experience. 
Unfortunately, we have to wrap 

1100
00:49:31,400 --> 00:49:33,480
up. 
But before I let you go, I have 

1101
00:49:33,480 --> 00:49:36,520
one last question that I always 
love to ask my guests to share, 

1102
00:49:36,800 --> 00:49:39,040
which is I call the three 
technical leadership wisdom. 

1103
00:49:39,360 --> 00:49:41,480
So if you can think of it just 
like advice that you want to 

1104
00:49:41,480 --> 00:49:43,600
give to us listeners here, what 
would that be? 

1105
00:49:44,200 --> 00:49:46,240
So I let Danny. 
'S free because you asked for 

1106
00:49:46,240 --> 00:49:49,200
this before and I've hammered 
one home too much, so my 

1107
00:49:49,200 --> 00:49:52,440
apologies that, but it's be 
curious, be interested, be 

1108
00:49:52,440 --> 00:49:55,400
curious around the world that 
willingness to learn and ask 

1109
00:49:55,400 --> 00:49:58,480
questions will make it a lot 
easier to lead in every single 

1110
00:49:58,480 --> 00:50:00,400
way. 
The other thing that I think a 

1111
00:50:00,400 --> 00:50:03,640
lot of leaders miss, and my 
second point is be careful. 

1112
00:50:03,960 --> 00:50:07,040
If you are in a leadership, in a
management role, when you come 

1113
00:50:07,040 --> 00:50:10,240
and ask what seems to you like 
an innocent question, if you're 

1114
00:50:10,480 --> 00:50:12,960
in a position of a faulty of 
someone else, it seems like an 

1115
00:50:12,960 --> 00:50:16,080
order to them. 
So when you say can we add this 

1116
00:50:16,080 --> 00:50:18,200
feature to the software, they 
don't hear. 

1117
00:50:18,360 --> 00:50:21,520
Is it possible they hear, go and
do it? 

1118
00:50:21,840 --> 00:50:24,160
So as a leader, be careful what 
you ask for. 

1119
00:50:24,560 --> 00:50:26,880
Your questions will be turned 
into or heard. 

1120
00:50:27,120 --> 00:50:29,920
There's orders and instructions.
And the third one I wanted to 

1121
00:50:29,920 --> 00:50:32,520
point out is good leadership is 
about being a good follower. 

1122
00:50:32,880 --> 00:50:35,280
So no matter where you are in 
your leadership journey, you 

1123
00:50:35,280 --> 00:50:37,840
will have some minutes above 
you, somebody you're following. 

1124
00:50:38,200 --> 00:50:40,480
If you're an engineering 
manager, sure, you might be 

1125
00:50:40,480 --> 00:50:43,800
leading your team, but you've 
probably got a director or a VP 

1126
00:50:43,800 --> 00:50:45,840
above you. 
If you're that VP, you've 

1127
00:50:45,840 --> 00:50:48,680
probably got maybe the CTO or 
somebody above you CTO, you've 

1128
00:50:48,680 --> 00:50:51,080
got the CEO of the board. 
If you're the board, you've got 

1129
00:50:51,080 --> 00:50:53,400
shareholders. 
We can keep following this up, 

1130
00:50:53,800 --> 00:50:56,920
but you know, leadership is as 
much about following the people 

1131
00:50:57,080 --> 00:51:00,000
that you should be following and
being a good follower and 

1132
00:51:00,000 --> 00:51:02,400
setting a good example that 
people that are following you. 

1133
00:51:03,200 --> 00:51:06,040
Very interesting because. 
I rarely hear about this be a 

1134
00:51:06,040 --> 00:51:08,920
good follower for leaders, but I
think actually that's true as 

1135
00:51:08,920 --> 00:51:10,640
well. 
So you're always responsible for

1136
00:51:10,640 --> 00:51:13,880
somebody or something, right? 
So don't always assume that 

1137
00:51:13,880 --> 00:51:16,480
leadership is like the top 
position where you can direct 

1138
00:51:16,480 --> 00:51:18,520
people, but you also need to be 
a good follower. 

1139
00:51:18,960 --> 00:51:21,720
So John, for people who would 
love to do your coding 

1140
00:51:21,720 --> 00:51:24,560
challenges or learn more from 
you, is there a place where they

1141
00:51:24,560 --> 00:51:27,400
can reach out to you online? 
Yep, sure, if you. 

1142
00:51:27,400 --> 00:51:29,600
Search for John Cricket on 
LinkedIn, you'll find me easy 

1143
00:51:29,600 --> 00:51:31,440
enough. 
It's fairly uncommon name you 

1144
00:51:31,440 --> 00:51:32,920
search on Google you'll find me 
easy enough. 

1145
00:51:33,760 --> 00:51:37,520
And coding challenges is on 
codingchallenges dot FYI right? 

1146
00:51:37,520 --> 00:51:40,000
Thank you so much for. 
Being here today so John, I hope

1147
00:51:40,000 --> 00:51:42,960
you are able to spread more 
coding challenges to people so 

1148
00:51:42,960 --> 00:51:46,160
that we all can learn and level 
up our skill set because of that

1149
00:51:46,920 --> 00:51:48,480
cool thank you Henry it's. 
Been pleasure 

1150
00:52:21,160 --> 00:52:21,240
the.
