The Learning-to-Code Journey and Tips to Get You Through It

Learning to code for the first time is awesome and overwhelming and scary and fun. If you ask a dozen people how to get started, you will probably receive 15 different answers. Ask the Internet and you’ll find that it’s rife with resources for learning how to code, and occasionally even a few tips about how to navigate through them.

The dilemma comes when you’re faced with all those reasonable-seeming approaches and need to choose between them or risk wasting your time. The problem, therefore, isn’t a lack of resources or even a path, it’s a set of criteria for figuring out which path makes the most sense for you to take.

In this post, I’ll show you an opinionated approach for taking on the first 100 hours of your coding adventure. It’s hardly the only one out there but it’s been an effective jump start for thousands of students so far so I believe in its inherent value. Despite this, only you can decide if it’s the right fit.

That’s why, prior to walking through the path itself, we’ll look at how to actually think about this phase of the learning process. It’s a commonly missing piece which will allow you to independently evaluate the effectiveness of this or any other suggested plan.

The goal of this post is to once-and-for-all answer the question “How should I get started with coding?” by empowering you to answer it for yourself.

Syntax and the Self

In your first 100 hours, you should accomplish 3 deceptively simple goals:

  1. Go fundamental — Learn the basic syntax and constructs of coding.
  2. Go broad — Familiarize yourself with the full web development stack.
  3. Go within — Find your coding “match” so you can passionately dive deeper into that area.

Most students tackle the first part, give a nod to the second part, and generally pay little mind to the last part. They’re more likely to force themselves to power through a bunch of dry syntax in a language they hate because they’ve heard it’s the thing to do. This approach should really be inverted.

Learning to code is like a new relationship. You’ll spend weekend nights curled up with a glass of wine and the gentle glow of a text editor. You’ll yell at code, you’ll fight with code, and you’ll eventually make up with code and build wonderful things together. It’s an intellectual love driven by passion. So it should make sense that the initial phase is a bit like a dating game and it’s worth your time to find the right match.

With this in mind, there are two questions you should consider on the way to finding what you’re genuinely passionate about:

  1. What do I enjoy learning the most (ie. which technologies or projects)?
  2. How do I enjoy learning the most (ie. which types of resources)?

When you can answer these questions, the path ahead becomes much clearer.

This is relevant because most of the knowledge you’ll gather in your first 100 hours is completely interchangeable among all languages or technologies anyway so it hardly matters which one you pick up. A deep well of genuine passion for what you’re studying, however, can be critical to help you to pick yourself up after the inevitable stumbles. It keeps you fully engaged with the material instead of feeling like learning is an obligation. Additionally, an understanding of how you learn best will prevent you from becoming discouraged by resources that don’t fit well with your learning style.

If all of this means that you’ll be happiest when learning Haskell from a dusty old textbook, it may not be my choice but you’ll pick up far more useful knowledge than forcing yourself into a tumultuous relationship with Javascript.

So, regardless of which path you end up taking into coding, make sure it doesn’t just allow you to learn a bunch of syntax or context but also provides enough room for you to find what you’re genuinely passionate about.

With this in mind, there are two questions you should consider on the way to finding what you’re genuinely passionate about:

  1. What do I enjoy learning the most (ie. which technologies or projects)?
  2. How do I enjoy learning the most (ie. which types of resources)?

When you can answer these questions, the path ahead becomes much clearer.

This is relevant because most of the knowledge you’ll gather in your first 100 hours is completely interchangeable among all languages or technologies anyway so it hardly matters which one you pick up. A deep well of genuine passion for what you’re studying, however, can be critical to help you to pick yourself up after the inevitable stumbles. It keeps you fully engaged with the material instead of feeling like learning is an obligation. Additionally, an understanding of how you learn best will prevent you from becoming discouraged by resources that don’t fit well with your learning style.

If all of this means that you’ll be happiest when learning Haskell from a dusty old textbook, it may not be my choice but you’ll pick up far more useful knowledge than forcing yourself into a tumultuous relationship with Javascript.

So, regardless of which path you end up taking into coding, make sure it doesn’t just allow you to learn a bunch of syntax or context but also provides enough room for you to find what you’re genuinely passionate about.