and how it is going to get us precisely nowhere.
President Obama wants Americans to learn how To Code [Washington Post]
You’d think a person who spends most of her waking hours on a computer hammering away at geoscientific problems would rush out and hug the man for saying such a thing, but no. I am downright bothered by what he said.
Coding is a tool, like a hammer. A hammer requires a nail. Coding needs a problem to solve. More specifically, it requires a well-rounded education to go with it that then allows access to and understanding of the problems that can be solved by coding. In a country that increasingly worsens its education system through a combination of bureaucracy and anti-learning measures, a call to learn how to code is like burning a building down and then telling folks to go get
a hammer pipefitter’s kits.
There is absolutely nothing wrong with knowledge for its own sake and coding is one of those remaining subversive acts, something you can teach yourself and perform without schools and prerequisites. In that way, it is much is like calculus. You can absolutely suck at algebra, geometry and trigonometry, but calculus is a new world with its own new set of rules to start all over with. Yes, the thrill of calculus and coding kept me going in science, but not without wonderful, knowledgeable teachers and a love of science itself.
Furthermore, when we are told to engage in Code or the more enticing Hack, in what language? C, Python, Fortran, Java? PHP, HTML, CSS? What makes for valuable and sustainable computer literacy? It sure isn’t in knowing how to build apps and websites. And as Eric Ridgeway said: “We don’t need more php hackers.” What we need, in fact, are folks who are good at more than one thing, those who can bridge the gap between scientific, financial and economic problems and the computer as problem solver. Gone are the days of unitaskers, because no real problem can be fixed with knowledge in one single area any more. So, throwing out a soundbite like “Don’t just use your smartphone, learn how to program it” is great press, but it ultimately means nothing and is far from a panacea. Something tremendously more useful to say would have been, “I believe that this nation should commit itself to achieving the goal, before this decade is out, of landing a man or woman on Mars and returning him or her safely to the earth,” but that’s measurable, goal-oriented commitment and not empty pandering.
Again, I know it sounds sexy, but Please Don’t Learn To Code. Listen to expert programmer Jeff Atwood who wrote this piece last year when coding was the hot thing again for … an hour.
Please don’t advocate learning to code just for the sake of learning how to code. Or worse, because of the fat paychecks. Instead, I humbly suggest that we spend our time learning how to …
- Research voraciously, and understand how the things around us work at a basic level.
- Communicate effectively with other human beings.
These are skills that extend far beyond mere coding and will help you in every aspect of your life.
We also desperately need to establish a national baseline for what constitutes value and accountability.
(An aside: Even if President Obama were the world’s most l33t h4x0r, he cannot fix the mess that is the healthcare website because the real culprits were an appalling lack of project management, interoperability and testing every step of the way.)