Software developer Jeff Atwood is up in arms against the prolific idea that all children today should be learning computer programming.
It’s true that there will likely be lots of job opportunities for programmers in the future, but according to Atwood, “Computer science is less an intellectual discipline than a narrow vocational skill.”
Coding is Easy, Communication Isn’t
He compares teaching low level coding to children with teaching everyone who drives a car to how to rebuild a transmission, an unnecessary feat thanks to specialized engineers and mechanics. He worries that a focus on computer science will come at the diminishing of other essential subjects.
Even for those who do go into programming, Atwood suggests an even greater emphasis on “reading, writing and mathematics.”
“I’ve known so many programmers who would have been much more successful in their careers if they had only been better writers, better critical thinkers, better back-of-the-envelope estimators, better communicators.”
He points out that coding won’t teach the essential communication skills people need. Anyone can learn to communicate with a computer, but communicating with people is much more complicated. It can’t be learned in a boot camp setting like coding, but rather has to be cultivated throughout our lives.
A Different Way of Seeing Programming
Atwood suggests a different approach to encouraging coding in a way that works with a child’s imagination and personality, rather than teaching them to be coding robots. He would hope his own children would use coding as a means to accomplishing their goals.
“If you want your kids to have a solid computer science education, encourage them to go build something cool. Not by typing in pedantic command words in a programming environment, but by learning just enough about how that peculiar little blocky world inside their computer works to discover what they and their friends can make with it together.”
A Critical Approach in Any Career
Atwood’s advice can be applied to any job, no matter how narrow the skillset may seem. Atwood encourages us to “Be critical.” Perhaps a more critical approach to programming would set the next generation up for greater success in the field of computer science.