Why learn to code?

It is one of the unwritten rules of writing a tutorial that you always begin by assuming the person reading the article needs convincing. With that in mind, here's what I think are the three strongest reasons for learning to code.

1 - It's fun.

If the idea of coding doesn't sound fun to you, I'm not sure I could convince you, but what I can tell you is I find it a lot of fun. Writing code isn't what a lot of people imagine, particularly not today. Some anxious learners still picture scrolling pages of matrix style text. Code is more like writing flowcharts. This might sound boring, except they're flow charts that do things. Humans like to push buttons and see results. Pushing buttons and seeing results is what code is all about.

2 - It helps you understand how computers really work.

If you're one of those people frustrated by the fact that computers appear in all aspects of our lives today, but can often be an obtuse mystery box, forever unclear how or why they do what they do, learning to write code can be the beginning of unpicking this mystery. Most people who learn won't end up writing the kind of low level, highly technical stuff that needed to program computer hardware, but even an introduction to simpler, high level languages can clarify how computers receive instructions, and what kinds of things are going wrong when they throw up errors.

3 - It lets you create anything.

Programming is one of the few fields where you, alone, with a limited amount of resources, can create something almost entirely out of nothing. Learning to code opens doors to creating tools, finding new ways to solve problems, making games, analysing data, and just about anything you want to do. We live in a time where computers are largely presented to the customer as a device for running software written by other people but, without wanting to sound too lofty, that's not what they're for. They're for you and their purpose is to allow you to create your own tools, to enhance your own thinking. Flipping your relationship with the computer means empowering yourself to invent just about any tool for any purpose on devices that our society is so saturated with you either own one already or can get one for pocket money.

The rub.

Coding is entertaining, educational, and liberating. You'd be nuts not to do it.