This is really a question that I think I could spend days & days on, and still not answer your question.
So let me just take a data point of two and hope this helps somewhat.
I’ve been doing this for a living since 1983. And oh, boy, have things changed. And are changin ever faster. But one thing I’ve noticed is that not everyone in this biz takes home the Big Bucks.
I know some genius-level programmer-types who have made it really, really, big–and others who make tens of thousands of dollars less than I do. Sometimes it’s luck, being in the right place at the right time. Sometimes it’s getting stuck in a dead-end job endlessly coding right down ont he bare metal with bosses who don’t begin to understand what you do.
But if there’s one thing I do see, it is that there are a large number of the higher-paid personnel in my industry who have excellent technical skills, yes, BUT they have some other skills that have put them ahead of the pack.
Like being able to talk intelligently to the IT customer and translate their needs into a working solution. Like being able to explain to them whatever issues without going into computer jargon. Like knowing the language of the finance people and the accountants.
And so on. In other words, people skills, business skills, and communication skills. The computer stuff just gets your foot in the door. Living in the real life corporate (or military) world and relating to your customers is very often what makes the diff.
Just like a lot of other job categories. We ain’t so different.
(Except that we have to expend a lot of time and effort to stay somewhat current in the evolving technology)