I like your blog, but I think you're off the mark on this one. Not everybody needs to be a professional programmer (just like not everybody needs to be a writer, mathematician, scientist, or language translator), but I do think everybody should study a little programming for pretty much the same reason they should study writing, math, science, foreign languages, etc.
For years I've told anybody who will listen that it's a tragedy that not everyone is taught to draw in school. (I learned as an adult.) Everybody thinks it's an innate skill that a few people have but they don't, but they are wrong. Drawing is a basic skill anybody can learn, just like reading, writing, or arithmetic. And furthermore, drawing is really just seeing with a critical eye, a crucial literacy in a visual culture, even if making art has nothing to do with your profession. I think a similar argument can be made about programming.
Basic programming (not crafting commercial products) is just formalized logical and methodical thinking, which never hurts to have in your arsenal, and in addition it helps to give you a mental model for understanding the strengths and limitations of these devices and apps (not to mention the people who make them) that play an increasingly dominant role in our daily lives, economy, and public policy. In the digital age, this is basic literacy.
I really liked Douglas Rushkoff's recent (and pleasingly brief) book, "Program or be Programmed," in which he lays out the intriguing thesis that each major technological revolution has not lived up to its potential, and has been accessible only to an elite, while the masses always stayed a generation behind:
The invention of alphabets could have turned everyone into readers, but didn't; an elite could read, everybody else listened and only got what the elite decided to read to them.
The invention of the printing press could have turned everyone into writers, but didn't: the masses became readers (finally fully participating in the previous revolution), but only an elite wrote and controlled the printing press, and thus controlled most of the public discourse. Radio, audio recordings, TV, movies, and video were pretty much just an extension of this -- content consumed by many, but produced by very few, who in the process set the bulk of the societal agenda.
Now we're at the digital revolution. It has unlocked the production of audio, video, and writing, and the means for widespread distribution of them; now everybody is a content producer -- of the kinds of content that the previous revolutions brought us. But the salient difference of this new technology is its programmability. What will we do? Will the masses control this technology themselves, or will they be passive receivers of whatever devices, apps, and features are handed to them fait accompli by the elite?
I'm not arguing that everybody should be a professional programmer, or even a hobby programmer, but rather that it will be a tragedy if only a small elite learns enough to appreciate what's involved in the task, to form a mental model that lets them understand and reason about hardware and software, and feel empowered that they could, at least in theory if they wanted to, make those devices do what they want, not just what somebody else decides to offer them.

I didn't intend for Please Don't Learn to Code to be so controversial, but it seemed to strike a nerve. Apparently a significant percentage of readers stopped reading at the title. So I will open with my own story. I think you'll find it instructive. My mom once told me that the only reaso...

An hiring manager not asking a programming applicant to write a simple program (or an applicant refusing to do so) would be like hiring a chef without asking them to cook you something first. Absurd. Of course, at a sufficient level of fame this may not be necessary, like already having been the head chef at a fantastic well-known restaurant, or verifiably the sole/main programmer of a great product. But that's not really who we're talking about.
Aside to Matthew Stibbe: other than the tiny percentage of CIA employees doing covert ops, you may not be able to talk specifically about what you did, but your employment history itself is not a secret. For most people working for the CIA and similar agencies, their friends, families, and subsequent employers are totally aware of where they work. (That's not to say that the people you interviewed weren't BS'ing you. But "if they did work for them, they wouldn't be able to say" is simply untrue.)

I find it difficult to believe, but the reports keep pouring in via Twitter and email: many candidates who show up for programming job interviews can't program. At all. Consider this recent email from Mike Lin: The article Why Can't Programmers... Program? changed the way I did interviews. I ...