In Do Our Kids Really Need to Learn How to Code? (Forbes, 7/6/14), Greg Satell disagrees with tech columnist Kevin Maney’s assertion that in just a few years, young people “will find that coding skills are about as valuable as cursive handwriting.” Satell argues that even if coding as we know it today doesn’t exist, the skills needed to do it will still be there. “There is an underlying logic to the digital world and we must be capable of operating within that logic in order to function in it.”
In Do Your Kids Need to Learn to Code? Yes! But Not for the Reasons You Think (The Huffington Post, 5/29/2015), Grant Hosford discusses several points about coding that illustrate a parent’s concern about what children need to learn to have successful futures. First, he points out that many parents and teachers worry that coding is “an overhyped fad.” He doesn’t believe it is. However, he points out that computer science pedagogy has not really evolved much in 40 years. He then refers to research at MIT and Tufts supporting the idea that “kids as young as 4 years old can learn very sophisticated computer science concepts.” Hosford sees coding as a way for young people to develop critical thinking skills, creative problem solving, and “how to be lifelong learners.”
In Please Don’t Learn to Code (TechCrunch, 5/10/16), Basel Farag claims that treating coding as “a ticket to economic salvation for the masses is dishonest.” He supports his position with three arguments. (1) Focusing on coding can cause the focus to be on finding a ‘right’ answer and away from “the importance of understanding the problem” itself. (2) Because technology changes so quickly, developing can be frustrating and stressful. Developers can’t expect to spend the rest of their careers working with one type of code. They often have to learn new versions or, even, new coding systems entirely, quickly, often “with little guidance.” (3) Getting a really well-paying job as a developer isn’t that easy.
Filed under: Uncategorized |
I agree with the third author. If you actually do enter the programming field, then the coding language you learn will probably be obsolete or dwindling. Only Java seems to be a lasting language, and it has plenty of challengers, any one of which may take over tomorrow.
Furthermore, a career in programming is tough, really tough. Many are called, but few are chosen (in effect). The chances are that anyone reading this will hate it with a passion.
The logical discipline enforced on you by writing software is valuable, but it’s the same discipline in every field of engineering. The main difference is that software engineering is virtual and so more readily available than mechanical engineering, chemical engineering, or civil engineering. Building something with blocks or Legos can turn into just such an activity if managed properly, though.
Finally, we have too many programmers, not too few. Wow! That sounds like real heresy. The fact is that the range of abilities in the programmers who manage to stick with it is wide. Estimates range from 100:1 to much larger, even crazy numbers. I know this from personal experience.
Truthfully, a company can hire a programmer who can replace ten of their existing programmers and produce better code faster at only a small multiple of those programmers’ salaries. Furthermore, poor programmers produce buggy code that is difficult to maintain, creating a much greater drain on company finances than the cost of a high-quality programmer.
Few people have the talent and personality to become top-level software developers. They should be the ones writing our software. The rest should find other fields of endeavor. Our companies produce too much software rather than not enough. We are flooded with it and don’t have the time even to find it all. A great mass of this software goes into the great bit bucket in the sky every year. Someone wrote that failed stuff that probably should never have been written.
I know of no way to change this mess, only that changing it would greatly improve the world.
It is worth taking a moment to consider the first two articles. In the first, the remark about being able to function in a digital world falls flat. The digital part sits below us all. Do we all have to be electrical engineers and understand the generation and transmission of electricity to use it? The same logic applies to digital stuff. Lots of people are trading Bitcoins without a hint of what makes it work. (Although, when the inevitable crash comes, they may wish that they knew more — knowing more will not save them, though.)
Most young students will find concrete engineering more accessible than the virtual sort. Touching and feeling can make a difference. Wait. Are these the same educators who constantly push for hands-on learning experiences? There’s a whiff of hypocrisy here.
The second article attempts to rebut such ideas as coding being a fad, even though it shows every sign of being one. Then, he takes a self-serving view (as CEO of codeSpark) that coding develops critical and creative thinking skills and helps them to become lifelong learners. I don’t see it. Most coding classes are cookbook classes. Critical thinking only comes into play, as in any course, if the teacher injects it. It’s not automatic. Lifelong learning comes from the love of discovery and from avoiding classes where teachers emphasize memorization over thinking. Coding can be very, very dry and usually is.
I love writing software. In 1960, I wrote my first program as a freshman in college on a computer provided for free to any student (who had the time). AFAICT, I was the only one to take up that challenge in my class of 180 freshmen. Software gave me lots of excellent income over the years and lots of satisfaction at doing a job well. I became an expert in many facets of this endeavor and even taught classes. There’s something special that every engineer understands about facing a blank piece of paper and a challenge and then seeing the final result pay off.