It’s national “Computer Science Education Week”. Industry and Obama wants everybody to get out there and learn to code. The push to get everybody tech savvy is noble, but I wonder exactly what problems are solved when people learn to code.
On one hand, people who invest the time to learn to code will at a minimum probably appreciate technology on a deeper level. Just as a person who takes an art class may have an enhanced view of the world, learning to code may have a similar impact. Technology surrounds us, and understanding how it works and how to affect technology is a powerful asset. Plus, learning to code can open one’s employment or entrepreneurial prospects to higher levels than most other skill sets. In a nutshell, learning the basics of coding – like studying basic math, art, music, etc – can lay a great foundation.
On the other hand, learning to code beyond a very superficial level is very difficult and time intensive. Ask anybody who is trying to learn to code right now – or has put in the time to master their craft – can vouch for this. Programming is hard, mentally taxing work. It’s more than just the tactical use of variables and conditionals. I’m not sure what finishing a couple of “hello world” examples will accomplish for anybody who isn’t truly interested in learning for code for deeper reasons.
With US education standards falling way behind the rest of the world – especially in STEM – it seems like we have a problem with foundations of learning. It’s not a ‘learn to code’ problem, it’s a basic thinking problem. When I say basic thinking, I’m referring to logic, critical thinking, basic math, communication, and anything else required to function and compete in today’s world. Solid, basic thinking skills are essential to doing anything more advanced, including programming. Anything less is dangerously superficial and a waste of time.
So should you learn to code? If you have the basic mental tools and a desire to work hard and apply what you learn, then absolutely. You’ll come away a better person and have a newfound superpower for creating awesome things. But if you’re just doing it because it’s the cool thing to do – or because industry and politicians tell you that it’s your duty – then maybe take a step back and ask yourself if this is a good investment of your time. If you’re lacking more fundamental skills, then learn those first. Learning to code is great, but also not 100% necessary.