Mike Bifulco: This is Tiny Improvements.
I'm Mike by ko
This past weekend, I spent some time building a new project with Astro.
It describes itself as the web framework for content driven websites,
which was perfect for my use case.
I'm working on rebuilding a content heavy site for APS.
You won't hate called open api.tools.
It's a project that's been around for a while and could really use some love.
. I've been building with react for a good long while now.
And Astro's come as you.
Our approach to JavaScript frameworks means that I was able to mix in react
components with Astros on syntax.
At first, this felt a little bit like getting peanut butter in my chocolate,
but it works surprisingly well.
In true extrovert fashion.
I jumped into learning Astro by building with it in public,
on a YouTube live stream.
Last Saturday.
It was a tough, honestly..
over The course of a few hours, I went from optimistically explaining
my approach and giving a stream of consciousness of what I was thinking
to silently debugging or reacting Astro challenge for kind of a while.
Perhaps appropriately, the stream ended abruptly after my wife told me that my
webcam was no longer working and that was followed shortly by OBS the streaming
software that I use crashing completely.
So learning in public, wasn't a great success.
The live stream was kind of a struggle.
I stepped away from my Astro project and didn't come back to it till the next day.
At that point, something clicked.
I was able to get past the issue I was having.
And my project really started to fly together pretty quickly.
I was able to get a lot done in a short amount of time.
And I was feeling pretty good about it.
By the way I'll be sharing the fruits of my labor in the coming weeks.
My second day of building honestly felt a lot more like
typical dev work does for me.
I was in flow state, juggling tiny tasks and debugging issues as they came up.
I felt unfazed to be working with Astro, which was a completely different
experience as compared to the prior day.
As I got to this point in the project, I could feel myself pulling from experience
with all of the other web frameworks I've built with whether directly or indirectly.
I built production apps with many frameworks over the years from
create react app to remix.run next JS to Ruby on rails.
And now Astro.
I've also poked around with countless CSS in UI libraries, like bootstrap
and tailwind and chakra and shad CN UI.
It's a little difficult to describe, but the time I spent with each of these
tools has made me a better developer.
Of course learning about bootstrap doesn't inherently make me understand,
react, but it did add to the foundation of skills that I use to debug things,
to research solutions when I'm stuck and to ask for help when I need it.
That new era that just popped up.
Yeah.
I've seen something like it before.
Oh, this component isn't rendering correctly.
I, yeah.
I know how to do about that.
The layout isn't quite right.
I can fix it.
You get the idea.
In cognitive psychology.
There's a model called the hierarchy of competence.
It describes the stages of learning a new scale from unconscious
incompetence to unconscious competence.
The four stages look like this unconscious and competence is the bottom of the
pyramid where you have wrong intuition.
The next step up from there is called conscious incompetence.
This is generally where you understand the problem space a
little better, but typically your analysis of the problem is wrong.
One run up from there.
It's called conscious competence.
This is when your analysis becomes right.
Even if you don't have the solution straight off the bat and then.
Finally the top of the pyramid is unconscious competence.
That's right.
Intuition.
That means you can use the things, solve problems with it without really
spending much energy thinking about it.
In the early stages of learning, we stumbled between the
unconscious incompetence and the conscious incompetence stages.
The first two of them.
We don't know what we don't know.
And we start to realize how much we don't know getting through this phase
can really be a slog, but it's a necessary part of the learning process.
That's where I was Saturday morning.
Don't get me wrong.
I'm not going to tell you that I've mastered the damn
thing after just a weekend.
I wouldn't want to end up hanging out with my dear old friends done in Kruger again.
I'm likely passed the conscious incompetence stage with Astro.
I'm starting to see the patterns and the ways that Astro's
approach to building websites is different from what I'm used to.
What I am saying though, is that the projects like this inevitably
bolster my skills as a developer.
They're a good reminder that my expertise isn't just in rails.
Or react or next JS.
It's in problem solving and debugging and learning new things.
If you happen to manage a team of engineers, this is a good reminder
that giving your team the space to explore new tools and frameworks
can be a really good thing.
Whether it's as a weekend project or a side hustle or in a more formal setting.
And if you don't manage a team, remember this, the next time someone
tells you that it's a waste to try out a new framework or library.
It's not about the tool itself.
It's about the skills you pick up along the way.