Practical Advice on "Learning to code"

I stand behind the belief that everyone, somewhere deep down inside, has the ability to learn to code.

It’s not a skill reserved for the “smartest” of the smart.

Subscribing to the fallacy “I’m not a technical person, so I can’t learn to code” is just not true. It’s a cop-out and an excuse I hear all too often.

Learning to code, like any other skill, is a process of accumulation.

It’s a journey of trial and error. (lots of error)

As you overcome these errors and solve problems you encounter, something magical happens: You start getting faster, better, and smarter.

Each problem you bang your head against, and ultimately solve adds experience to your “collective pool of coding knowledge”

The key is to show up every day and add more “water” to your pool.

How to stick with it

Choose something that you would like to build.

Something real. A tangible thing that you will want to use or show people or have others use.

Throw away work is demotivating.

If you are building examples from tutorials or a dummy website you aren’t going to use, you will eventually burn out.

If you aren’t passionate about the thing you are building, switch gears to something that does fire you up and run at it full speed ahead.

My story

I got into coding back in college. I was in need of a website and I didn’t have a red cent to my name. So I setup a basic WordPress site (which incredibly back then was just a one click install process)

Then, I wanted to change some layout and design aspects of the site.

“Oh shit”, I’m going to need to touch the * gasp * Code”

  • me before coding anything ever

This is where my journey began.

Getting started can be a little rough for first timers. Figuring out how to access your site’s files from an FTP client feels foreign and harder than it needs to be.

Once you get over an initial “setup” phase the real learning and aha moments begin.

I started simple with a dead simple approach.

“what happens when I change this”

  • me learning to code step by step

An example of my thought process when starting out flowed something like this:

  • I’m looking at a CSS file. Hmmm… What is a CSS file?
  • Google tell me the answer.
  • Okay… it controls styles great! This is what I need.
  • Aha! I see the word background: blue inside this file.
  • What happens when I change it?
  • Nothing.
  • What happens if I change this other thing?
  • Nothing still…
  • Damn. Ok back to the drawing board…
  • Google “how to change my site’s background color”
  • Read. Read. Read… Aha ok I see (I think)
  • Hmmm. Okay… what about this other property…
  • Oh snap! background-color inside of .body { } changed the color.
  • Success!
  • I have super powers

It’s really that simple.

I’ve repeated this process 9 billion times, each time with a little more knowledge from previous coding sessions on how to solve a problem faster/better/smarter.

Now, it won’t always be this easy.

You will encounter problems where previous solutions that worked before won’t work. “Argh! wtf mate!” you will think and you will proceed in cursing the computing gods.

Instead of giving up, this is where additional Googling or pulling in an experienced developer can pay off.

Don’t go it alone

There are tons and tons of resources and people out there that would be happy to help you solve the problems they have previously experienced.

I did a lot of this troubleshooting on my own. Looking back, I wish I had started reaching out for a second set of eyes sooner. Don’t be me. Swallow your pride and ask for help when you need it!

You can do it

Watch this. Get pumped. And code.