💻
💻 Technology ⏱ 3 min read

What is coding?

Every app, website, and piece of software was built by someone writing instructions in a language computers can follow. Here's what that actually involves.

Age 8–12

Coding — also called programming or software development — is writing instructions in a language that computers can understand and follow. Computers are extraordinarily fast at following instructions, but they follow them exactly and literally. They do precisely what you tell them to, nothing more.

A computer ultimately understands only binary — sequences of 1s and 0s. But nobody writes code in raw binary. Instead, programmers write in higher-level languages — like Python, JavaScript, Java, or C++ — that read somewhat like English and get translated down to binary by other programs (compilers or interpreters).

Imagine writing a recipe for an incredibly literal-minded robot chef who will do exactly what you say, in exactly the order you say it, with no common sense. You can't say "add some milk" — you have to say "pour exactly 250ml of semi-skimmed milk from the container in the fridge into the bowl." Every detail must be specified. Forget to say "turn on the hob first"? The robot will try to cook on a cold hob. That's what coding is like: the computer does exactly what you specify, so every single step must be correct and in order. The art of programming is breaking down what you want into instructions precise enough for a machine with no intuition.

What do programmers actually do?

Most programming time isn't spent writing new code. It's spent reading existing code, debugging (finding why something isn't working), designing how parts of a system fit together, and working out what should be built in the first place. Writing the code itself is often the smaller part. The hard parts are thinking clearly about the problem and communicating precisely with a machine that has no tolerance for ambiguity.

Is it hard to learn?

The basics of coding are accessible to almost anyone — the core concepts (variables, loops, conditions, functions) can be understood by children. Writing professional software at scale is genuinely difficult, requiring years of practice and the ability to reason about complex systems. Like most skills, the starting point is easy and the ceiling is extremely high.

Was this helpful?