Why are we teaching people "how to code"? "Coding" is the term used by non-technical people to describe what software engineers do. It is a misleading and harmful term that should be discouraged. "Programming" is a term that is a little bit better, as it envelopes other more important aspects to developing software.

To be precise, coding is the act of literally writing out computer code to be read by the a computer and turned into a program. By itself, actual coding is the easiest part of a programmers job in just about every metric. The syntax for any given language is usually quite straight forward (not like a natural language), and the physical act of typing code is usually not all that challenging either (it's not that impressive in the 21st century to have a decent typing speed).

Much more time and effort is put into the thought process leading up to the lines of code. If things are planned well enough, code for a particular algorithm or program will fall out naturally. Even more time and effort is put into fixing already written code because it wasn't thought out well enough in the first place.

Coding by itself is a low-effort skill. Anyone can learn the basic syntax of any modern programming language quite easily. It's not a very valuable or meaningful skill to learn. In fact, placing an emphasis on coding can actually create bad programming habits.

And while I'm at it, can we all agree that "code" has terrible connotations in the English language? The term "code" implies something that is cryptic and mysterious. Something that takes effort to read and understand. Calling code makes it sound like these attributes are desirable, and nothing could be further from the truth. What we refer to as "code" is really a sort of human-readable notation system for computational structures. This notation is read by a computer, which in turn gets converted into machine code (and yes, now it is code).