A reader comment responding to my last posting, “Shortage of Database Engineers?”, raises the question of what constitutes such a job title. Indeed, there is general confusion on job titles in the computer-related fields, a situation keenly exploited by HR departments and immigration lawyers with regard to the H-1B work visa and employment-based green cards. I’m told that this is the reason the recently-introduced H-1B/OPT reform bill by Senators Cruz and Sessions simply replaces the current prevailing wage rules, which are tied to occupation, by a flat $110,000 wage floor.
A recent Computerworld article on BLS job growth projections also illustrates such confusion. It notes that BLS projects a yearly increase of about 1.5% in the number of Software Developers but a 0.8% annual decrease for Programmers. The article then “explains,”
Programmers are focused on coding and implementing requirements, and that’s why they may be more susceptible to offshoring, in contrast to software developers who may be more engaged with the business, analyzing needs and collaborating with multiple parties.
Many readers of this blog are scratching their heads at this, wondering, “Wait a minute! Programmer is just another name for Software Developer!” And of course, they’re absolutely right. So why does BLS have two different categories for the same job? And where in the world did BLS get that absurd distinction between the two job titles?
The answer is historical, and to some degree geographical. Before, say, the early 1980s, most people writing software in Silicon Valley had Programmer titles. Some others had Electrical Engineer titles, NOT because their code dealt with EE but simply because they had EE degrees. Eventually the employers of EEs changed job titles to the more accurate Software Engineer. The non-EE firms soon followed, as the title sounded fancier than Programmer.
The above BLS “distinction” also stems from history, with “coding” referring to the old days in which a higher-level person, often with a System Analyst title, would basically write a detailed outline of the program, which the Programmer would convert to actual code, hence the term coding. But this practice went out decades ago, so the BLS definition is antiquated, to put it mildly.
My point is this: People who are called Software Engineers in Silicon Valley today would have been called Programmers back in the early 80s FOR THE SAME WORK. In other words, the Programmer title is archaic, and thus the BLS projection of decline is nothing new; there has been a steady decline in the category for years. (By the way, the BLS changed its own phrasing from Software Engineer to Software Developer a few years ago.)
To add to the confusion, wages for Programmers tend to be somewhat lower than those of Software Engineers. Though this would seem to justify BLS’s distinction, the wage differential is NOT due to difference in depth of the work, but rather due to industry sector and geography. Today, people with Programmer titles tend to work for banks and insurance companies, who have lower pay scales in general, or to work in regions lacking much in the way of the software vendor sector that uses the Software Engineer title.
Here is another point in the article that adds to the confusion. (No fault of the author, of course, who is only relying on the BLS and the quoted researchers.) In addressing the question of whether there is an IT labor shortage, the author writes,
About 36% of the people who work in IT do not have four-year college degrees, and of those who do, only 38% have a computer science or math degree, according to an Economic Policy Institute paper by Hal Salzman, a Rutgers University public policy professor, Daniel Kuehn, an adjunct economics professor at American University, and B. Lindsay Lowell, the director of policy studies at the Institute for the Study of International Migration at Georgetown University.
The cited researchers are of course mainly correct: One does not need a computer science degree, or for that matter any degree at all, in order to do good work in this field. But the quote is very misleading in including the number of math degrees; the vast majority of people who write software don’t use any more math than you do in filling out your income tax return. In other words, even that 38% figure is too high.
For details, see my University of Michigan Journal of Law Reform paper.