WEBVTT

NOTE
This file was generated by Descript 

00:00:05.000 --> 00:00:06.290
Mike Bifulco: This is Tiny Improvements.

00:00:06.320 --> 00:00:07.369
I'm Mike by ko

00:00:09.684 --> 00:00:12.863
This past weekend, I spent some time
building a new project with Astro.

00:00:13.413 --> 00:00:16.594
It describes itself as the web
framework for content driven websites,

00:00:16.624 --> 00:00:18.394
which was perfect for my use case.

00:00:19.063 --> 00:00:21.854
I'm working on rebuilding a
content heavy site for APS.

00:00:21.883 --> 00:00:23.894
You won't hate called open api.tools.

00:00:24.313 --> 00:00:27.104
It's a project that's been around for
a while and could really use some love.

00:00:28.436 --> 00:00:30.596
. I've been building with react
for a good long while now.

00:00:30.626 --> 00:00:31.736
And Astro's come as you.

00:00:31.736 --> 00:00:35.336
Our approach to JavaScript frameworks
means that I was able to mix in react

00:00:35.336 --> 00:00:37.076
components with Astros on syntax.

00:00:37.646 --> 00:00:40.916
At first, this felt a little bit like
getting peanut butter in my chocolate,

00:00:40.946 --> 00:00:43.076
but it works surprisingly well.

00:00:44.276 --> 00:00:45.626
In true extrovert fashion.

00:00:45.626 --> 00:00:47.936
I jumped into learning Astro
by building with it in public,

00:00:47.936 --> 00:00:49.046
on a YouTube live stream.

00:00:49.046 --> 00:00:49.826
Last Saturday.

00:00:50.546 --> 00:00:53.756
It was a tough, honestly..

00:00:53.979 --> 00:00:56.679
over The course of a few hours, I
went from optimistically explaining

00:00:56.679 --> 00:00:59.289
my approach and giving a stream of
consciousness of what I was thinking

00:00:59.289 --> 00:01:04.359
to silently debugging or reacting
Astro challenge for kind of a while.

00:01:05.019 --> 00:01:08.439
Perhaps appropriately, the stream ended
abruptly after my wife told me that my

00:01:08.439 --> 00:01:12.729
webcam was no longer working and that
was followed shortly by OBS the streaming

00:01:12.729 --> 00:01:14.679
software that I use crashing completely.

00:01:15.939 --> 00:01:18.219
So learning in public,
wasn't a great success.

00:01:18.609 --> 00:01:20.289
The live stream was kind of a struggle.

00:01:20.679 --> 00:01:24.189
I stepped away from my Astro project and
didn't come back to it till the next day.

00:01:24.879 --> 00:01:26.169
At that point, something clicked.

00:01:26.769 --> 00:01:28.659
I was able to get past
the issue I was having.

00:01:28.689 --> 00:01:31.089
And my project really started
to fly together pretty quickly.

00:01:31.869 --> 00:01:34.029
I was able to get a lot done
in a short amount of time.

00:01:34.029 --> 00:01:35.289
And I was feeling pretty good about it.

00:01:35.829 --> 00:01:38.769
By the way I'll be sharing the fruits
of my labor in the coming weeks.

00:01:39.459 --> 00:01:41.889
My second day of building
honestly felt a lot more like

00:01:41.889 --> 00:01:43.209
typical dev work does for me.

00:01:43.419 --> 00:01:47.019
I was in flow state, juggling tiny tasks
and debugging issues as they came up.

00:01:47.269 --> 00:01:50.389
I felt unfazed to be working with
Astro, which was a completely different

00:01:50.389 --> 00:01:52.219
experience as compared to the prior day.

00:01:54.009 --> 00:01:57.099
As I got to this point in the project, I
could feel myself pulling from experience

00:01:57.099 --> 00:02:00.639
with all of the other web frameworks I've
built with whether directly or indirectly.

00:02:01.129 --> 00:02:04.009
I built production apps with many
frameworks over the years from

00:02:04.009 --> 00:02:07.849
create react app to remix.run
next JS to Ruby on rails.

00:02:07.849 --> 00:02:08.659
And now Astro.

00:02:09.169 --> 00:02:12.769
I've also poked around with countless
CSS in UI libraries, like bootstrap

00:02:12.799 --> 00:02:15.619
and tailwind and chakra and shad CN UI.

00:02:16.369 --> 00:02:19.399
It's a little difficult to describe,
but the time I spent with each of these

00:02:19.399 --> 00:02:21.229
tools has made me a better developer.

00:02:21.769 --> 00:02:24.889
Of course learning about bootstrap
doesn't inherently make me understand,

00:02:24.889 --> 00:02:28.354
react,  but it did add to the foundation
of skills that I use to debug things,

00:02:28.354 --> 00:02:31.114
to research solutions when I'm stuck
and to ask for help when I need it.

00:02:32.194 --> 00:02:33.544
That new era that just popped up.

00:02:33.604 --> 00:02:33.904
Yeah.

00:02:33.934 --> 00:02:35.224
I've seen something like it before.

00:02:35.734 --> 00:02:37.624
Oh, this component isn't
rendering correctly.

00:02:37.864 --> 00:02:38.254
I, yeah.

00:02:38.404 --> 00:02:39.334
I know how to do about that.

00:02:39.814 --> 00:02:40.774
The layout isn't quite right.

00:02:41.074 --> 00:02:41.704
I can fix it.

00:02:41.974 --> 00:02:42.574
You get the idea.

00:02:44.784 --> 00:02:45.924
In cognitive psychology.

00:02:45.924 --> 00:02:48.114
There's a model called the
hierarchy of competence.

00:02:48.384 --> 00:02:51.504
It describes the stages of learning
a new scale from unconscious

00:02:51.504 --> 00:02:53.904
incompetence to unconscious competence.

00:02:55.384 --> 00:02:58.834
The four stages look like this unconscious
and competence is the bottom of the

00:02:58.834 --> 00:03:00.844
pyramid where you have wrong intuition.

00:03:01.174 --> 00:03:03.754
The next step up from there is
called conscious incompetence.

00:03:03.944 --> 00:03:06.044
This is generally where you
understand the problem space a

00:03:06.044 --> 00:03:08.684
little better, but typically your
analysis of the problem is wrong.

00:03:09.254 --> 00:03:10.274
One run up from there.

00:03:10.274 --> 00:03:11.594
It's called conscious competence.

00:03:11.624 --> 00:03:13.364
This is when your analysis becomes right.

00:03:13.394 --> 00:03:15.584
Even if you don't have the solution
straight off the bat and then.

00:03:15.884 --> 00:03:18.404
Finally the top of the pyramid
is unconscious competence.

00:03:18.434 --> 00:03:19.244
That's right.

00:03:19.244 --> 00:03:19.754
Intuition.

00:03:19.784 --> 00:03:22.724
That means you can use the things,
solve problems with it without really

00:03:22.754 --> 00:03:24.674
spending much energy thinking about it.

00:03:25.664 --> 00:03:27.734
In the early stages of learning,
we stumbled between the

00:03:27.734 --> 00:03:31.334
unconscious incompetence and the
conscious incompetence stages.

00:03:31.364 --> 00:03:32.144
The first two of them.

00:03:32.804 --> 00:03:34.094
We don't know what we don't know.

00:03:34.124 --> 00:03:37.244
And we start to realize how much we
don't know getting through this phase

00:03:37.244 --> 00:03:40.724
can really be a slog, but it's a
necessary part of the learning process.

00:03:41.054 --> 00:03:42.404
That's where I was Saturday morning.

00:03:43.244 --> 00:03:43.964
Don't get me wrong.

00:03:44.054 --> 00:03:45.884
I'm not going to tell you
that I've mastered the damn

00:03:45.884 --> 00:03:47.174
thing after just a weekend.

00:03:47.564 --> 00:03:50.654
I wouldn't want to end up hanging out with
my dear old friends done in Kruger again.

00:03:51.734 --> 00:03:54.434
I'm likely passed the conscious
incompetence stage with Astro.

00:03:54.674 --> 00:03:56.774
I'm starting to see the patterns
and the ways that Astro's

00:03:56.774 --> 00:03:59.084
approach to building websites is
different from what I'm used to.

00:03:59.924 --> 00:04:02.894
What I am saying though, is that
the projects like this inevitably

00:04:02.894 --> 00:04:04.424
bolster my skills as a developer.

00:04:05.324 --> 00:04:07.934
They're a good reminder that my
expertise isn't just in rails.

00:04:08.324 --> 00:04:09.914
Or react or next JS.

00:04:10.394 --> 00:04:13.484
It's in problem solving and
debugging and learning new things.

00:04:14.294 --> 00:04:17.174
If you happen to manage a team of
engineers, this is a good reminder

00:04:17.174 --> 00:04:19.754
that giving your team the space to
explore new tools and frameworks

00:04:19.754 --> 00:04:20.804
can be a really good thing.

00:04:21.134 --> 00:04:24.554
Whether it's as a weekend project or a
side hustle or in a more formal setting.

00:04:25.044 --> 00:04:27.804
And if you don't manage a team,
remember this, the next time someone

00:04:27.804 --> 00:04:30.324
tells you that it's a waste to try
out a new framework or library.

00:04:30.864 --> 00:04:32.184
It's not about the tool itself.

00:04:32.424 --> 00:04:34.134
It's about the skills you
pick up along the way.