As for not hard--I don't know. We have an unusually high paying career, which companies do not do out of the generosity of their hearts. They have a limited supply of people that can do it. Quite a few people show no aptitude at all. At the high end, it merges into pure computer science, with an essentially unlimited amount to know. So, you can draw badly, or become a professional artist. Certainly, a person can program badly, but I don't think you can call it "not hard" any more than you can call anything else "not hard".
I wouldn't, and don't, romanticize it. It often just sucks. And programmers can often come with pointless, inflated egos from some view that they do something special, and I would like to see a check on that and those pointless egos deflated. But "not eating the world" and "not hard" don't really check out, from my perspective.
Give it 200 years and programming will probably be thought of as accounting. Well paid and nessisarily, but hardly revolutionary.
PS: Salaries have generally stagnated over the last 10 years suggesting supply and demand are well matched. Their is a lot of stratification, but most programmers make well under six figures.
I don't think we can ever standardize programming any more than we can standardize humanity's collective goals and ambitions.
Plumbers still need to get things to work in your house, but tools and techniques have largely removed guesswork. The end point will be different than accounting, but I feel the trend is clear with knowledge replacing the need for extreme generic problem solving skills.
‘Design Patterns’ are of real though limited value, that’s a meta example of exactly what I am talking about.
Programmers should be making closer to 200-300k per year; but then everyone else would be making 30 or 40 dollars an hour minimum wage.
Supply and demand aren’t well matched, considering the job posting out there. But there’s a lot going on influencing all of this
Like blacksmiths, programmers are capable of building tools that not only change the way they work but enable new kinds of work to be done, often by making previously onerous tasks trivial, and giving the individual a much large potential impact.
Unlike blacksmiths, programmers can share their inventions with the entire industry in the blink of an eye. So the rate at which the programmer's toolchain can change is indeed special.
Sure, it can also be glorified plumbing at times, but I think we think programming is special because it is.(Not that that will continue to be the case forever.)
I think if you look in the communities formed by any groups of people sharing professions, you'll find a similar magnification of the importance and uniqueness of that profession: humans generally have a tendency to find the stuff they spend the most time around more significant, and often forget that the significance-difference is in perception only.
That said, because of software's generality (in terms of the number of domains it's applicable to), it is relatively unique.
We're also entering a new era of the difference between cutting-edge or transformative engineers, and (the still respectable, but more normal) standard dev.
I do some pretty basic science based engineering. It's not special, it just helps some business people in my firm. But the deepmind guys are special, and there really isn't anything like it right now in other fields. The potential seems unbounded right now, that's really exciting!
Or, most other fields have already transformed the world. Programming is in the process of transforming the world. So it looks to us as if it is unique.
That said, most of us have pretty plain jobs. And most of what we write isn't that impressive. But still, just like you can invent a completely new gadget (that is likely useless), you will always be able to invent a completely new piece of software (that is likely useless).
Programmers, even those of us working outside of the valley, therefore demand high wages - ultimately because of amoral unicorns and deceptive business practices. The demand outstrips supply, making programmers in other roles overvalued as well. This leads to a sense of entitlement, and a perception among programmers that we are somehow superior by virtue of our chosen career and the skills that accompany it.
This in turn leads to outsized egos, unreasonable tolerance of bad behavior, and toxic culture.
"I think that it's extraordinarily important that we in computer science keep fun in computing. When it started out, it was an awful lot of fun. Of course, the paying customers got shafted every now and then, and after a while we began to take their complaints seriously. We began to feel as if we really were responsible for the successful, error-free perfect use of these machines. I don't think we are. I think we're responsible for stretching them, setting them off in new directions, and keeping fun in the house. I hope the field of computer science never loses its sense of fun. Above all, I hope we don't become missionaries. Don't feel as if you're Bible salesmen. The world has too many of those already. What you know about computing other people will learn. Don't feel as if the key to successful computing is only in your hands. What's in your hands, I think and hope, is intelligence: the ability to see the machine as more than when you were first led up to it, that you can make it more"
-- Alan Perlis
No credentials. All it takes to be a programmer is appeasing somebody in a 30-60min interview. What other white collar career can you say that about? It takes more to be a truck driver.
That's with barely any thought - I expect there are more.