Programming is hard

One of the biggest shams of software engineering is that you can go from zero experience to a six-figure gig in a few months or even a year. While there might be some outliers that achieve this feat, I’m here to say that it’s very unlikely and you’re setting yourself up for failure if you believe this narrative.

But who am I to tell you what’s possible?

Well first off, I’m a Junior DevOps Engineer and I don’t have a degree. I taught myself how to code with a specific focus on infrastructure and operations. It took me a total of 18 months to go from zero knowledge about DevOps to landing my first official role at a software company.

The journey was hard. And even after getting the job, I’m still very much a beginner. Solving real-world engineering problems is far more complex than those resume projects.

Why am I telling you this?

Well, when you first start programming, it’s overwhelming AF. Not only are you learning a new language, you’re learning an entirely new way of communicating. Just like in regular language we have grammar and vocabulary, programming has syntax and semantics (look those up).

Not only is what you are learning difficult, but the way it is taught does not set you up for success. Tutorials leave you in paralysis not knowing how to start a project, or even what to build. How can I come up with project ideas if I don’t even know what programming is?

The worst is when you complete a guided project on YouTube and copy-paste your way to completion. You look back at your code and don’t know what any of it is doing.

And the “system” doesn’t do much of a better job preparing you either. I’ve seen countless reddit threads of computer science students spending months coding and still don’t know the basics.

I’ve been in your shoes and it’s not your fault. Don’t worry, I’m here to give you the no B.S. guide to actually learn how to code (it’s gonna take more than a year).

Step 1: Pick something

To keep it simple, choose one of these options: backend, frontend, infrastructure, or support. If you can’t decide, spin a wheel.

Step 2: Learn the basics

There’s a million resources out there to teach you the fundamentals of coding. Go find one and do it to completion.

Step 3: Go build

This is a hard one for many to get going. I’m going to break it down with an example:

Let’s say you choose frontend as your focus. Go build a web app around your favorite hobby. My current obsession is FC26 or more widely-known FIFA, so I’d probably go create a web app for soccer fans. It’s that simple.

You don’t need to plan out a suite of features, or spend weeks crafting user stories. Starting simple shortens the time going from idea to code. The more code you write, the faster you’ll learn.

Rules

  1. No AI: If you use it, then all of this is pointless. You won’t learn anything and you won’t pass the interviews. If you decide to ignore this, my only recommendation is to use it strictly for asking questions (always find proper documentation to support it after). Don’t use any AI generated code because at this point you don’t know which way is up.
  2. Do something every day: Even if it’s just 1 line of code a day or one article, you need to do it every day. Otherwise, you’ll forget everything and be back at square one.
  3. Make Friends: Doing things alone is hard. Find people to help you. There’s no secret sauce to this one. You just have to put yourself out there. Go be a fool and find other foolish people that figured out your tomfoolery already.
  4. Believe in yoself: Despite everything I said before, this is the most important and is what carried me through those 18 months.

Programming is hard and that’s ok. Trust me bro, it’s worth it.