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.
For some of those jobs, I’m sure that sort of testing is entirely appropriate, and DOES say something about how successful you’ll be in the job. What irks me is that it’s applied in a blanket fashion to screen out “bad” programmers (defined as those not knowing how to write a function to find the least common multiple of two integers), when the candidate would actually be great at the task involved in the ACTUAL job. Maybe it’s writing Javascript UI code. Maybe it’s writing a Drupal module. But they’re being tested for the wrong thing. And screened out because of it.
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.)