

More From Forbes

Edit Story


Anthony Wing Kosner
This article is more than 8 years old.

Everywhere I turn, there seems to be a new way to learn how to program online. There are free resources like CodeacademyUdacityCourseraMozilla's P2PUGoogle Code University, and MIT Open Courseware. There are also more and more high-quality paid resources, both online and off, like General AssemblyTreehouse or Bloc, not to mention local continuing ed classes across the spectrum of relevance and quality.

But first, let's address the question head on, why should non-programmers consider learning to code? The answer is both obvious and not, and to help me with the "not" part, I want to virtually interrogate a wonderful skewering of the topic by Jeff Atwood on his Coding Horror blog, "Please Don't Learn to Code." Atwood writes, "The whole 'everyone should learn programming' meme has gotten so out of control that the mayor of New York City actually vowed to learn to code in 2012." He believes (perhaps correctly) that Mayor Bloomberg should spend his time, you know, being the mayor instead of slinging JavaScript.

Atwood has a point about Bloomberg (no word since January, as far as I can find, on how that resolution is working out for the Mayor), but even there, there are mitigating factors. Bloomberg's office has been supportive of a number of initiatives, Codeacademy and General Assembly among them, that are aimed at training a ready workforce for the New York (I mean Brooklyn) tech scene. So for Bloomberg, this is eating his own dogfood, as the developers say. Plus, he's a smart, quantitatively-minded guy, it's probably relaxing for him.

Where Atwood really nails it is by substituting the word "plumber" for the synonyms of "programmer" on Codeacademy's Code Year page (see image above.) O'Reilly, Rushkoff and Wilson's quotes make lots of sense in their original context—just not when talking about plumbing. Yes, the "learn to code" thing can be taken too far. The world doesn't need, as Atwood points out, more bad code. Any designer will appreciate how difficult it is to deal with a client who fancies themselves a bit of a designer. As Mike Monteiro writes in his great (short) book on how to manage a design business, Design Is A Job, such clients need to be treated as bad designers who, with our help, can get better. But I digress...

The point is that the world does not need more code for its own sake, but better and more universal thinking about code. And as with any situation where there is an apparent conflict, there is a resolution if we take it up a level. That's to say, there are many ways to code, and not all of them involve writing explicit code.




