I know this isn't exactly what you are saying, but just because someone learned to program later in life doesn't mean that they are only in it for the money or that they inherently aren't as competent.
There seems to be this attitude in tech that if you weren't coding in kindergarten then you haven't met the prerequisite for being truly "one of us" in the tech elite, so why bother trying?
But to address your main question, there are many roles that benefit from programming knowledge aside from the 'hard CS' ones you list. For example, in my previous job as a technical writer learning to program was helpful for a) documenting our APIs and writing sample code, b) creating web-based documentation and c) running scripts in Adobe InDesign to generate automated documentation.