The chart above shows the Bureau of Labor statistics on programmer employment. I am not convinced that these numbers are at all accurate. Getting reliable data on programmer employment is surprisingly difficult.
To begin with, programmer is a vague category, and it is by no means clear that everyone who worked on “programming” defined themselves primarily as a “programmer.” Secondly, the Bureau of Labor Statistics did not beginning tracking programmers until 1972, and in 1983 and again in 2000 they adjusted their categories and methodologies. For the first ten years, three broad categories (“computer specialists”, “computer programmer”, and “computer analysts”) encompassed everyone working in computing.
By 2000, these categories had expanded to include Computer and information research scientists, Computer systems analysts, Information security analysts, Computer programmers, Software developers, applications and systems software, Web developers, Computer support specialists, Database administrators, Network and computer systems administrators, Computer network architects, Computer occupations, and “all other” computer occupations. This seems to explain the decline in the number of programmers post-2000. Some of them simply got recategorized.