I believe that everyone deserves the chance to learn how to code, if that's what they want. And maybe that desire for equality's based in my nerdly values, but it's something that's important. I've been supporting Girls Who Code for some time now, and they do real good work closing the gender gap in the tech and engineering sectors. Women in tech is an effort I've been supporting pretty frequently.
Speaking of coding, a coupla weeks ago Tim Heaton, who's involved in Morristown community service, sent me an email about what's going on with tech in Morristown, NJ. Tim's email inspired me to ask him to write a blog post for craigconnects…
Who should learn to code? Everyone.
Bill Gates :“Everyone in this country should learn to program a computer.”
Cube jockey: “The Everyone Should Learn to Program” movement is wrong because it falsely equates programming with essential skills like reading, writing, and math. In my 30- year programming career…… ”
Thirty years ago there was one phone company. Michael Jordan was a freshman at NC. President Ronald Reagan made GPS available for civilian use. The McNugget was born. And the Apple IIe was introduced — one of its amazing features was that it could display lower- and upper-case letters!
Thirty years ago it was really difficult to learn a computer language. Running a program often meant getting up in the middle of the night for your allotted run time. Programs were boxes of punch cards. Machines talking to machines was sci-fi. A phone was something shared with neighbors. To this day a computer to my dad (an ex-IBM programmer) is a room-sized monster, nothing else qualifies. A PC is just a typewriter. A mobile phone is just a phone.
Career programmers don’t think just anyone can do it.
They will tell you that you need 10 years of coding experience to know enough to be “worthy.” And this was certainly true 30 years ago. Then it took a whole day to run a program, now it happens every time you turn on your phone. Most importantly, the open source community and free online learning sites is a true paradigm shift that has broken down the knowledge barrier.
In medieval times, the Guilds were founded to stifle competition by restricting knowledge. Today it is the same. Fortifying this false barrier in technology is the notion that jobs requiring even minimal skill need certification (with apologies to some of my favorite professions): Bar-Tending, Physical Trainer, Project Management or Database Administrator. The Guilds during the Middle Ages protected their members for the same reason as today's: Job security. However, developing your ideas into a product doesn't mean being chained in a cubicle for 10 years or lugging around a stack of cards in the middle of the night. Coding is no longer difficult. The open source movement has seen to that.
To the modern programming Guilds, I agree that it takes years to understand what others have written in the millions of lines of enterprise code. I’m not suggesting that everyone should be a programmer anymore than I would suggest that anyone could be a concert pianist. The difference is that developing useful applications with code is much, much easier than learning to play the piano.
So, if anyone could code, why is learning to code important?
Because being creative is not enough in today’s workplace. To be successful you must be able execute your ideas. And you have a far better idea of what is useful than the tradition-bound, 30-year career programmer – or some dude in Chennai for that matter .
A modern analogy may be found in music. Is the artist Pitbull a musician? If we could ask Friedrich Handel's opinion – maybe not, and if we could shoot him back to Handel's time – definitely not. Today however, Pitbull is a multi-platinum artist. Same thing with technology. One doesn't need to be a computer prodigy to be a successful technologist, one needs to know how the technology works well enough to write a song or build an mobile application.
A note to Handel: I don't think much of Pitbull's music either.
It’s more important to understand the market and communicate with people, in both music and technology, than to write beautiful composition or code. Most of the successful people in technology are not great coders, but they understand enough to execute their ideas. To the career programmers – the cubicles are yours. To the executors of ideas – the world is ours.
Rosetta Stone or Code.org? – One final note.
The most amazing thing about computer languages is that, like music, they are universal. Whatever I create in computer code is understood by everyone else in the world, immediately and simultaneously. Multilingual education forgot to include the universal language: Computer languages.
Who should learn to code? Everyone who has a problem that needs solving.
Teach yourself and join the effort to teach kids how to solve problems: Code.org
Guest Blog Post by Tim Heaton