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.
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.