Please Do Learn How Software Works. If You Want To.

By all means, learn enough programming to put together a prototype and have a better perspective on hiring and managing engineers. Just don’t mistake a foothold in the world of coding for true engineering expertise.
Buzz Andersen, commenting on Jeff Atwood’s Please Don’t Learn to Code

This “Don’t Learn to Code” vs. “Everyone Should Learn to Code” meme fascinates me. I pretty much agree with everything Buzz says.

I think I’d also add, though, that I find the dichotomy that seems to have developed very strange. I don’t think that anyone is suggesting that everyone must learn all there is to know about programming, or the opposite; that anyone should wilfully disregard it if it interests them. A lot of the arguments online seem to be arguing against one or the other of these extreme positions.

I wonder if it’s because the phrase itself - “learn to code” - is so absolute. People might “learn some plumbing”, but I don’t think that even master-plumbers would talk how they’ve finished “learning to plumb”. I consider myself skilled in the coding art, but I know I haven’t finished “learning to code”, and I never will. Maybe if we replaced “learn to code” with “learn some programming” - or even “learn about how software works” - we’d have a better - or at least clearer - argument about it.

To expand on my own position, I think that most everyone’s life would be easier, or at least richer, if they knew a little about how software works. I’d say the same about car engines too, yet I haven’t made time to learn very much about engine mechanics myself.