People who talk about wanting to do “pure programming” somehow without dealing with customers or anything outside their own skull is, to me, like people who consider themselves artists without producing art which people can experience. What is art for, if not to be viewed and experienced? What is a program for, if not to be used for some practical purpose? For a person to be considered a programmer, their role must be to solve problems for people who cannot or would rather not solve the problem for themselves. People who instead want to sit and stare out the window and only occasionally write things down, they are like mathematicians in academia. These people are of course useful, but I would not call them “programmers”; perhaps “computer scientists”. Other people, who instead want to produce “beautiful” snippets of code, are effectively artists, the art of which other programmers can certainly enjoy. But I would not call such people “programmers” either. (Perhaps “computer scientists with tenure”.) Programming is to solve problems for other people (possibly including oneself).
I.e. if you don’t like to solve problems for other people, then programming is not for you, and you should consider becoming a computer scientist instead.
The gatekeeping is strong in this one. Why does it matter how you label people? (emphasis added because that's not how people generally define programmers) Just let people do what they want.
My “labeling” is a form of expression to describe my point. You can disagree, but please be explicit instead of just going “well, that’s just what you think”. This is a discussion forum; I expect people to have differing opinions, and I want to debate them. You just seem to want to instead shut down any debate.
And yes, I do want to “gatekeep” any profoundly unhelpful people out of programming. Programming should be about helping people do things they otherwise don’t know how or could not do for themselves. Navel-gazers and gnostics (while they have their proper place and use) are generally not suited for, and reflect poorly on, the vocation of programming.
I.e. if you don’t like to solve problems for other people, then programming is not for you, and you should consider becoming a computer scientist instead.