1
00:00:00,000 --> 00:00:09,080
Good morning, everyone. Excited for another session of 99 Dev Problems. I keep saying

2
00:00:09,080 --> 00:00:13,040
another and I feel like I need to change my intro because it's like it almost feels like

3
00:00:13,040 --> 00:00:20,240
another is not a good thing when I'm like, yes, another amazing conversation. Super pumped

4
00:00:20,240 --> 00:00:24,360
to chat with Matt this morning. Matt, I would love for you to introduce yourself.

5
00:00:24,360 --> 00:00:30,480
Hi, I'm Matt. So at the moment, I'm the founder of FuelType. This is EdTech for developer

6
00:00:30,480 --> 00:00:35,520
product I'm working on. Before that, I was a CTO at a FinTech firm called Telerium. It

7
00:00:35,520 --> 00:00:40,640
did energy trading. And before even that, I was the CTO of the hedge fund that did high

8
00:00:40,640 --> 00:00:45,960
frequency, medium frequency trading. I've always been interested in programming and computers

9
00:00:45,960 --> 00:00:50,920
and software development since I was 12. I wrote my own operating system when I was

10
00:00:50,920 --> 00:00:56,200
a teenager. I used some of that for my final year project at university. So there's plenty

11
00:00:56,200 --> 00:01:01,200
to dive into today, hopefully. And obviously, had successes and failures along the way,

12
00:01:01,200 --> 00:01:05,440
it'd be great to pick through that and see what we can find.

13
00:01:05,440 --> 00:01:11,080
Yeah, for sure. Okay, you wrote your own operating system. That's like, yes, we all have like

14
00:01:11,080 --> 00:01:14,960
had video game classes or we all had like early programming classes or whatever. But

15
00:01:14,960 --> 00:01:20,200
like your own operating system, we have to dive into that. Why an operating system? And

16
00:01:20,200 --> 00:01:24,000
like, what did you build? Tell me more.

17
00:01:24,000 --> 00:01:29,320
So I think I came in with that engineer mindset, that sense of you can't really understand

18
00:01:29,320 --> 00:01:36,120
something until you really pick it apart and build it. And so I got started with games.

19
00:01:36,120 --> 00:01:40,880
It was nice cloning games like Pong and trying to come up with your own things. That was

20
00:01:40,880 --> 00:01:47,000
in a language called BlitzBasics, so for basic. But what I think I really tried to dive into

21
00:01:47,000 --> 00:01:51,880
was, well, why do things have to be this way? Can we build it a different way and experiment

22
00:01:51,880 --> 00:01:56,480
with that? So I, you can get started with operating systems by writing the bootloader.

23
00:01:56,480 --> 00:02:01,960
So you have to fit a whole ton of stuff into 512 bytes. But once you get to that stage,

24
00:02:01,960 --> 00:02:05,440
you kind of think, okay, well, there's actually a whole bunch of different routes that you

25
00:02:05,440 --> 00:02:11,440
can go. And what I managed to do was just really work on it, you know, try and break

26
00:02:11,440 --> 00:02:15,040
down all of the problems, try to get it to do something cool that I know that a few other

27
00:02:15,040 --> 00:02:20,560
people have done. And of course, if you keep going along that timeline, then yeah, you

28
00:02:20,560 --> 00:02:24,720
can load stuff from the disk and get that going. But you get to a point where I got

29
00:02:24,720 --> 00:02:28,120
like basic USB devices working. That's kind of cool.

30
00:02:28,120 --> 00:02:30,120
That's super cool.

31
00:02:30,120 --> 00:02:37,560
Yeah. And then for my university, finally, a project, I had to write a thesis. I was

32
00:02:37,560 --> 00:02:41,560
a bachelor's. So this was, it wasn't as deep as Master's thesis, but it was still a couple

33
00:02:41,560 --> 00:02:48,400
of pages plus. And what I wanted to do was take one of the ideas from the Linux kernel,

34
00:02:48,400 --> 00:02:53,520
this idea of how do we make networking faster if we want to make a really, really fast network

35
00:02:53,520 --> 00:02:59,640
traffic, one of the things that actually stopped tons and tons of data flow, the unnecessary

36
00:02:59,640 --> 00:03:06,920
steps that we have or ways to reduce the complexity of sending and receiving tons of data. So I

37
00:03:06,920 --> 00:03:14,600
wrote a, I took this, the idea, I put it into my operating system and you could end up sending

38
00:03:14,600 --> 00:03:20,760
like with telnet and all those kind of basic TCP programs. It, wow, would you could send

39
00:03:20,760 --> 00:03:25,320
the data, copy the data and use a space, like set a flag and then the network card with

40
00:03:25,320 --> 00:03:29,920
goods and off the data. That was cool. I remember sitting and coding that for like 30 days straight

41
00:03:29,920 --> 00:03:35,360
writing the thesis in like another 20 days straight. But for me, it was, it was great.

42
00:03:35,360 --> 00:03:41,000
Yeah, it's that kind of purist form of engineering there is you have a good idea. You have a

43
00:03:41,000 --> 00:03:45,000
certain amount of time to do it and just figure out how to make it work. And across the, the

44
00:03:45,000 --> 00:03:48,920
brush that we all go for is, oh, cool, you know, this, all of this stuff together, all

45
00:03:48,920 --> 00:03:52,960
of these hurdles that I've had to overcome. But I've got to this point where, you know,

46
00:03:52,960 --> 00:03:59,160
I can actually go and send this piece of data and of course receive, you know, something

47
00:03:59,160 --> 00:04:05,000
so you could connect to this telnet server and it would give you the first bit of Star

48
00:04:05,000 --> 00:04:09,040
Wars is this sort of ASCII art diagram. It was kind of cool to see that running on something

49
00:04:09,040 --> 00:04:11,000
that you have built from the ground up.

50
00:04:11,000 --> 00:04:12,000
Oh man.

51
00:04:12,000 --> 00:04:13,000
Yeah.

52
00:04:13,000 --> 00:04:20,400
So that is, that is so sinking cool. Like I think there's been a few conversations back

53
00:04:20,400 --> 00:04:24,440
and forth, you know, I've had a variety of different guests on. But I think what's like

54
00:04:24,440 --> 00:04:28,000
really been so near and dear to my heart lately is like having really good conversations about

55
00:04:28,000 --> 00:04:33,040
understanding system architecture, like, like really, truly getting every bit of what you're

56
00:04:33,040 --> 00:04:37,160
building from top all the way down and, you know, bringing in a framework that you actually

57
00:04:37,160 --> 00:04:42,440
deeply understand versus bringing in a framework you're not familiar with. You're like, you

58
00:04:42,440 --> 00:04:46,400
like tell that story so beautifully, right? Like you went all the way down to the root

59
00:04:46,400 --> 00:04:51,200
of building your own system at which then you would build software upon. That's like,

60
00:04:51,200 --> 00:04:55,000
that's the deepest level of meta I think you could possibly get when I pass it on. How

61
00:04:55,000 --> 00:04:56,000
cool is that?

62
00:04:56,000 --> 00:04:57,000
Yeah.

63
00:04:57,000 --> 00:04:58,000
That's really, it's really neat.

64
00:04:58,000 --> 00:05:02,400
It's an approach to things, you know, it's, and I think the supplies outside of stuff

65
00:05:02,400 --> 00:05:06,360
like engineering, can I, should I do stuff because someone else tells me that that's the

66
00:05:06,360 --> 00:05:10,360
right way to go or try to pick apart? Well, how do they get to that thinking? What's the

67
00:05:10,360 --> 00:05:15,440
kind of principles that where they kept in mind while they were doing that? And, you

68
00:05:15,440 --> 00:05:19,400
know, what can I do that if it's a slightly different situation, what kind of principles

69
00:05:19,400 --> 00:05:20,400
can I apply there?

70
00:05:20,400 --> 00:05:21,400
Yeah.

71
00:05:21,400 --> 00:05:27,320
So I found that it's really, you know, writing your own OS is pretty fabulous job, but the

72
00:05:27,320 --> 00:05:32,960
lessons that teaches you, you know, you can't really rely on, you can't lean on anybody

73
00:05:32,960 --> 00:05:36,160
else. You have to sort of figure out things for yourself. And if it breaks, it's going

74
00:05:36,160 --> 00:05:40,160
to be really hard to figure it out, writing quality code. That sort of set me up, I think

75
00:05:40,160 --> 00:05:42,560
for a good early start to my career for sure.

76
00:05:42,560 --> 00:05:47,640
Yeah. Yeah, I agree. Oh man, I bet that was a beautiful, I mean, and also on top of it,

77
00:05:47,640 --> 00:05:52,240
like, probably a really good story to tell in interviews and things too, right? So that,

78
00:05:52,240 --> 00:05:55,560
you know, as you're, you're going into that, I can only imagine, I'll let you speak to

79
00:05:55,560 --> 00:05:59,000
it, but like, I can imagine your sort of first jobs, right? They're like asking about, you

80
00:05:59,000 --> 00:06:02,280
know, projects you did in college and whatever. And when you can speak to this, they're probably

81
00:06:02,280 --> 00:06:06,200
like, okay, here's our guy, you know?

82
00:06:06,200 --> 00:06:11,880
Yeah. And, you know, I spent a couple of months working in Bloomberg for me, the really first

83
00:06:11,880 --> 00:06:17,000
interesting job I had was working in this hedge fund, this high-currency trading firm.

84
00:06:17,000 --> 00:06:22,360
Well, yeah, what's their business? It's reducing the latency of network traffic, you know,

85
00:06:22,360 --> 00:06:25,880
spending orders, receiving market data as much as possible. So it was Kismet, you know, I

86
00:06:25,880 --> 00:06:30,600
was lucky to be in that place and have access to those kind of jobs, but also I had prepared

87
00:06:30,600 --> 00:06:35,080
for it. It was the kind of job that was suited to me because I did all of this beforehand

88
00:06:35,080 --> 00:06:42,200
there too. So yeah, it is a long payoff perhaps, but it really has kind of framed a lot of

89
00:06:42,200 --> 00:06:44,200
things since.

90
00:06:44,200 --> 00:06:48,880
Yeah, gosh, I can imagine. Okay, so I like to ask folks, you know, their education and

91
00:06:48,880 --> 00:06:53,160
you already alluded to it, but if you want to speak to, you know, exactly what maybe

92
00:06:53,160 --> 00:06:57,680
degree you were chasing down, you talked about your thesis, but just curious, you know, what

93
00:06:57,680 --> 00:06:59,520
that education side of things looked like.

94
00:06:59,520 --> 00:07:07,960
Yeah, so the, I went to Imperial College London, did computing there, they have it under the

95
00:07:07,960 --> 00:07:12,800
Faculty of Engineering rather than science. So that sort of shows you the very engineering

96
00:07:12,800 --> 00:07:16,840
mindset background. Most people call it computer science, Imperial is strange in many ways

97
00:07:16,840 --> 00:07:22,520
and certainly in its course naming. I was going to do a masters, but I switched down

98
00:07:22,520 --> 00:07:26,600
to take a job at Bloomberg, realized I didn't like it and sort of navigated that little

99
00:07:26,600 --> 00:07:28,600
curve in my career.

100
00:07:28,600 --> 00:07:35,320
So it's, you know, I really enjoyed my time there. I think it's fortunate with something

101
00:07:35,320 --> 00:07:40,240
like computing computer science. I like the resourcefulness of it. You don't have to have

102
00:07:40,240 --> 00:07:46,280
a lot of, you know, backing. You can turn up on the first day, as long as you're prepared

103
00:07:46,280 --> 00:07:51,240
to read an experiment beforehand, you can make quite a bit of impact. It's the same,

104
00:07:51,240 --> 00:07:55,040
you know, in many other subjects, I'm sure, but in computer science, it definitely feels

105
00:07:55,040 --> 00:08:00,560
like that, that you can actually get a head start and, you know, that allows you to really

106
00:08:00,560 --> 00:08:06,040
dive deep into things, explore other things. And it was a, you know, I really enjoyed that.

107
00:08:06,040 --> 00:08:10,320
It was a good class and people who were passionate about computing. So I felt like I found my

108
00:08:10,320 --> 00:08:13,160
people at university. I was thankful for that.

109
00:08:13,160 --> 00:08:19,800
So honestly, I feel like that, that happens a lot, right? Like when I was a kid, I was

110
00:08:19,800 --> 00:08:23,120
like, I don't know, I like to say I was kind of a freak of nature, but I feel like all

111
00:08:23,120 --> 00:08:27,560
of us are very eccentric and different, right? So like, you know, during my day, I'd be like

112
00:08:27,560 --> 00:08:32,440
ripping apart a VCR and trying to figure out how the VCR is working and then, you know,

113
00:08:32,440 --> 00:08:36,040
ice fishing in another moment and then, you know, working on cars and another. So it's

114
00:08:36,040 --> 00:08:40,000
like, I just had all these very eccentric sort of hobbies. And it was, it was interesting

115
00:08:40,000 --> 00:08:43,760
to me because whenever I would spend time with people who enjoy technology, who enjoyed

116
00:08:43,760 --> 00:08:49,040
coding, who enjoyed any level of taking things apart and understanding how it worked, I just

117
00:08:49,040 --> 00:08:53,160
was like so happy, but I'm like, these people don't like to do the things I like to do.

118
00:08:53,160 --> 00:08:57,600
So like how, how and what do I do here? And I think that's what's, what's so interesting,

119
00:08:57,600 --> 00:09:01,960
right? Is like, when you can find that like engineering side of it and, and be able to

120
00:09:01,960 --> 00:09:05,760
harness that and then meet the people along with it. Like I didn't go to college. It's

121
00:09:05,760 --> 00:09:09,560
just, it's not the way I learn. I'm like, I throw me in the stuff and I'll figure it

122
00:09:09,560 --> 00:09:13,880
out kind of learner. And I think that's a missed opportunity, right? Is like, you know,

123
00:09:13,880 --> 00:09:19,080
having those fellow engineering students who think like, like I would write to sort of

124
00:09:19,080 --> 00:09:24,000
allow you to feel like, Hey, I am normal. It's not weird that I just want to build stuff

125
00:09:24,000 --> 00:09:28,920
and do, you know, techie things. So I love that. I think that's finding your tribe at

126
00:09:28,920 --> 00:09:32,520
every stage of life. I think, I think feels really important as an engineer generally.

127
00:09:32,520 --> 00:09:36,200
True. And I think if you don't have university, then your first job is off to the point where

128
00:09:36,200 --> 00:09:40,880
you go, okay, yeah, I taught myself a lot of things, but here is this person who's been

129
00:09:40,880 --> 00:09:46,120
doing it for 20 years who has, who takes you almost up to another level. It's fine to get

130
00:09:46,120 --> 00:09:50,920
university degree, but it's, it's great theory, but there's so much gap and practice and experience.

131
00:09:50,920 --> 00:09:54,960
And you come out of it thinking on amazing. And within two or three months of your first

132
00:09:54,960 --> 00:09:58,640
job, you think, gosh, there's a lot to learn. So you're sort of traveling up and down that

133
00:09:58,640 --> 00:10:04,400
dumb and cruega curve pretty quickly. If you're new to this field and the best way to do it,

134
00:10:04,400 --> 00:10:07,120
of course, is trying to figure out what you don't know pretty quickly.

135
00:10:07,120 --> 00:10:13,200
Yes, exactly. Yeah, I love that. Finding out what you don't know is, is always the hard

136
00:10:13,200 --> 00:10:19,160
part, I think, because that's the thing, right? Is like, you know, so I have so many thoughts,

137
00:10:19,160 --> 00:10:23,400
I'm trying to culminate them into one thought here. I, so develop, yeah, so developers,

138
00:10:23,400 --> 00:10:27,880
like obviously, as, as we know, we don't have an owner's manual, like a doctor that has

139
00:10:27,880 --> 00:10:33,440
medical licenses and protocols and regulations and things that they do and, and licenses that

140
00:10:33,440 --> 00:10:37,240
they keep up, right? They know if they're a good doctor or not, they've got a scope and

141
00:10:37,240 --> 00:10:42,680
a criteria behind it. So after engineers have nothing, we're just like, one of us is figuring

142
00:10:42,680 --> 00:10:46,480
something out, the next one's ripping it apart and driving opinions towards it and trying

143
00:10:46,480 --> 00:10:50,640
to make it better. And we're just, you know, trying to find our way as we go. And I think

144
00:10:50,640 --> 00:10:56,600
it's, it can be a very isolating, maybe isolating, it's not the right word. It can be a role

145
00:10:56,600 --> 00:11:01,420
at which imposter syndrome can feel very natural and quick, right? And so getting out of college

146
00:11:01,420 --> 00:11:06,440
going into that first role, not realizing you don't know what you're doing can have

147
00:11:06,440 --> 00:11:10,240
a very overwhelming feeling of, I just went to college, I should know what I'm doing,

148
00:11:10,240 --> 00:11:12,280
why do I feel so lost, you know?

149
00:11:12,280 --> 00:11:17,120
Yeah. And it's a very divergent, divergent field. And I think the example that you have

150
00:11:17,120 --> 00:11:21,120
of the doctors side of things, well, they have one convergent goal, which is to make

151
00:11:21,120 --> 00:11:23,160
people, you know, better.

152
00:11:23,160 --> 00:11:24,160
Exactly.

153
00:11:24,160 --> 00:11:28,240
That's, that's all they're measured against. And if they can come up with new ways to do

154
00:11:28,240 --> 00:11:33,160
that, then they're an even better doctor. But for software developers, not only do you

155
00:11:33,160 --> 00:11:36,960
have that symptom imposter syndrome, am I good enough? That's kind of competency. But

156
00:11:36,960 --> 00:11:43,000
it's also that fit. Am I working on something that's actually worth working on? Or am I,

157
00:11:43,000 --> 00:11:46,480
on the other side of things, am I working on something that 10,000 other people have

158
00:11:46,480 --> 00:11:48,480
done already and have done better there too?

159
00:11:48,480 --> 00:11:54,120
But those are both existential worries that I think is really easy to forget that most

160
00:11:54,120 --> 00:11:58,120
people do experience day to day. And if we can get competency and fit right, well, any

161
00:11:58,120 --> 00:12:02,480
realize, you get to the expert level, you're like the end of the, that in Kruger curve,

162
00:12:02,480 --> 00:12:06,320
and you realize there are so many things that you won't have the chance to experience, or

163
00:12:06,320 --> 00:12:10,560
you need to talk to other people to find out and try and grab as much as you can from them

164
00:12:10,560 --> 00:12:14,600
and see what mistakes they've made to save a bit of time there too. So I totally agree

165
00:12:14,600 --> 00:12:19,200
with you. It kind of plays on your mind quite a bit. And I think it makes you resilient

166
00:12:19,200 --> 00:12:23,920
to that and to the hurdles obviously that come from across in the job there too.

167
00:12:23,920 --> 00:12:29,480
Yeah, I know we could speak to like a lot of your career history and such, but I'd actually

168
00:12:29,480 --> 00:12:32,720
love to like dive into what you're doing today, because I think it's so applicable to what

169
00:12:32,720 --> 00:12:36,920
literally the conversation we're having right now of like this imposter syndrome and understanding

170
00:12:36,920 --> 00:12:40,520
where your skills lie and understanding sort of capabilities and where you can actually

171
00:12:40,520 --> 00:12:45,840
take your skills. So you're doing something pretty cool today. I'd love for you to tell

172
00:12:45,840 --> 00:12:50,560
the listeners or watchers what you're what you're up to today, because I think it plays

173
00:12:50,560 --> 00:12:52,800
so so nicely into this.

174
00:12:52,800 --> 00:13:00,120
So I'm working on PureType and that's a developer education platform that I believe has a good

175
00:13:00,120 --> 00:13:03,560
edge to it. It takes into context things that you're currently working on, the mistakes

176
00:13:03,560 --> 00:13:08,200
that you might have made, and then recommends a personalized learning journey for you. And

177
00:13:08,200 --> 00:13:12,160
if you can get your teammates on it, it gives you a sense of how your teammates are doing

178
00:13:12,160 --> 00:13:18,240
and you might as you can know that as well. So the what I've seen as the limit is the

179
00:13:18,240 --> 00:13:22,400
books and courses and we know developers purchase them, you know, and they invest in their own

180
00:13:22,400 --> 00:13:27,400
education and not to the best developers do. But there's a gap in the market, certainly

181
00:13:27,400 --> 00:13:32,920
from making that something you can fit into your continuing education, not a lot of people

182
00:13:32,920 --> 00:13:37,240
have hours after work, for example, but you know, they do want to improve, they do want

183
00:13:37,240 --> 00:13:42,600
to get better. How can you develop something that uses the few minutes they might have

184
00:13:42,600 --> 00:13:48,040
spent in the day to give them the one lesson that they need to learn that day? That's the

185
00:13:48,040 --> 00:13:52,840
angle I'm really chasing down. I'm trying to build a good engaging product. If I was

186
00:13:52,840 --> 00:13:56,640
to reduce it down to three words, it would be due a liga for developers, but I think

187
00:13:56,640 --> 00:14:03,520
that gives you enough credit for a good context. I'm going to apply to all of this and see

188
00:14:03,520 --> 00:14:07,560
the lessons I can learn from building ed tech and selling to developers. I've learned a

189
00:14:07,560 --> 00:14:10,640
huge amount already and I hope to learn a lot more.

190
00:14:10,640 --> 00:14:16,640
Yeah, that's true. Well, I can tell you right now as someone who helps people who are targeting

191
00:14:16,640 --> 00:14:22,000
developers, it is a long game. It's a building of relationships and all the things which

192
00:14:22,000 --> 00:14:27,600
we chatted about beforehand. But I think that's really cool because I think there's actually

193
00:14:27,600 --> 00:14:32,480
been a number of guests like Gingis was one of them during the first week. So I'll just

194
00:14:32,480 --> 00:14:36,920
for anyone who didn't catch that one, go back. It's like episode 14 or episode four or five,

195
00:14:36,920 --> 00:14:41,360
I think. And he really talked about this. He talked about engineering leadership and

196
00:14:41,360 --> 00:14:45,280
how some engineers are just not, they're not prone for the leadership track, right? They

197
00:14:45,280 --> 00:14:48,440
don't want to go and lead teams. They just want to be the best art engineer they can

198
00:14:48,440 --> 00:14:53,600
ever be until they retire, right? But all the way to sort of what does that leadership

199
00:14:53,600 --> 00:14:56,720
track look like? What does the other track look like, right? As you start to go through

200
00:14:56,720 --> 00:15:01,280
that career ladder as a developer and he just felt it was so incredibly important to have

201
00:15:01,280 --> 00:15:04,920
these plans and he had a really beautiful word for it and I can't recall what exactly

202
00:15:04,920 --> 00:15:10,440
it was, but I love how he approached it essentially. And I think that precedent of as developers,

203
00:15:10,440 --> 00:15:14,160
we really need to own our education. We need to own our career path. We really need to

204
00:15:14,160 --> 00:15:18,720
take a step back and actually plan that out and be methodical. Our brains are so used

205
00:15:18,720 --> 00:15:24,600
to thinking about the systems and to building things, right? It's we don't always necessarily

206
00:15:24,600 --> 00:15:27,920
take a step back and look at our career. And I think that's what he really urged developers

207
00:15:27,920 --> 00:15:34,080
to do is just do that. I think that is a beautiful melding into what you're doing, right? Is

208
00:15:34,080 --> 00:15:38,520
like you're taking that advice and saying, Hey, let's put it to action in this platform.

209
00:15:38,520 --> 00:15:42,320
And this is where you can come and actually make that happen. I think that's beautiful.

210
00:15:42,320 --> 00:15:46,360
I'm going to pause and let you let you sort of reply to that. But yeah, and I agree with

211
00:15:46,360 --> 00:15:50,960
him and education and career development. I think there are two major factors that most

212
00:15:50,960 --> 00:15:56,920
people come across. The first is we have such a focus as engineering teams on delivery,

213
00:15:56,920 --> 00:16:00,960
delivery, delivery. It's almost as if the only thing you're rated for is output and

214
00:16:00,960 --> 00:16:04,600
the volume of that output. And I think that's that's a big part of the picture, but that's

215
00:16:04,600 --> 00:16:09,240
not the whole picture. Right. So that's obviously the big time constraint that everybody has

216
00:16:09,240 --> 00:16:15,640
and what they're judged against almost. I think the second side of things is that education

217
00:16:15,640 --> 00:16:19,880
is one of those important, but not urgent things. And we all have books that we would

218
00:16:19,880 --> 00:16:23,680
love to read. And, you know, we probably have a time of the week, but you never go, Okay,

219
00:16:23,680 --> 00:16:27,920
I'm going to sit down and actually do that because I know that that's a big that's a

220
00:16:27,920 --> 00:16:31,560
book that's been recommended a couple of times. It's important on a particular path that I'm

221
00:16:31,560 --> 00:16:38,760
following that I can go and take a look and read through it and get that, you know, impart

222
00:16:38,760 --> 00:16:42,760
that knowledge, put it into practice. It's often like we're, we only really invest in

223
00:16:42,760 --> 00:16:47,280
ourselves when we absolutely need to perhaps we're searching for a job or, you know, that

224
00:16:47,280 --> 00:16:52,400
we're in a career transition, whereas there's nothing stopping us, we have all the technology

225
00:16:52,400 --> 00:16:56,040
that the kind of basis for all of this to actually break it up into little chunks and

226
00:16:56,040 --> 00:17:01,520
stop sort of making excuses to ourselves of, you know, we could actually go down that individual

227
00:17:01,520 --> 00:17:05,240
contributing part. It doesn't stop at senior you don't have to be an engineering manager.

228
00:17:05,240 --> 00:17:11,040
You know, staff and principal, engineering jobs are complex. And I think that points

229
00:17:11,040 --> 00:17:16,240
to one of the fallacies that we have in software engineering is we treat it like a lot of other

230
00:17:16,240 --> 00:17:20,280
hierarchies where all of the leadership is actually invested in one person, like the

231
00:17:20,280 --> 00:17:25,480
team lead, engineering manager, lead developer. It's not actually the case, you know, as soon

232
00:17:25,480 --> 00:17:29,320
as you get to senior or perhaps you're a staff or principal, at that point, you are taking

233
00:17:29,320 --> 00:17:34,200
leadership, it might be more technical leadership, but yeah, it's still an element of you have

234
00:17:34,200 --> 00:17:38,520
to go out into the unknown. No one's giving you the answers because you're the guy that

235
00:17:38,520 --> 00:17:42,360
has to, you know, you're the explorer with the partially filled in map that actually

236
00:17:42,360 --> 00:17:46,120
has to fill stuff in there as well. And I think of course, that's one of the great engaging

237
00:17:46,120 --> 00:17:50,360
things about this field is you never stop learning. And if you do, then you're almost

238
00:17:50,360 --> 00:17:55,760
certainly wrong about that. You need to stop filling in the map for other people to follow.

239
00:17:55,760 --> 00:18:01,280
Yes, yes. Oh, I fully agree. I mean, this bookshelf right here is probably like books

240
00:18:01,280 --> 00:18:06,160
that I've 50% read. Well, probably books I've read a chapter or two scanned through the

241
00:18:06,160 --> 00:18:12,720
book, and maybe have read 25% of them, right? Like it's, it's, we want to learn the things

242
00:18:12,720 --> 00:18:18,480
we want the knowledge we want to be, you know, the best at our craft, right? And as developers,

243
00:18:18,480 --> 00:18:22,120
we want to do it as fast and efficient as possible, like that's our end goal. So we

244
00:18:22,120 --> 00:18:26,560
can share and be like, look what I built, as quick as possible, ideally, right? But

245
00:18:26,560 --> 00:18:31,440
yeah, it doesn't have to learn almost, it's that sense of like, I'm going to lead to know

246
00:18:31,440 --> 00:18:34,600
exactly what I need to know. And then I'll move on to something else there. But that's

247
00:18:34,600 --> 00:18:38,800
a great first order thing, like you get something, you build it, it's cool, you get that rush,

248
00:18:38,800 --> 00:18:43,040
then you could push yourself further, get that basis and then build on top of that knowledge

249
00:18:43,040 --> 00:18:48,280
there too. So it's, it's kind of interesting to see who does that and how they do it and

250
00:18:48,280 --> 00:18:52,280
obviously try and help coach other people to do it as well.

251
00:18:52,280 --> 00:18:57,000
Yes. Well, I think that's this has been gosh, what a beautiful like theme that the show

252
00:18:57,000 --> 00:19:02,440
has honestly started to like create all on its own, not by my direction by any means.

253
00:19:02,440 --> 00:19:07,360
But there's been so many conversations recently about the lack of investment into ourselves

254
00:19:07,360 --> 00:19:10,560
as developers, right? Like we will go buy the book, like you said, but sometimes it's

255
00:19:10,560 --> 00:19:14,040
that's in our desk, or we'll go buy the course, like, you know, many courses I've bought that

256
00:19:14,040 --> 00:19:17,280
I like haven't actually finished because I'm like, a, I wanted to support the developer

257
00:19:17,280 --> 00:19:22,400
or be I did fundamentally want to learn, but it's, I just didn't prioritize the time.

258
00:19:22,400 --> 00:19:27,320
And I think it's one of those things of like, we see those drawbacks when we get into roles

259
00:19:27,320 --> 00:19:31,400
and when we're being pushed in different directions and I've been in a situation where it's like,

260
00:19:31,400 --> 00:19:34,160
gosh, I really wish I would have picked up that course that I bought that I knew that

261
00:19:34,160 --> 00:19:39,200
I needed, but didn't actually, you know, take it to fruition. So I think that there's a

262
00:19:39,200 --> 00:19:44,520
major sort of precedent here of understanding like we are engineers and we are paid decently

263
00:19:44,520 --> 00:19:48,680
well, like we should take some of those funds that we are being paid and reinvest them back

264
00:19:48,680 --> 00:19:53,040
into ourselves. It's no different than a business, right? If you're starting a business, my dad

265
00:19:53,040 --> 00:19:57,200
is an auto repair business, like it came with a tire machine, but the tire machine really

266
00:19:57,200 --> 00:20:01,880
sucks. So it's like you serve customers, buy a new tire machine when you can, right?

267
00:20:01,880 --> 00:20:06,400
And that's just kind of how business operates. So it's interesting that we don't do that.

268
00:20:06,400 --> 00:20:11,720
Yeah. And look here as a system and in the entire example case, well, what's the thing

269
00:20:11,720 --> 00:20:15,400
that's stopping us from serving more customers or serving them better? It's that let's go

270
00:20:15,400 --> 00:20:21,920
fix that. Let's indulge that engineering mindset. That's no bad thing. And people do have

271
00:20:21,920 --> 00:20:26,080
educational budgets. People work at companies that allow for this kind of thing. But if

272
00:20:26,080 --> 00:20:30,120
you and I were to bet how much that money gets spent and the percentage of companies

273
00:20:30,120 --> 00:20:34,480
across the board, I think it would be a number that's a fair bit lower than 100%. And I think

274
00:20:34,480 --> 00:20:39,760
that's a very telling sign that even though you have those free funds available to you,

275
00:20:39,760 --> 00:20:43,560
you don't necessarily use all of that. You're not developing as fast as you could, I think

276
00:20:43,560 --> 00:20:49,080
is a common theme there. So I think with a more competitive job market, that's the kind

277
00:20:49,080 --> 00:20:53,160
of thing that people are starting to realize that it's not necessarily always growing in

278
00:20:53,160 --> 00:20:57,440
the more developer positions than could ever be filled. We've been through a bit of the

279
00:20:57,440 --> 00:21:03,640
retractment is how do like 25 years of solid growth, it's going to be the bottom part of

280
00:21:03,640 --> 00:21:08,160
the market that drops out fair enough. It might not be suited to them, but that means

281
00:21:08,160 --> 00:21:12,840
that other people still need to shape up and make sure they've secured the roles or promotions

282
00:21:12,840 --> 00:21:17,120
they'd like to get there too. So it's nice that it all comes together in the theme of

283
00:21:17,120 --> 00:21:21,920
developer growth because I know that's something you're very interested in as well.

284
00:21:21,920 --> 00:21:26,000
Yeah, yeah, exactly. I mean, from all sides, right? It's like, at the end of the day, like

285
00:21:26,000 --> 00:21:30,600
I do the job that I do because I want developers to have the experiences that they want, right?

286
00:21:30,600 --> 00:21:34,960
I want them to go through a product and it's like, beautiful and the ducks are in the main

287
00:21:34,960 --> 00:21:40,000
navigation and it's crystal clear how to get started and the SDK is so stupid simple that

288
00:21:40,000 --> 00:21:45,600
you're like, look at me go, you know, and so for me, it's very much sort of the same end

289
00:21:45,600 --> 00:21:49,320
goal that you have, right? It's like, I want to see developers succeed and I want them

290
00:21:49,320 --> 00:21:53,240
to have that experience that they can have to be able to succeed where you're on the

291
00:21:53,240 --> 00:21:58,400
other side of how can we educate and how can we level up engineers in their actual career

292
00:21:58,400 --> 00:22:02,680
skills and in their education to be better professionals in their role, you know, and

293
00:22:02,680 --> 00:22:07,240
I think it's still a beautiful synergy of developer growth for sure.

294
00:22:07,240 --> 00:22:11,400
It's a very positive cycle and I'd like to think that, you know, as pure type expands

295
00:22:11,400 --> 00:22:18,080
as it supports more languages and technologies, it's freeing up managers to become more invested

296
00:22:18,080 --> 00:22:22,040
in career developments, the software side of things, you know, allowing for that getting

297
00:22:22,040 --> 00:22:26,560
rid of the mechanical, oh, you made this mistake, so go do this resource. Oh, did you get this

298
00:22:26,560 --> 00:22:31,000
down? I've got to follow up, etc. This stuff often gets dropped. You then leave no time

299
00:22:31,000 --> 00:22:35,280
for what I think is the most rewarding part of work, which is the ability for people to

300
00:22:35,280 --> 00:22:39,760
invest in each other's growth there. So I'm not looking to replace that whole hierarchy

301
00:22:39,760 --> 00:22:44,040
at all. What I'm looking to do is make sure that the human side of things actually gets

302
00:22:44,040 --> 00:22:47,760
the time it deserves and we'll see how things go.

303
00:22:47,760 --> 00:22:51,080
Yeah. Oh my gosh, I love that so much. I absolutely

304
00:22:51,080 --> 00:22:55,800
would have loved to have focused on that as an engineering manager. I think when you're

305
00:22:55,800 --> 00:23:00,760
in that space, right, it's, you have so many balls to juggle, right? It's both the technical

306
00:23:00,760 --> 00:23:04,880
balls, you know, the business and other balls that you're juggling, right? But then you

307
00:23:04,880 --> 00:23:08,520
have these humans that are reporting to you that you're, you know, responsible for their

308
00:23:08,520 --> 00:23:13,680
career growth at which they are in your company. And I think it's, it's not always easy to

309
00:23:13,680 --> 00:23:16,960
find that and to understand that. And so I love that you're doing that. And I think on

310
00:23:16,960 --> 00:23:22,400
top of it too, there are so many different neurodiversities in technology, which I think

311
00:23:22,400 --> 00:23:27,360
is actually why I think why there are so many neurodiversities is because technology is so

312
00:23:27,360 --> 00:23:31,880
interesting to those that have a neurodiverse brain, they get to really dive in and leverage

313
00:23:31,880 --> 00:23:37,200
what others may see as a disability and really bring that to life, which I think is so beautiful.

314
00:23:37,200 --> 00:23:41,600
But what I think is, is interesting is when you have those neurodiversities on teams,

315
00:23:41,600 --> 00:23:46,720
and that is not always easy to handle, right? Someone who, you know, needs to be in the

316
00:23:46,720 --> 00:23:50,760
mode, right? You know, whether that be ADHD, because it's a focus or a tunnel thing, or

317
00:23:50,760 --> 00:23:54,640
whether that be sort of just how they think and operate and being able to work when they

318
00:23:54,640 --> 00:23:59,880
want to work or operate how they want to operate. And I think often, you know, in corporate

319
00:23:59,880 --> 00:24:04,080
culture, we're not, there isn't really this beautiful scenario for a neurodiverse or an

320
00:24:04,080 --> 00:24:08,600
alternative thinking type of a person. But I think when we bring it into this engineering

321
00:24:08,600 --> 00:24:13,720
world, there is a space for these engineering leaders to sort of understand that more deeply.

322
00:24:13,720 --> 00:24:17,560
And I think when you can bring that to what you're building, right, and there's actually,

323
00:24:17,560 --> 00:24:21,520
it's more than just a number. Yes, they did lines of code, right? It's far more than that

324
00:24:21,520 --> 00:24:27,560
because someone can create a more beautiful solution versus someone else who can write

325
00:24:27,560 --> 00:24:32,040
more code, right? You understand what I'm saying. But I think there's, I think it's

326
00:24:32,040 --> 00:24:36,240
just interesting too, when you bring that dynamic into teams as well with education.

327
00:24:36,240 --> 00:24:42,680
And I think that draws upon two experiences I've had. The first is you can manage neurodiverse

328
00:24:42,680 --> 00:24:48,560
people well. It's, it's at least a area that allows for that, you know, it's analysis.

329
00:24:48,560 --> 00:24:53,440
It's not always about making 700 calls a day. It's, well, if you think about it for 20 minutes

330
00:24:53,440 --> 00:25:02,480
longer, you might save an hour. It's not incredibly output focused. And so, you know, being on

331
00:25:02,480 --> 00:25:09,480
teams, I, I like this principle of decisions are discussed, then made, much less of a top

332
00:25:09,480 --> 00:25:15,160
down thing of decisions are made, then discussed, because you get to take the pressure off it,

333
00:25:15,160 --> 00:25:19,200
you just get to collect opinions from people who might otherwise sort of shy away from

334
00:25:19,200 --> 00:25:24,280
those kind of scenarios and then say, well, actually, yeah, I've made the best decision

335
00:25:24,280 --> 00:25:28,040
because I feel like it's a mixture of all of these different points of view there. So

336
00:25:28,040 --> 00:25:38,040
that's the first point. The second is, you know, it's about giving people a full picture

337
00:25:38,040 --> 00:25:44,360
of what engineering is supposed to be. It's, even if you're managing a neurodiverse person,

338
00:25:44,360 --> 00:25:46,920
the people in the business are going to think, well, okay, they're not kind of following

339
00:25:46,920 --> 00:25:51,240
that. There's a strong group mentality as there should be in any company, but not everyone

340
00:25:51,240 --> 00:25:57,000
can be part of all of the practices of that group. And trying to give them a good sense

341
00:25:57,000 --> 00:26:01,800
of, well, this person is good, even if he doesn't follow all of the things there, or

342
00:26:01,800 --> 00:26:05,920
he has a bit more flexibility. That's not because he's a special exception. It's because

343
00:26:05,920 --> 00:26:11,120
that's the best way to get the best out of him there. And, you know, I'm not trying to

344
00:26:11,120 --> 00:26:16,320
fit everybody into a single template of what a great engineering leader is supposed to

345
00:26:16,320 --> 00:26:20,240
be. And I guess that goes back to what we were discussing about those two parts. Is

346
00:26:20,240 --> 00:26:24,520
it management? Is it technical leadership? Is it both? That's, there are a multitude

347
00:26:24,520 --> 00:26:29,600
of parts to follow. It's divergent. It's not convergent, I guess, to tie that particular

348
00:26:29,600 --> 00:26:31,600
thread up there, too.

349
00:26:31,600 --> 00:26:38,600
Yeah, no, I fully agree. Yeah, it's interesting, too. And I think it's, I'm just thinking back

350
00:26:38,600 --> 00:26:42,200
to, you know, to like engineering manager days, right? Or even just general like leadership

351
00:26:42,200 --> 00:26:46,120
days, I think that was probably the most painful thing to navigate with some of that stuff.

352
00:26:46,120 --> 00:26:49,480
And it was, and it's hard to because as a manager, you're looking to advocate, right?

353
00:26:49,480 --> 00:26:53,600
And so the more details and insights and information you can have to sort of navigate and understand

354
00:26:53,600 --> 00:26:54,600
that I think is powerful.

355
00:26:54,600 --> 00:26:55,600
Yeah, I agree.

356
00:26:55,600 --> 00:27:01,200
Yeah, love that. Okay, so let's talk a little bit more technically, like you are building

357
00:27:01,200 --> 00:27:08,000
peer type, right? And it's an actually, it's a platform itself. So what are the underlying

358
00:27:08,000 --> 00:27:13,120
technical stack that you've been building in or end on top of it and or what is your preferred

359
00:27:13,120 --> 00:27:15,800
stack to build in? But I assume it's likely the same.

360
00:27:15,800 --> 00:27:24,440
So at the moment, right now, it's Elixir and Phoenix Live View. So Elixir is cool. Yeah,

361
00:27:24,440 --> 00:27:27,600
it's, it's a language that's gaining a fair bit of popularity. And in fact, the initial

362
00:27:27,600 --> 00:27:32,200
language is not supported on the platform for people to learn is Elixir because the

363
00:27:32,200 --> 00:27:36,680
demand is there. And if you look at the Stack Overflow survey, it says, well, people actually

364
00:27:36,680 --> 00:27:40,800
want to learn it, but they haven't got around to it yet. So good place to start. Also, good

365
00:27:40,800 --> 00:27:52,440
language to code it in. So having built that, it's great for prototyping. It's a great language

366
00:27:52,440 --> 00:27:59,520
to interface with other things, machine learning, the way in which it picks apart the code,

367
00:27:59,520 --> 00:28:05,400
for example. So it's fine not to solve all problems at once. It's, it's almost a bit

368
00:28:05,400 --> 00:28:08,600
like Python on the machine learning side of things. If it needs to go down and do some

369
00:28:08,600 --> 00:28:13,200
numerical stuff, that's going to be some library that handles that. In this case, a lot of

370
00:28:13,200 --> 00:28:18,160
platform functions like recommendation engine. I have all of these different streams of information

371
00:28:18,160 --> 00:28:27,040
coming in. What's the, the, the areas they should learn next and picking that apart there

372
00:28:27,040 --> 00:28:31,520
too. So there's some great libraries that have come up in the last two or three years

373
00:28:31,520 --> 00:28:36,160
focused on things like machine learning focused on, in this case, Phoenix LiveView, it's like

374
00:28:36,160 --> 00:28:42,160
a server-based thing. So you don't have to write a ton of JavaScript. You can just write

375
00:28:42,160 --> 00:28:46,840
something in one language, get it going quickly, get the, the feedback that you need to go

376
00:28:46,840 --> 00:28:51,680
right somewhere else as well. Speed of prototyping is such a huge factor nowadays, but also the

377
00:28:51,680 --> 00:28:56,600
way that the language is designed, the stack is designed means that you end up writing

378
00:28:56,600 --> 00:29:02,240
individual servers within the same application that keeps state nicely compacted. It's almost

379
00:29:02,240 --> 00:29:07,600
impossible to, to write a code base that ends up being complete mess with everything, talking

380
00:29:07,600 --> 00:29:13,480
to each other after a while. It's, it's a language I would have, I think it was a brave

381
00:29:13,480 --> 00:29:18,320
choice to adopt back at the previous place five or six years ago, but I think it's a

382
00:29:18,320 --> 00:29:19,680
sensible choice nowadays.

383
00:29:19,680 --> 00:29:26,800
Yeah. That is really cool. Well, there's actually been, I'd have to go back to reference which

384
00:29:26,800 --> 00:29:30,920
ones, but Elixir has been mentioned twice on the show. And in both of those times they

385
00:29:30,920 --> 00:29:34,320
were talking, if I recall correctly, they were referencing like something that they

386
00:29:34,320 --> 00:29:39,320
wanted to be diving into, but didn't have the time, honestly. So that's really interesting.

387
00:29:39,320 --> 00:29:40,320
I love that.

388
00:29:40,320 --> 00:29:44,240
Hopefully with pure type, they'll get the chance at least to pick apart some of the things,

389
00:29:44,240 --> 00:29:49,760
get some feedback on that. And JavaScript type script will always be around. And my

390
00:29:49,760 --> 00:29:55,760
plan is to support those languages next, but you can also give feedback on the individual

391
00:29:55,760 --> 00:29:59,360
technologies and the frameworks that people are using within the language. And you can

392
00:29:59,360 --> 00:30:04,240
go further. I'm hoping into things like software architecture. Yeah, you wrote all of this,

393
00:30:04,240 --> 00:30:08,360
but actually you should probably use this pattern if that's the case. I think that's

394
00:30:08,360 --> 00:30:10,880
going to be a really interesting path to travel down.

395
00:30:10,880 --> 00:30:15,240
Yeah, I think that's going to be, that's going to be the like amazing, right? Because I think

396
00:30:15,240 --> 00:30:20,400
it's, there are resources to fundamentally learn languages, but like you said, there's

397
00:30:20,400 --> 00:30:23,880
a difference between learning that language and then taking that and actually applying

398
00:30:23,880 --> 00:30:28,600
that. And so when someone can learn a new language and then learn how that language

399
00:30:28,600 --> 00:30:32,480
works, right? That's, I think the beauty of it is like, we can pick up a language, we

400
00:30:32,480 --> 00:30:36,000
can teach yourself, we can memorize, you know, syntax and whatever, but it's actually truly

401
00:30:36,000 --> 00:30:39,280
understanding why that language is so powerful, why that's the one that you would want to

402
00:30:39,280 --> 00:30:43,240
choose and operate with, having those strong opinions, right? And then understanding how

403
00:30:43,240 --> 00:30:47,440
that applies into that build system. That's the, that's the good stuff that like will

404
00:30:47,440 --> 00:30:49,160
drive a career forward.

405
00:30:49,160 --> 00:30:53,480
Yeah. And you and I, I'm sure have been in the position where you learn a new language

406
00:30:53,480 --> 00:30:57,560
and then you get your first bit of your first issue assigned to your first PR and you think,

407
00:30:57,560 --> 00:31:01,920
okay, I could do it one of three ways, but I need to get some feedback from somebody.

408
00:31:01,920 --> 00:31:02,920
Let me do it this way.

409
00:31:02,920 --> 00:31:03,920
Yes.

410
00:31:03,920 --> 00:31:07,920
Figure out the, and then you get to call it review. Oh, why did you even try that way?

411
00:31:07,920 --> 00:31:12,280
You should do it second way or third way because, and then that's the point of which they say,

412
00:31:12,280 --> 00:31:15,480
here are the principles, you know, you might understand all of these different things,

413
00:31:15,480 --> 00:31:18,560
but here's how they fit together. And here's the factors that you should be taking into

414
00:31:18,560 --> 00:31:25,760
account to move that particular choice there too. So that's, that's an interesting angle.

415
00:31:25,760 --> 00:31:29,120
It's trying to make sure that people reach that point as quickly as possible. I think

416
00:31:29,120 --> 00:31:34,560
that's going to be quite interesting to go down and give that feedback.

417
00:31:34,560 --> 00:31:36,640
Yes. Yes. I fully agree.

418
00:31:36,640 --> 00:31:41,440
So I am, I'm excited. You'll have to come back on the show after you've been, you know,

419
00:31:41,440 --> 00:31:45,240
doing pure type for a while and, and catch us up on all the things that you've been up

420
00:31:45,240 --> 00:31:52,240
to. Okay. So sort of thinking about some of the questions I like to ask, I'm trying to

421
00:31:52,240 --> 00:31:58,600
think here, talk to your stack. How do you get unstuck like as you're building pure type?

422
00:31:58,600 --> 00:32:01,440
I mean, you're sort of, are you a team of one right now?

423
00:32:01,440 --> 00:32:07,840
I'm a team of one. And yeah, it is hard. And I think it might be able to allude to the

424
00:32:07,840 --> 00:32:12,920
question of, well, how do you, you know, get over hurdles? How do you see past things

425
00:32:12,920 --> 00:32:14,800
there? Yeah. Yeah.

426
00:32:14,800 --> 00:32:21,560
I'd say it's, it's wearing multiple hats. You know, I try not to be attached to any

427
00:32:21,560 --> 00:32:24,880
particular piece of code I'm writing. And obviously we live in an age now where the

428
00:32:24,880 --> 00:32:29,600
cost of writing new code has collapsed. You no longer feel such a big attachment to, well,

429
00:32:29,600 --> 00:32:32,840
I went down this particular path, this is going to take me hours to redo.

430
00:32:32,840 --> 00:32:33,840
Yeah.

431
00:32:33,840 --> 00:32:40,960
There it's, yeah. It has been critical. I don't mean it helps, you know, there's a review

432
00:32:40,960 --> 00:32:44,440
element to all of this. You do have to look at things and think, okay, well, I've written

433
00:32:44,440 --> 00:32:48,440
all of this, but I did it because that, that was the prototype. That's, it's almost like

434
00:32:48,440 --> 00:32:52,240
I'm generating some good material that I would want to get feedback on.

435
00:32:52,240 --> 00:32:53,240
Yeah.

436
00:32:53,240 --> 00:33:00,640
Yeah. I think it's the days perhaps of sitting and coding stuff for eight hours straights

437
00:33:00,640 --> 00:33:05,800
have, have changed significantly. You know, it's, it's much more mixture of different

438
00:33:05,800 --> 00:33:11,400
parts of it. And I've always seen writing code as a nice side effect of the job. I find

439
00:33:11,400 --> 00:33:18,960
myself leaning a lot more on chores, sketching stuff out on paper, getting some sense of

440
00:33:18,960 --> 00:33:23,720
where things are. I think the nice thing about being a bit more senior and doing this enough

441
00:33:23,720 --> 00:33:28,440
is the, having the language to criticize what the work you've done so far. It's a bit like

442
00:33:28,440 --> 00:33:32,840
a chef who doesn't know how to describe what they're, the food that they're tasting or

443
00:33:32,840 --> 00:33:36,320
the words that they have for it. If you don't have that language, it's very hard to know

444
00:33:36,320 --> 00:33:42,680
what's good or not. And getting that feedback from others is absolutely fundamental to that

445
00:33:42,680 --> 00:33:46,160
because they, they're the ones who say, well, this doesn't look right. And then they draw

446
00:33:46,160 --> 00:33:51,520
it up into some high level principle as well. I don't know if that's the kind of techniques

447
00:33:51,520 --> 00:33:56,080
that you've come across there and what you found useful there too.

448
00:33:56,080 --> 00:34:02,280
Yeah. No, I think, I think that's incredibly helpful because like, you know, as developers,

449
00:34:02,280 --> 00:34:06,280
right, sometimes it's hard for us to unveil the code that we wrote, although now I feel

450
00:34:06,280 --> 00:34:11,280
like it's, it's less in that way in that now, you know, PRs and code reviews and stuff

451
00:34:11,280 --> 00:34:16,280
are, are definitely a more regular type of a operation. But you know, like when I was

452
00:34:16,280 --> 00:34:20,640
a learning to code, right, that wasn't a thing like GitHub wasn't a thing. There wasn't,

453
00:34:20,640 --> 00:34:23,960
you know, this ability to go look at someone's code and review it. And like, I wasn't even

454
00:34:23,960 --> 00:34:30,280
using git. There was like, Oh my gosh, SVN, like, and was where I started, you know, it

455
00:34:30,280 --> 00:34:36,400
was, and even that was like painful. So it's really interesting too of like, I think now

456
00:34:36,400 --> 00:34:41,760
if I could go back and change things about my career start, right, is like that, I think

457
00:34:41,760 --> 00:34:45,880
is so incredibly valuable. It's like the ability to say, Hey, here's a chunk of code, here's

458
00:34:45,880 --> 00:34:49,960
a chunk of what I did. Go look at it, go provide feedback on it, you know, do those things.

459
00:34:49,960 --> 00:34:53,960
And it was just not as easy to do that in the past. So yeah, I think that, yeah,

460
00:34:53,960 --> 00:34:58,440
I'd sort of blurred that out of my mind. But yeah, when I started it was SVN and no one

461
00:34:58,440 --> 00:35:02,040
had, there wasn't a good code review platform for it. You just attached a diff to an email

462
00:35:02,040 --> 00:35:08,640
and someone if they had time gave you feedback. And in 10, 15 years, we've come from that

463
00:35:08,640 --> 00:35:13,560
prehistoric era to something where AI code reviews, obviously a big factor coming back

464
00:35:13,560 --> 00:35:18,360
to me, the market, that's, that's just mad that, that we could have ever learned from

465
00:35:18,360 --> 00:35:20,360
those kind of processes.

466
00:35:20,360 --> 00:35:23,960
Honestly, now that you say it like that, wow, that is really like 15 years. That's real

467
00:35:23,960 --> 00:35:28,280
fast for that to happen, truly, because like, not only did we not have peer reviews, like

468
00:35:28,280 --> 00:35:32,520
you said, but now we've got computer peer reviews and human peer reviews and all the

469
00:35:32,520 --> 00:35:39,000
possible reviews. Do you think, I don't know, gosh, like, it just makes me wonder, like,

470
00:35:39,000 --> 00:35:43,320
I really can't speak to what it's like to learn to dive into technology anymore, because

471
00:35:43,320 --> 00:35:48,600
it was just such a different world that we came from and how the evolution and how fast

472
00:35:48,600 --> 00:35:52,200
it's grown is like actually truly remarkable when you think about it.

473
00:35:52,200 --> 00:35:58,240
It was a shaky a start. It was harder. Things like repels didn't exist. 15, 20 years ago,

474
00:35:58,240 --> 00:36:01,520
you just had to code up something, compiled it and hoped it worked.

475
00:36:01,520 --> 00:36:07,880
Yeah, this is a danger turning into back in my day conversation, but that the cycle of

476
00:36:07,880 --> 00:36:13,160
getting that first bit of satisfaction and I think that first moment of, oh, cool, if

477
00:36:13,160 --> 00:36:17,320
that's the rewarding part for any future developer, then that's the thing that's the feeling

478
00:36:17,320 --> 00:36:24,680
you've got to latch on to and I think for in the future, that's something which at least

479
00:36:24,680 --> 00:36:29,200
you can experiment a bit more. We're almost as if we're becoming less, you have to have

480
00:36:29,200 --> 00:36:33,360
an engineering mindset and more scientific mindset. I'm going to experiment with this.

481
00:36:33,360 --> 00:36:38,200
I'm going to see if it works. I'm going to try and collect some feedback on why that is

482
00:36:38,200 --> 00:36:42,640
and why it's not necessarily the best solution. I think that can only be a good thing. I think

483
00:36:42,640 --> 00:36:47,920
we should accept a bit more failure as part of our job as software engineers almost.

484
00:36:47,920 --> 00:36:54,280
Yes. Oh my gosh, I love that. I love that so much because there's just so much to it,

485
00:36:54,280 --> 00:37:04,920
and yeah, man, I feel like I could pull this open even deeper, but I'm like, time. Okay,

486
00:37:04,920 --> 00:37:11,200
so how about you in your own work? Are you in terms of, yes, capturing feedback, super

487
00:37:11,200 --> 00:37:16,200
important, what have you, do you have a team of people that you reach out to them, like

488
00:37:16,200 --> 00:37:20,800
a circle that you're like, hey, I'm working by myself? Can you review my code? Can you

489
00:37:20,800 --> 00:37:24,400
review what I'm up to? How do you go about that being a team of one?

490
00:37:24,400 --> 00:37:28,600
So it's almost as if I leave the code review to myself. So I don't know what kind of horrors

491
00:37:28,600 --> 00:37:33,720
I'll unleash for anybody. I looked at the code base one day, we're often blind in that

492
00:37:33,720 --> 00:37:40,480
sense. What I found useful is at a high level, is it worth building this feature? Why? What's

493
00:37:40,480 --> 00:37:45,400
the feedback that I'm getting? What have other people done in the past? I've worked with

494
00:37:45,400 --> 00:37:48,760
an advisor, a couple of advisors, the sort of people who've done it before, but they've

495
00:37:48,760 --> 00:37:54,480
done it at slightly different angles. It might be security scanning. That's still a case

496
00:37:54,480 --> 00:37:59,600
of is this code good? Why isn't it good? In that case, the goal is, well, it has a security

497
00:37:59,600 --> 00:38:06,040
vulnerability. My goal is, well, there's a big gap between the code that you could write

498
00:38:06,040 --> 00:38:11,080
and the code that you have. And I think here's where the areas that you need to firm up on

499
00:38:11,080 --> 00:38:17,200
are the language that you're starting to speak. So I found that to be a lot more productive.

500
00:38:17,200 --> 00:38:22,000
And then you get some of the educational guys, the sort of people who have done this, you

501
00:38:22,000 --> 00:38:28,040
know, might be in high school or for college courses, instructional design, all these sorts

502
00:38:28,040 --> 00:38:31,800
of people who I think ed tech people never talk to, but they have very strong opinions

503
00:38:31,800 --> 00:38:36,120
on how things work, how people learn, how people learn, and the kind of questions that

504
00:38:36,120 --> 00:38:40,240
you should be asking to get them off the speed there too. So for me, that's over the last

505
00:38:40,240 --> 00:38:44,320
couple of months, it's been great to talk to people, job titles, for instance, I didn't

506
00:38:44,320 --> 00:38:49,360
even realize existed, and we talk about things at a high level. And maybe that's the way

507
00:38:49,360 --> 00:38:53,080
software engineering is going, that we are becoming more product engineers, we're becoming

508
00:38:53,080 --> 00:38:57,480
a bit more attached to each discipline, but we're using the skills I think software engineering

509
00:38:57,480 --> 00:39:04,480
has given us to pick apart those areas, find out those principles and become a lot more

510
00:39:04,480 --> 00:39:11,280
adept at in every demand too. And I think in the fields that I've been in before, thin

511
00:39:11,280 --> 00:39:16,360
tech and finance has been a strong value and actually learning what this product is or

512
00:39:16,360 --> 00:39:21,080
this contract, how it behaves there too. It's been nice to speak those languages as well

513
00:39:21,080 --> 00:39:28,040
as rights code there too. I haven't felt like a, was not becoming a software engineer, I

514
00:39:28,040 --> 00:39:33,640
just felt like I was learning additional stuff that also indulged engineering, learning all

515
00:39:33,640 --> 00:39:38,600
the things that I'd like to do. Yeah, yeah, definitely. Well, I feel like, you know, when

516
00:39:38,600 --> 00:39:41,680
you're in some of those like really niche industries and like FinTech definitely falls

517
00:39:41,680 --> 00:39:48,440
into that like healthcare is another one that sort of falls into that, obviously very regulated.

518
00:39:48,440 --> 00:39:52,120
But there's a lot that you learn just because when you're operationally building, right,

519
00:39:52,120 --> 00:39:56,040
you start to understand the industry itself, like how does the FinTech API's work, I hear

520
00:39:56,040 --> 00:39:59,840
some of them are archaic, right? I haven't had I haven't actually directly worked for

521
00:39:59,840 --> 00:40:03,960
a bank to have to work with some of those different sort of endpoints and things. I've heard

522
00:40:03,960 --> 00:40:09,680
the brutal stories though. Mine was a more cutting edge side when I was in FinTech, but

523
00:40:09,680 --> 00:40:14,720
it's really interesting to dive into that. And I think that's also been some good, you

524
00:40:14,720 --> 00:40:19,260
know, premise that has come from various conversations that just again feeds back into what you're

525
00:40:19,260 --> 00:40:24,600
building with peer type is, is like how important it is to actually like help and engage one

526
00:40:24,600 --> 00:40:29,080
another and to really dive in to have those conversations. Good follow up question for

527
00:40:29,080 --> 00:40:33,240
you. And I'm sure like, you'll have a variety of different answers here. But as you're

528
00:40:33,240 --> 00:40:36,720
starting to meet those people that you've never talked to before job titles you've you've

529
00:40:36,720 --> 00:40:41,160
never seen before, how are you finding those people? Like, are you just not LinkedIn scrolling?

530
00:40:41,160 --> 00:40:45,080
Are you asking folks to do introductions? What's your path there?

531
00:40:45,080 --> 00:40:51,240
I think it's it's both. And I think yes, LinkedIn, much more lines in terms of the quality of

532
00:40:51,240 --> 00:40:56,480
the feed, but you can always unfollow people. The fact that you can, you can connect to

533
00:40:56,480 --> 00:41:01,080
all these people that you have in common means that you can grow your network a lot more

534
00:41:01,080 --> 00:41:07,120
than you ever could virtually. And for me, physically, having moved to a new city, Montreal,

535
00:41:07,120 --> 00:41:11,320
it's great to get started in that and trying to pick through that and talking to going

536
00:41:11,320 --> 00:41:15,640
to CTO meet ups. Well, they're all have an engineering focus to them. They're all interested

537
00:41:15,640 --> 00:41:19,440
at least to see where things are going there. So I think LinkedIn is the first thing to

538
00:41:19,440 --> 00:41:24,440
go to. I think the second is following the intro chain. And I'm saying not just Oh, you

539
00:41:24,440 --> 00:41:27,480
talked to this guy that you asked him, Oh, is there anybody else in your network I should

540
00:41:27,480 --> 00:41:31,880
be talking to? And there was some way for this is a nice conversation that's not really

541
00:41:31,880 --> 00:41:36,000
going anywhere. You know, that overlap isn't there for enough, not everything works out.

542
00:41:36,000 --> 00:41:40,520
But then the intro to me to somebody who goes, Oh, this is exactly the kind of thing that

543
00:41:40,520 --> 00:41:46,760
I'm really, really quite handy with, you know, I really like the opportunity to do that. And

544
00:41:46,760 --> 00:41:51,520
actually following three or four people deep. That's again, it's, I think that's one of

545
00:41:51,520 --> 00:41:58,440
the great experiences I found during is brought me out of a, I need to be focused on this,

546
00:41:58,440 --> 00:42:02,480
you know, there's this product release coming up as I need to make sure that this is as

547
00:42:02,480 --> 00:42:07,920
good as possible to more divergent. Okay, there's 100 different people I could talk

548
00:42:07,920 --> 00:42:13,040
to, but who's going to care the most at this point? And who's going to help shape the direction

549
00:42:13,040 --> 00:42:16,840
that I've been seeing hundreds of hours building the right thing or and it comes down to that

550
00:42:16,840 --> 00:42:21,720
output metric of I could write all sit down and write all of this, but no soul founder

551
00:42:21,720 --> 00:42:27,160
is going to have the sort of resilience to do that. How can I use my time most effectively

552
00:42:27,160 --> 00:42:31,240
and how can I talk to people who do that? So could I have done that in the same way

553
00:42:31,240 --> 00:42:36,080
10 years ago? No, not really. People were based on LinkedIn, they weren't open to as

554
00:42:36,080 --> 00:42:41,680
many conversations. I think we are becoming a more collaborative world. I think in terms

555
00:42:41,680 --> 00:42:47,600
of these types of conversations, perhaps you and I wouldn't have met by the time you go

556
00:42:47,600 --> 00:42:52,120
to Italy. And within companies themselves, we're realizing that software engineering

557
00:42:52,120 --> 00:42:56,280
is quite a team sports, you know, yes, it's kind of practice individually, but it's becoming

558
00:42:56,280 --> 00:43:01,920
more and more practices a group, so you know, more programming, pairing, all of those practices

559
00:43:01,920 --> 00:43:09,400
are becoming a lot more efficient and easy to do asynchronously, etc. than they ever

560
00:43:09,400 --> 00:43:15,320
were a few years ago. Yeah. Yes, I agree. Honestly, like, you know,

561
00:43:15,320 --> 00:43:20,400
sometimes it's like there are some we can argue social media, right? And it's it's

562
00:43:20,400 --> 00:43:25,640
goodness that it has brought to the world versus the negativeness that it has brought

563
00:43:25,640 --> 00:43:30,080
to the world. But I do think that that LinkedIn has been one of the one of the really beautiful

564
00:43:30,080 --> 00:43:36,080
things to be able to just connect and network with people in that way in in in more of that

565
00:43:36,080 --> 00:43:40,000
professional sense, which I think has been something beautiful to do that. Because like

566
00:43:40,000 --> 00:43:44,520
you said, I don't think we would have met, right? Like, as I look at sort of our crossings

567
00:43:44,520 --> 00:43:49,880
and wherever it was a very serendipitous sort of meeting of, you know, someone introducing

568
00:43:49,880 --> 00:43:55,520
there in that way. So yeah, I mean, we think about it right in like, gosh, okay, so my

569
00:43:55,520 --> 00:43:59,160
I love the TV show friends, like, I love the show. So I swear this isn't a tangent. I'm

570
00:43:59,160 --> 00:44:04,000
not going I'm not going way off way off course here. But we were rewatching it. And right

571
00:44:04,000 --> 00:44:07,320
now we're like in season eight or something, right? But we've been rewatching it sort of

572
00:44:07,320 --> 00:44:11,720
just it just kind of is like in the background, my husband loves to watch TV. Long story short,

573
00:44:11,720 --> 00:44:15,080
it's just even interesting to sort of like watch old shows like that, right? In the beginning,

574
00:44:15,080 --> 00:44:19,280
they didn't even have cell phones. And they're like, Oh, like Ross gets a pager because his

575
00:44:19,280 --> 00:44:23,280
his like ex wife is going to have a baby or something, you know, and it's just interesting

576
00:44:23,280 --> 00:44:27,320
to sort of think back to like that world at which we had to be like, leaving voicemails

577
00:44:27,320 --> 00:44:32,120
on people's home phone voicemails to be like, Hey, can I intro you to a friend? Like it's

578
00:44:32,120 --> 00:44:36,520
just so much harder to just say, Hey, I know somebody, let me connect you to them because

579
00:44:36,520 --> 00:44:40,000
the path at which to communicate with someone was a lot more difficult.

580
00:44:40,000 --> 00:44:45,160
Yeah. Well, it's a bit like cyberpunk and that whole genre and the fact in the Victorian

581
00:44:45,160 --> 00:44:49,800
era, we built the first internet we could have basically real time transmission across

582
00:44:49,800 --> 00:44:54,760
the Atlantic, but we still had horses for that. And trying to figure out, okay, you know,

583
00:44:54,760 --> 00:44:58,280
speed of communication, what we could actually do with that communication is these two big

584
00:44:58,280 --> 00:45:04,960
factors that we're always playing a part. I feel like we've made a huge leap in communication

585
00:45:04,960 --> 00:45:08,320
over the past couple of years. And now we're trying to, okay, figure out, well, how do

586
00:45:08,320 --> 00:45:12,040
we work together using that and make use of it? They're two of them's obviously LLM's

587
00:45:12,040 --> 00:45:13,520
AI just fit into that.

588
00:45:13,520 --> 00:45:18,920
Yep. Yep, I agree. I know now we have like too many communication passes, like, do I

589
00:45:18,920 --> 00:45:22,960
mean to text you or Twitter DM you or send you a message on LinkedIn or email you or

590
00:45:22,960 --> 00:45:32,880
I could call you all the ways. This has been such a lovely conversation. Where can folks

591
00:45:32,880 --> 00:45:39,000
Yeah, great, great, great. Sorry, I didn't mean to cut you off. Where can folks find

592
00:45:39,000 --> 00:45:43,640
you obviously peer type, but let us know the URL directly so that folks can go find that

593
00:45:43,640 --> 00:45:48,120
directly. And then any, you know, places where they can meet with you or get to know

594
00:45:48,120 --> 00:45:49,120
you.

595
00:45:49,120 --> 00:45:54,320
Yeah, so it's pure type.ai.ai because it was the cheapest domain in Suffolk. It does use

596
00:45:54,320 --> 00:46:01,880
a bit of AI as well. And I'm at fuel type.ai. But I'm always on LinkedIn, DM me there. I'm

597
00:46:01,880 --> 00:46:06,240
always happy for a chat. I know how hard it is to get that initial network going. And

598
00:46:06,240 --> 00:46:12,240
I like software development, I like learning, I like any intersection of the two. So I'm

599
00:46:12,240 --> 00:46:16,800
sure I will get around to answering any messages that you end up sending.

600
00:46:16,800 --> 00:46:20,360
Oh, I love that so much. I think, you know, like we talked about this a little in the

601
00:46:20,360 --> 00:46:23,760
pre show, but it's like us developers and software engineers, we just want to hang out

602
00:46:23,760 --> 00:46:27,440
with our tribe, like we want to get to know each other, we want to spend time together,

603
00:46:27,440 --> 00:46:32,840
have these kinds of conversations. So absolutely encourage folks to reach out to Matt. It's

604
00:46:32,840 --> 00:46:38,120
been fabulous meeting you like absolutely fabulous. You have done some super cool stuff.

605
00:46:38,120 --> 00:46:43,880
I'm excited to dive into pure type other developers. I know there are a lot of earlier to mid to

606
00:46:43,880 --> 00:46:49,000
light career developers that can really benefit from pure type. So I hope that folks get that

607
00:46:49,000 --> 00:46:53,280
that message and they check it out as well. So yeah, it's been lovely to meet in chat

608
00:46:53,280 --> 00:46:58,280
and I'm hoping to keep in contact and maybe appear on the show sometime soon. Let's see

609
00:46:58,280 --> 00:47:02,720
how it all works out. Yes, absolutely. Honestly, I should bring you on and we can talk about

610
00:47:02,720 --> 00:47:06,360
it later. But on the built for devs hub, I'm just trying to bring together like great,

611
00:47:06,360 --> 00:47:09,640
beautiful, meaningful conversations. So it'd be great to bring you in there and maybe you

612
00:47:09,640 --> 00:47:14,480
can talk, talk about sort of why you built pure type and, you know, sort of the backbone

613
00:47:14,480 --> 00:47:18,920
behind it, at least in terms of like developers and you need to learn and, you know, all the

614
00:47:18,920 --> 00:47:22,320
reasons why they should dive into investing in their own education.

615
00:47:22,320 --> 00:47:24,520
Exactly. That'd be great.

616
00:47:24,520 --> 00:47:29,120
Awesome. Okay, well, I hope everyone has a fabulous rest of their day. I'll see you all

617
00:47:29,120 --> 00:47:33,320
again tomorrow. Matt have a lovely day as well.

618
00:47:33,320 --> 00:47:35,680
Thank you. Cheers.

619
00:47:35,680 --> 00:47:42,680
Cheers.

