Earlier this month, I read another handwringing article about the gap between the eagerness that people have to adopt technology and their lack of understanding of that technology. But to be truthful, this really isn't anything new. Since the days when cavemen first experimented with fire, knowing why something works has been far less important than knowing how to use that something.
For an illustration of this, consider the telegraph. For more than a century, people from many different walks of life made use of it, without knowing much (if anything) about electricity, or even Morse Code. Likewise, it's no longer necessary to know anything about TCP/IP to use the Internet. Yes, a certain level of understanding is a big help if you're setting up a new device, or troubleshooting an existing one. But remember that, relatively speaking, very few companies are in the IT business for its own sake; instead, they use IT to support their business, whatever that business happens to be.
I keep hearing that we're doomed as a society if we don't improve the level of technical education-what some call "STEM," as in science, technology, engineering and math-in our schools, but I question the extension of that belief into a dogma that everyone needs to have the same degree of "STEM" competency. There's little point in turning people who have no desire to wrestle with algorithms into code-slingers, when they'd rather be painting, making music or selling something; more importantly, it may be a waste of everyone's time to ram that sort of curriculum down the throats of those with no taste for those subjects.
I'm a perfect example of this; I've spent a quarter-century in IT, first as a sys-admin, and then as an analyst and editor. I could be a decent programmer if I wanted to, but I find it tedious, at best, and frustrating most of the time. Every year or two, I make a New Year's resolution to master a software discipline-last year, it was Perl-and that falls by the wayside shortly after I give up on doing more sit-ups. Maybe that's because I'm lazy; I know it's why I pass on the sit-ups. More likely, it's because programming just doesn't suit me.
I'm not foolish enough to say, "Do what you love and [success/money/satisfaction] will follow" because there are too many variables external to that equation. Instead, what I'm saying is that, just as not everyone is suited for working on an assembly line, not everyone is suited for programming, systems design or abstract mathematics. After all, to paraphrase from Caddyshack, the world needs artists and salespeople, too.
Perhaps the greatest problem with the educational systems in America-and I use the plural because of the localized execution of education in this country-is that too often, we panic and try to play catch-up. For example, immediately after the 1957 launch of Sputnik 1, uncounted millions of dollars were poured into "STEM" subjects, in reaction to a perception that we had fallen behind the Soviet Union. Twenty years later, the funding streams had dried up in most districts, but the students who were interested in math and science were taking those courses while the ones who weren't interested didn't. It's no different today. Students play Farmville instead of Pong, but most of them don't want to be programmers or network engineers, nor should they be shoved into that pigeonhole.