It seems that every other day a new code school opens it doors. In my mid-sized city, Chattanooga, there are no fewer than three businesses centered around teaching “coding” classes1 that I am aware of. And there are at least a half-dozen free or community driven programs and camps on top of that. Most are aimed at youth, but some offer adult education as well. And that, of course, is over and above what’s available in our public and private schools (which is considerable) and a plethora of online options.
On one hand I think this is great. I love to code and I love to share my knowledge of that world with anyone who will listen (I’m sorry, Kelly). Also, as someone who ran a web design studio, I know first hand how hard it is to find talented people to hire. More coders equals a larger talent pool; it’s simple math.
Currently—at least here in the U.S.—the numbers aren’t where we need them to be. We just aren’t graduating enough STEM (Science, Technology, Engineering, and Math) students. And the pressure to fill open positions has led to a lot of outsourcing and an increased demand for employment visas. As an unemployed or unhappy worker, making yourself employable as a coder sounds like a win-win.
Couple this with the constant barrage of news about startup acquisitions and funding rounds and it certainly seems like learning to code is your key to financial stability if not extreme wealth. (The “American Dream,” right?) But it’s not.
As Jerry Davis pointed out so deftly in the Harvard Business Review, the vast majority of startups don’t succeed. Learning to code is not a guarantee of wealth and success. And, let’s be honest, not everyone is wired for coding and that’s okay.
So I’m not sure everyone needs to learn to code. That said, I think this movement (if you can call it that) has merit.
First off, on the Web side of things, I think learning to code can be empowering. The Web is for everyone and I love to see more and more people using it as a tool to amplify their voices and to build community across the globe. So for that reason alone I’m thrilled these programs exist.
The other reason I like that people are learning to code is that it changes how they see and deal with problems.
As a programmer, I am forced to break lumbering, gnarly problems into simpler, accomplishable tasks. I’m forced to think about cause and effect, of process, of the steps required to achieve the desired outcome.
I also experience failure. Constantly. I’ve learned to find the errors in my own logic, to second guess myself, to refine and improve, to refactor my code and my brain. This constant refinement helps me achieve a deeper understanding of my tools and my medium.
To me, those lessons (taught to me through nearly 20 years of coding) are invaluable. These are the sorts of lessons I wish they taught in school, but sadly the U.S. has largely done away with reason and critical thinking in favor of memorization and regurgitation. So maybe it’s something we need to learn at home. Or in a coding class.
Regardless, if the world was filled with curious people who asked questions, applied logic, and refined their understanding of the challenges they see every day, I can’t help but think we would all be far better off.
I should note that I am lumping a bunch of stuff into the umbrella of “coding” because some of these teach front-end web technologies, others teach those plus back-end stuff in PHP or Python, and others teach maker-style classes focused around robotics and DIY electronics like Arduino. ↩