It’s very surprising to see a post entitled “Please Don’t Learn to Code” at the top of Hacker News, and even more surprising that its author would be Jeff Atwood of CodingHorror and StackOverflow fame.
Jeff is arguing that not everybody needs to learn to code, and in fact the world doesn’t need more mediocre coders. So he’s not that enthusiastic about recent initiatives like CodeYear that aim to democratize coding.
And since Jeff is using my design to make his point, I think that entitles me to a counter-point.
I think everybody should learn to code, for one simple reason: knowing how to code is hugely empowering.
I can’t think of many other skills that enable you to create something from scratch and reach as many people as knowing how to set up a simple website.
Just last week, I was able to come up with an idea and then launch a site in 2 days. That site was then seen by about 10,000 people in a couple hours.
Think about it: something I did reached 10,000 actual living people and had an impact (however small) on their life. That would never have been possible if I didn’t know how to code.
Now you can argue that you don’t need to know how to code to build a website. You probably don’t think of setting up a WordPress theme as “coding”.
But from where non-techies stand, setting up a WordPress theme and coming up with Ruby on Rails from scratch have about the same degree of complexity.
“Learning to code” doesn’t always mean becoming the next Linus Torvalds, just like “learning to cook” doesn’t mean opening a 3-stars restaurant.
It simply means having a basic grasp of how computers work instead of blindly following whatever a talking paperclip tells you (and maybe eventually being able to program your own talking paperclips).
The first step is letting people know that learning to code is not that hard, and that if they put their mind to it they have a high chance of succeeding. I believe this is what sites like CodeYear are trying to do, and I think that’s a very valid goal indeed.