Are job opportunities for computer programmers really expanding or declining?

Everyone in education has been talking for years about a dire shortage of computer programmers. They also claim that more and more openings for these positions happen ever year.
The Bureau of Labor Statistics seems to have a different idea on the matter, expecting a decline in programming jobs.
I know there are jobs that involve programming in addition to other things, such as in web development or networking, so that BLS page isn’t the full story.
Is there really a dire need for programming skills, or is this the next field to get glutted?

Here are two major sources of competition for future programming jobs:

  1. From foreign countries–such as India where labor costs are much lower. (note programming can be done over the internet).
  2. From artificial intelligence.

So I would guess there will be plenty of demand for the best and brightest, but that those at the low end could be subject to massive competition.

You would probably be unwise to make too sweeping a prediction, but IMHO, it depends upon how you look at things.

One of the problems you get when you hear of shortages of professionals - be it computer programmers, engineers, and the like, is that the shortage is for experienced graduates that are prepared to work for not very much compare to their more experienced peers. Companies are always complaining that they can’t get people with a couple of years experience who are prepared to work for entry level wages. Just as new graduates are always complaining that all the jobs advertised are demanding a couple of years experience.

But IMHO, the nature of coding as a job of going to change, and already is changing. Doing stuff like web pages is becoming a trade. The money isn’t great, the skill set needed isn’t huge, and there is a constant demand for people to design fix and maintain web pages. Kids are getting taught basic coding skills at school, and some universities require a basic coding skill for many degrees. It is more a core thing like being able to read and write. Many people will never use even those basic skills, but the basic idea that almost anyone can skill up to hack some code, much as you can learn to fix a tap or change the oil in your car, is not unreasonable.

But proper computer programming jobs have always been in flux to some extent. The tools are vastly better than they were, and productivity for many tasks is vastly higher than it once was. Expectations are also higher. But there are also many more highly specialised demands. I would say that roles for garden variety programmers is becoming more limited. The range of skills needed is wider, and nowadays you will see roles for domain experts that require coding. Many times these are really just coding jobs, but they require domain knowledge in areas like statistics, various AI and machine learning areas, and so on.
Much of the increase in demand for programmers was built upon the back of Moore’s law. More, faster, and cheaper computers means many more things to use them for, and therefore many new things that need coding. I expect the end of Moore’s law will result is more work to get back the efficiency lost in much modern coding, and thus keep up with expectations, for at least a further decade or two. Bu that is still in our future. But I do think we already see the rise of programmer as a trade. This is in competition with programmer as a profession, and jobs in the professional roles will diminish.

Define “computer programmer”.

Seriously. Is a database administrator a programer? Etc. There are thousands of variations of someone who spends a good part of their time fiddling with computer software. Writing scripts, debugging crap, linking between packages, etc.

And there’s always new areas opening up. Look at how big phone apps have become. If you know some serious AI stuff, you’re going to be set for at least 20 years, maybe. (The trick is to always adapt to the Next Big Thing.)

You don’t look for a job as a computer programmer. You look for a job in a specific sub-sub specialty. Certain branches are dying, others are growing. Just be psychic and pick the latter.

the field is not just full of jobs sent to India, there are also a ton of H1B Indian people in the US doing those jobs.

Example - a few years ago I was a new hire . Out of 30 new hires over a 3 month period I was the only guy born in the US. Everyone else was either Chinese or Indian born.

From the linked BLS Page:

[QUOTE= Bureau Of Labor Statistics]

Computer programmers write and test code that allows computer applications and software programs to function properly. They turn the program designs created by software developers and engineers into instructions that a computer can follow.

[/QUOTE]

And that’s a mighty fine definition for the industry as it was in about 1970.

If your point is that BLS’ statistics use BLS’ definitions that’s accurate as far as it goes. But it’s hardly decision making info for somebody considering a career choice of computer-related stuff in general or DBA vs. embedded systems dev vs. HTML jockey vs. spreadsheet monkey vs. compiler writer.

If you looked for ‘Software Developer’ instead of ‘Programmer’ you’d see projected growth of “17% (Much faster than average).” From a much larger (3X) base to boot.

Which is interesting as most folks in the industry would probably consider those two terms almost perfect synonyms.

Apparently BLS has decided that “programmers” do the low-level scut work that’s being rapidly automated out of existence and “developers” do the design and coding work at higher levels that’s exploding in volume and complexity and demand.

In my area, both “categories” of developer/programmer are being overrun by Asian workers, either outsourced or H1B (or citizen, I don’t ask for their papers). In all of my jobs for the last decade, there is an extremely obvious racial divide in the roles people have:

99% asian - low/mid-level developers and software engineers
99% white - high level engineers and architects
80% white - network/system admin
50% white - business analysts
99% white - other business roles like accounting, customer service etc.

It kind of seems like the more technical the role, the more asian people have the job EXCEPT at high levels where it seems like they run into a glass ceiling!

Noting new - I took a class in business computing at U of Toronto in the mid-80’s. This was a night class, more business relevant than courses dealing with computing theory and numerical analysis, so more likely to attract “real programmers” and those who want to. It was also just as the IBM PC was coming out, so “home computer” types were more Apple II oriented or such.

Quick visual survey of the class - about 160 students. Abut half were not white. I attribute this to newer Canadians being more concerned about actually making a living vs. studying arts and literature. Even more telling in 160 students, 9 were Asian or south Asian females, and 5 were white females. (and the gender ratio was pretty much similar in all my CS classes). I’ve worked with (and for) some pretty smart women in IT, so it’s not a lack of brain power… just, in those days I suppose, interest.

But yes - 30 or 40 years ago, companies had a lot of homemade COBOL programs. Today, spreadsheets can typically do a lot of that, and everyone makes them; while power applications are usually bought off the shelf. So those programming jobs move to California, or India. But, the trick is adapting and meshing these programs. You have, for example, accountants who are highly knowledgeable in a particular accounting application who come in as consultants to help set up your company books and the database to fit MS Dynamics or whatever. Not exactly programmers, but certainly IT professionals.

Plus, as mentioned, the variety of minor programs - websites, spreadsheet macros, phone apps, etc. These are all programs, but the skills are specialized and specific.