Being a good programmer is a matter of being a good fit for the role you're performing. If you have expertise in other areas and can use programming to apply that knowledge in a way that the computer can do the work that people do now, you'll never run out of automation work. Look around you at things people do by passing around spreadsheets or pieces of paper. Can you write tools to make that data flow easier?
I'm don't like telemarketing, spam, junk mail, etc. However, several years ago I got a job where I helped develop a team to implement a data warehouse for direct mail marketing. Knowing some of the traits of these scum up front helped me understand the business needs of the marketing people. I also learned a few things on how to get suppressed from such marketing as well as ways to poison data collected for such a purpose. The people I was working for saw the business value in not marketing to people who don't want the product - a viewpoint I could completely agree with. Just because you don't like something, doesn't mean you can't help someone do that thing in a more responsible and less annoying manner.
When I interview programmers, how they analyze and solve problems is far more likely to get them hired than what tools they have experience in. If they can solve a problem in their favorite language easily, I don't mind if they don't have as much experience as I'd like in the language we're using for a particular project.