If you’re going to learn to write code, you’ll need a good introduction. It’s essential that the first couple of lessons make absolute sense to you, and make sense for your learning goals. Here's some advice for beginners on where to start, and how.

First off, bite off a piece you can chew - start with one language. If it seems daunting that it’s this hard just to learn one, and job descriptions list a whole string of them - don't give up. The hardest part is learning to think in computer terms, once you’re on track, other languages are easier, and if you find a niche you're good at, you may not have to go after that multi-feathered cap. 

Some courses over-complicate things, or do the opposite, trying to give you a sense of achievement fast. Be prepared to try a few different resources before you find the right fit. 

Don't obsess on picking THE language that'll stay on top of the tech blog listicles - in a couple of years it'll have mutated anyway! Coding is a constant learning thing - you don't just learn it and go home. The most important thing is to jump in. (Advice I got from programmers far more qualified than myself).

code
Hey, at least it's not 1's and 0's, right?

Self taught or classroom?

It depends on what you want to do. If your plan is to jump into the tech skills deficit and pick up some of that nice green moon money, you might want to go with a structured course or a real-life teacher to pester with questions. You need an uncommon level of self-discipline to persevere through all the boring or tough bits. 

Do your research. Read reviews. Be wary of companies with no reputation, or courses named something wishy-washy like 'build your own app' if your goal is a proper career in development. Also be wary if they say you'll be a working coder in three months. It's possible - but get real.

There are also plenty of great (and free!) resources to teach yourself everything you could need to know if you’ve got the motivation.

If you’re under 17, you're in luck (inherited housing crisis aside): Coder Dojo is free for young people who want to explore their technological interests. But if you missed that boat, self-improvement and education is one of those real gems of the internet, with a wealth of information and support there for everyone who wants it (...and is polite, and doesn’t expect anyone to do their homework for them).

If you're in college studying something else and are interested in learning to code, try auditing an introductory computer science class - if the lecturer has room and doesn't mind. In the words of Marge Simpson, the squeaky wheel gets the grease. 

phone with apps
Do you want to make the next bestselling Apple or Android app?Or do you see yourself working with big data?

Pick a project

If you’ve decided to learn to code, what do you wish you could do? That Last Orders reminder app - come on, it's a great idea! - may be out of your reach now, but you may as well start on the bottom rung of the right ladder and learn a language that suits app making.

Or do you want to make games, or websites? Work with data, big or regular size? Do you want to start working with complex databases? Or just automate some of your everyday tasks?

You might have an unrealistic idea of what you can make, of what's even possible. No one yet can make an app that changes a duvet cover, for one thing. But take the first step, maybe a duvet-changing simulation game could work. (It wouldn't be the worst idea on the market).

Whatever you're interested in, if you want a better understanding of programming, its languages and why they're different, the following video from coding guru Dan Shiffman should be helpful.

He's a great teacher: if you like this video series, however, I recommend quitting when he starts the lessons on processing as it's not as useful any more, and move to his lessons on the more flexible p5.js. That'll introduce you to Javascript, which can be used for many things, such as websites, interactivity, mobile apps and data.