How I Finally Learned How to Code in 2024

3 things I did differently this time

We're only one month into 2024 and I've already learned how to code.

But it didn't take me one month to learn. It took YEARS.

I've had many false starts. For years I would start tutorials, quickly get frustrated, and give up.

It was something I wanted to learn, but never seemed to be able to. I've tried and failed to learn how to code at least 10 times.

That all changed earlier this year, when I took an entirely new approach to coding than I had in the past.

Here are the 3 things I did differently and why they made such an impact on my learning:

1. Escape tutorial hell

There's a thing in programming known as "Tutorial Hell". It's when you get stuck in a cycle of consuming beginner-level tutorials. You follow along with what's happening on screen, feeling like you're learning the concepts, only to turn around and try to build something of you're own and find that you still have no idea how. So, you go back to watching tutorials, and start the cycle over again.

The problem with following tutorials is that you're not actively learning. For learning to be active, it needs to be effortful. You can't have all the answers in front of you. You need to put yourself in an environment where you'e forced to recall concepts and apply them so you can see how they work.

The surest way out of Tutorial Hell? Go build something on your own. As soon as you learn enough to piece something together, no matter how small, close the tutorial and start building. You'll have a ton of questions and get a lot of things wrong, but that's a good thing. It also brings me to my next point...

2. Make something meaningful

I've noticed that many people who've successfully learned to code all started from the same place: They had a thing they wanted to build. But they didn't know how to code. So, they kept asking questions, learned what they needed to know, and eventually built the thing.

Why is this such a powerful way to learn? Because it connects your learning with something that's meaningful to you. You'll be more interested and engaged with the process of learning to code if you know it's leading towards something you dream about become a reality.

Pick something to build that excites you, get curious, and ask a ton of questions until you have all the answers you need.

3. Get feedback

When I had tried to learn to code in the past, I had no one to give me feedback. But for just about everything else I've ever learned, I've always had a mentor, teacher, or peers supporting me, so why should coding be any different?

I now get support and feedback on my code in two ways: Through a community of learners and with the help of AI.

First, community.

You can spend time on sub-reddits or Stack Overflow, but I've found the best way to get support is by actually joining a community of learners on the same path as you.

For me, this ended up being The Odin Project Discord, which is a fantastic free resource for learning beginner, intermediate, and advanced wed development. This is a safe space to ask questions and get constructive critiques on your code. It also gives you an opportunity to help teach others, which is a great way to learn.

Next, use AI.

But don't let it give you all the answers or write your code for you. Instead, prompt services like ChatGPT to act as your mentor. When I need help understanding a concept or figuring out why some piece of code isn't working, I first prompt ChatGPT with the fact that I'm trying to learn how to code. I explicitly tell it not to give me the answer, but rather to help break the concept down and ask me what I think the answer is. It's amazing how well this works, and it's been a huge boost to my learning.

Doing these three things has taken me from not having a clue how to write a basic function, to building and shipping fully functional projects.

Now, I'm not going to go an become a software engineer tomorrow. I'm not nearly good enough and that was never the goal. But I am going to keep coding, because I've totally fallen in love with the learning process.

You can too!

BONUS: Some awesome resources

Here are some of the best resources I've found and used for learning how to code:

  • The Odin Project: A free, open source web development curriculum

  • Fireship: One of my favorite YouTube channels on software development and tech

  • Learn X in Y: Quick syntax cheatsheets for dozens of languages

  • MDN Web Development: A free, comprehensive resource from Mozilla on all things web development, complete with helpful exercises