This is the Monday Medley, a newsletter that goes out, you guessed it, every Monday. I republish it here for sharing and referencing, but if you'd like to sign up you can do so right here:
I published a DeFriday last week about borrowing "Magical Internet Money" against yield-bearing tokens, one of the crazier new DeFi options out there.
Also if you're a member of the Every bundle, I'll be doing a walkthrough of some DeFi basics for our community on Thursday at 1pm CT!
Alright, on to the newsletter.
This week is my six-month anniversary of deciding to go all-in on learning programming.
I've always thought it was fun, and I dabbled with it some back in 2014-2015, but I've never had the time or energy to go all-in on learning it. But in March, after the whole Creator Towns idea clearly wasn't going to work out, I figured then was my best opportunity to actually give it a go.
I also finally had a compelling reason: crypto. I'd been interested in the space since 2017, but now there felt like there were things to actually do with the technology, and it provided an exciting reason to learn programming.
I already published an article about learning Solidity, so this will be more focused on where to start if you have similar goals of making a significant career switch.
Sitting through online courses can get pretty dull pretty quickly. Even the best courses will get stale after a while, especially if you're unsure how the material is going to translate to a real project.
I found the best way to learn was to do a kind of zig-zag approach between projects and courses. I'd start trying to do one project, and then as I hit the limits of my knowledge, I'd circle back to a course to try to learn more to get past the hurdle.
I spoke about this some in my last newsletter, but there are two distinct phases to learning a new skill:
So let's talk about getting through the Structured part as fast as possible:
To get started for full-stack JS you'll need to know the basics of HTML & CSS. If you don't already know them, check out a free program like Codecademy. This is the easiest part to learn, so there's no need to go crazy with a fancy or expensive program.
However you do it, once you're through those you should have a solid JS foundation in place to move to the next step.
Wes Bos does have a React course, but it's out of date. Instead I'd recommend checking out this Modern React course, but you only need to go through the first 220 lectures. Don't bother with the Redux part.
From there you'll have a really solid foundation to start doing more projects on your own!
Or, you want to do something but aren't sure how, so you google around till you find someone explaining how to do it. That's really all there is to it.
The biggest challenge with self-advancing learning is making sure you're constantly encountering new challenges that are pushing your skillset forward. As with any skill, if you're just repeating what you already know how to do, you're not going to learn much. You need to always be on the edge of discomfort.
To do that, you'll want to have an endless list of ideas of projects you could build. The simplest way to generate this list is to think about the apps you use every day, and then consider which ones you might try to build yourself. Certain apps would be very easy to hack together, like a to-do list. Others might be considerably harder and have to be saved for later.
Another thing that can help at this point is building something, then starting to do a course but instead of following the course explicitly, watch a section and then try to implement what it's teaching you on an app you've already built.
So when I decided to learn NextJs, I worked through the first half of this course, but instead of doing the projects I tried remaking some stuff I had already built but using Next. That was a really helpful way to learn the material since I was applying it to something I cared about, instead of an abstract project.
I know this isn't a super structured guide, but I do think that if you follow it and try to emulate it you can get surprisingly far quite quickly without having to do a bootcamp.
Build enough of a foundation to start hacking on some projects. Build stuff that pushes the limits of your abilities. And continue to work through education material, incorporating it into the things you're already working on.
If you can do that, you'll be amazed at how fast you can learn.
Have a great week!