I’m not really concerned about who should or should not learn to program; personally I think some people just would hate it, so they shouldn’t do it.
Here’s what strikes a nerve with me, though: Not either of your posts, but all the comments (specifically on the previous post) talking about the field being stuffed with “incompetent programmers,” and the way many of those commenters defined both “incomptetent” and “programmer”. I went through a very similar life situation to the person who sent you this email asking if they have any chance of making it as a programmer.
I too, discovered programming because there was a problem to be solved by automation, and fell in love. I spent two decades doing other things because I didn’t have the requisite training to get hired as a “programmer.” If you ask many folks, I still don’t.
I failed two job interviews not long ago precisely because I couldn’t code, on the spot, some of the “simple” algorithms that some of the commenters pointed out as so basic that you shouldn’t be allowed to call yourself a programmer if you couldn’t code them without looking it up and maybe thinking about it for a couple hours.
So given that that’s the way you’re going to be tested if you apply for a job as a programmer, trust me, it’s going to be tough if you’ve come to programming the way I have. You’re not going to know a lot of the stuff that some programmers consider fundamental.
I’m not sure how people make the argument that you can’t be any good at writing a Drupal module because you don’t know, for instance, the definition of “third normal form.” But they DO make that argument, and deny people jobs based on that.
Look, there are LOTS of kinds of programmer. All I ask is that people know what kind of programmer they actually need to hire and test accordingly.
(I have, BTW, subsequently found a programming job, which I’m doing really well at. “Doing really well” defined as “building things that clients really love and depend on.” But ironically, I had to get hired by non-programmers for that to happen.)