Battling Code Illiteracy

I’ve been thinking a lot about this and it concerns me when I hear people talk about code as if it were some magical craft that only the smartest of the smart can understand and the rest of the population need only use the tools provided by these wonderkin.

I have a different take on programming, I feel that not being able to read and understand code is the digital equivalent today of not being able to read German at the creation of the printing press.

Think about it, before Gutenberg created his printing press you had generations of people who never knew how to read, and the reason? Well books took years to finish and only the most wealthy had access to them because of it.

Right around the time that Gutenberg started printing his Bible’s, there was a sudden shift in the paradigm, people that maybe could afford a copy took the time to learn the language and it opened up a world to them that their parents or grandparents had never dreamed about.

Reading took on a new importance as more people began to take it seriously, the ones that did would read things like the Adventures of Marco Polo and ideas would spring up never before imagined, one such man was Christopher Columbus.

Yet the majority of the population still remained illiterate, it would take a few centuries before people realized that reading was the most important lesson they could teach themselves or their children and by the American Revolutionary War a large part of the US population had read the Bible from front to cover even in some cases both in English and in Latin.

I believe we are at such an impasse with reading code and developing software, first only the richest of individuals could afford it, then the internet created a demand so high that those of us who took it seriously enough almost a decade ago are reaping the benefits today.

There is still a large part of the population though that still either doesn’t see it as important or believes it is much too complicated to learn at their stage in life, this was also the case in Gutenberg’s time as well as it relates to reading in general and we saw how well that went for those who refused to learn.

My point is, it doesn’t matter if your 10 years old or 60, learning to program I trully believe in the next two decades will become as an important a work skill as just using a computer or knowing how to use the internet is today.

We get so caught up in our day to day, in our general job descriptions and we use the internet without ever wanting or being able to understand anything about how it works or how to build something useful with it.

In conclusion, I always tell people to teach their kids to code and they love the idea, but I remind them that it’s not easy teaching or getting kids interested in something you yourself don’t know or understand. Only a literate parent can teach a kid to read a book, teaching a kid to code is no different.

9 Comments

  1. February 28, 2013  12:36 pm by Holly Kolman (@mobileholly) Reply

    Michael, what would you say is the most important code people should know? I'm guessing html (html5) but what is the priority order? Thanks.

    • March 5, 2013  11:02 am by Michael Cabral Poubel Bastos Reply

      I don't think the language matters as much as understanding programming principles, i'm a firm believer that once you've learned the basics of programming, design patters etc you can easily learn and adopt any language, I'm going on 6 now, C++, Java, Perl, Php, Ruby and now I'm learning Clojure.

  2. March 3, 2013  9:11 pm by wh Reply

    I think you're spot on. In fact, this post is all the encouragement I need to step it up to learn code. Certainly, every profession now benefits from understanding how programing and digital media can help communicate with, and educate the public.

    • March 5, 2013  11:05 am by Michael Cabral Poubel Bastos Reply

      I always tell my wife that even if our son wants to be a doctor, I still want him to learn to code regardless of his future profession. Think of how much a doctor could disrupt the medical industry if they knew how to build applications, you get the idea.

  3. March 6, 2013  5:24 pm by Ana Reply

    Hi Holly, give this a try if you are looking for a recommendation on where to start: How To Design Programs, opensource book, I personally like the 2nd edition over the 3rd. Best, Ana URL: http://htdp.org/

  4. March 14, 2013  5:18 am by blueprint Reply

    I personally think that it's amazing to know my great-grandmother was born before the 1st flight of the Wright brothers and lived well past the 1st flight of the space shuttle. You have to imagine what someone would say in kitty hawk if they were told approximately 70 years now will actually be flying into space and back again. Now go over there and push the darn flying machine we use much power as possible To make it not even 100 yards.

    I believe the kids that were born today and grow up with iPads and everything thing else tech will bring the Internet into the realm my great-grandmothers generation was in when they could not imagine something like an airplane would ever work or what it would open up to the world flight by human is relatively new I'm expecting the same greatness out of all generations and can't wait to see what no one thinks it's possible happen next.

    I personally think HTML and codes similar to it will be not most likely taught at basic schools. I'm talking K-8 the thing I think preventing this will be automation they will teach the children how to automate functions that will use a code. Remember guys we all really love technology especially the web there were so many other fields out there these kids have to fill. This is just my hypothesis or accurately guess.

    Somebody cue the music for what a wonderful world and here it is for you http://awe.sm/q0GXb

    the kids that do go and seek out code or are taught code will be at the same level as an engineer is today. Or the market will be oversaturated like lawyers.

    As a chemical engineer myself I hope it's the prior.

    • March 15, 2013  5:04 am by Michael Bastos Reply

      I don't see your view that programming should be left to the programmers and everyone else including lawyers and chemical engineers should be kept away from such things and left to focus on their work. I think real hardcore development will be integral to every segment of society in the future. You wouldn't have told typists in the turn of the last century that people would turn to them to dictate their thoughts and ideas and that others should learn to focus on their skill and leave the typing to the professional typists? Most programming done today is done by proxy of someone else's domain knowledge, tax attorneys have to teach a developer how to write tax software, pilots have to teach an engineer as to what makes a good flight simulator or what feels right in the cockpit. Most start ups are created by non developers who have a niche idea or market that is based off another type of job they did or mastered in the past and very few developer projects are actually started and thought out by developers. The truth is that when I say this is a necessary skill, it's because of the power you unleash with this kind of knowledge plus another professional domain to implement it. As a chemical engineer, could you imagine the leaps in innovation you could manage if you knew how to modify the very devices and tools of your craft, if you could reprogram your chemical detectors to do variations for research or create complex algorithms to discover new formulas and compounds no one has given any thought to before? The real ground breaking innovation in every industry today is being done by a combination of domain knowledge and development implementation. Stanford has even considered getting rid of it's computer science program and instead requiring computer knowledge across all it's other curriculum, I think CS will one day die out just like Typists and Calculators before them and instead these skills will be essential part of the next generation's job criteria much like learning to do basic math and typing 80 words per minute is today. As someone who works in this industry, I see the death of it as a good thing, ushering in what will essentially be a much more innovative and fast passed world we could never have imagined, so your plane analogy does fit in that sense.

  5. March 14, 2013  5:21 am by blueprint Reply

    In reply to the most important code right now PHP, Node.js, CSS and HTML

  6. March 15, 2013  4:44 am by Michael Cabral Poubel Bastos Reply

    I have to disagree that any one language is most important. I think it's the understanding about programming concepts (polymorphism, design patterns, basic statements or loops, etc) those I feel agree important to learn. HTML, Php and even Ruby will be obsolete in a few years, but the concepts and principles those languages use and train will last forever or until better convoys are discovered. I personally prefer C++ but it's not very useful for today's web app friendly environment but is powerful. Some colleges is LISP to teach programming which is utterly useless and you can't really build anything worth while with it but it's a great tool to teach concepts. Again when you learn the basic concepts you can pretty much pick up code from any language and immediately understand it. My point here is that if we are not careful we will have an entire generation that is basically code illiterate and will not be able to imagine and create in the same way as their literate counterparts.

Leave a Reply