> coding is to software development what moving pieces is to chess.
And on a more serious note: I really like this mantra, but I do not think it's true or relevant:
There are many examples of success stories of what you would call "coders": Gates and Allen's Altair Basic and Zukerberg's Facebook are the famous ones - but I would argue that many software related business are also a product of "coding" and not "software development". See also WordPress or Wikipedia as examples. "Coding" is very important.
Software development is a very wide subject. The driving force of schools is mostly economical - training developers to fill a huge demand on this huge market. The thousands of open jobs require different sets of skills - and again I will argue that a high percentage of these jobs will allow a (very) junior developer to build good products as long as he knows to "code" and he can be managed and mentored by a senior developer. Being able "to code" will be a hard requirement for these jobs. Simple examples would be web and mobile development. enterprise/huge software projects. "Coding" can get you a job.
And, as I wrote in my other comment above, "training software developers" is not the same as "developing software". There are many ways to train developers - and where to start from and how much time it takes are good questions. Assuming a year (or 3-4 years) in college is very expensive and not accessible to anyone who can and want to be a software developer, finding other/more/different approaches to enter the software industry is needed. "Coding" is an eligible trailhead for starting to learn software development.
Knowing how to move the pieces is a foundational piece of information, but without the understanding of the theory of the game it's useless information.
Yes, and chess teachers will tell you, the way to improve as a beginner is through playing many many games quickly to get a wide variety of exposure and start developing intuition.
I know what you're getting at and it's a good mantra in a 'corrective' sense.
Perhaps a closer (nitpicky?) metaphor would be running to basket ball.
It's clearly important to be able to run well above average but trying to get to sprinter/marathoner levels has little to no benefit. Especially if it's at the expense of other skills like shooting, jumping, reflexes, etc.
People should learn this mantra: coding is to software development what moving pieces is to chess.