Programmers is like a translator; somebody else came up with what to do and you're doing the mechanical work of converting words into C++.
Developer involves coming up with what to do.
Hence programmers is a lower paid position.
There's no functional difference between a 'software developer' and a 'programmer'. they're just synonyms that sometime pay differently.
Computer Programmers (1997) https://web.archive.org/web/19971111101442/http://www.bls.go...
Programmers often are grouped into two broad types: Applications programmers and systems programmers. Applications programmers usually are oriented toward business, engineering, or science. They write software to handle specific jobs, such as a program used in an inventory control system or one to guide a missile after it has been fired. They also may work alone to revise existing packaged software. Systems programmers, on the other hand, maintain the software that controls the operation of an entire computer system. These workers make changes in the sets of instructions that determine how the central processing unit of the system handles the various jobs it has been given and communicates with peripheral equipment, such as terminals, printers, and disk drives. Because of their knowledge of the entire computer system, systems programmers often help applications programmers determine the source of problems that may occur with their programs.
Which then transitioned in the '00s toComputer Programmer (2004)
https://web.archive.org/web/20041103085206/http://www.bls.go...
Programmers write programs according to the specifications determined primarily by computer software engineers and systems analysts. (Separate statements on computer software engineers and on computer systems analysts, database administrators, and computer scientists appear elsewhere in the Handbook.) After the design process is complete, it is the job of the programmer to convert that design into a logical series of instructions that the computer can follow. ... In practice, programmers often are referred to by the language they know, as are Java programmers, or the type of function they perform or environment in which they work, which is the case for database programmers, mainframe programmers, or Web programmers.
andComputer Software Engineers (2004) https://web.archive.org/web/20041110033114/http://www.bls.go...
Software engineers working in applications or systems development analyze users’ needs and design, construct, test, and maintain computer applications software or systems. Software engineers can be involved in the design and development of many types of software, including software for operating systems and network distribution, and compilers, which convert programs for execution on a computer. In programming, or coding, software engineers instruct a computer, line by line, how to perform a function. They also solve technical problems that arise. Software engineers must possess strong programming skills, but are more concerned with developing algorithms and analyzing and solving programming problems than with actually writing code. (A separate statement on computer programmers appears elsewhere in the Handbook.)
Pre-dot com boom it was lumped together with a small call out to "application" vs "system". With the dot com boom, the more senior role of "computer software engineer" was described while the pejoratively described "code monkey" was the "computer programmer".That distinction between the two may not exist today. However, it takes a long time for those things to change.
It feels like the intent was that "Programmers" were the ones doing the routine / lower skill tasks while the Developers were the ones that did the specification and architecture.
Those got juggled around and largely people getting listed as "Computer Programmer" is going down as the company relists them as Software Developer.
This is also part of the confusion of "Web Developer" which is also in there.
It reflects what government thought management thought title and roles were some years ago.
---
Edit: From days of old: https://web.archive.org/web/20110616142157/https://www.bls.g...
15-1132 Software Developers, Applications
Develop, create, and modify general computer applications software or specialized utility programs. Analyze user needs and develop software solutions. Design software or customize software for client use with the aim of optimizing operational efficiency. May analyze and design databases within an application area, working individually or coordinating database development as part of a team. May supervise computer programmers.
https://web.archive.org/web/20110531043521/http://www.bls.go... 15-1133 Software Developers, Systems Software
Research, design, develop, and test operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific, and general computing applications. Set operational specifications and formulate and analyze software requirements. May design embedded systems software. Apply principles and techniques of computer science, engineering, and mathematical analysis.
https://web.archive.org/web/20110925005933/http://www.bls.go... 15-1131 Computer Programmers
Create, modify, and test the code, forms, and script that allow computer applications to run. Work from specifications drawn up by software developers or other individuals. May assist software developers by analyzing user needs and designing software solutions. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.
Note that the specifying part of it isn't done by the programmers but the other roles.... And for completness
https://web.archive.org/web/20130624010204/http://www.bls.go...
15-1134 Web Developers
Design, create, and modify Web sites. Analyze user needs to implement Web site content, graphics, performance, and capacity. May integrate Web sites with other computer applications. May convert written, graphic, audio, and video components to compatible Web formats by using software designed to facilitate the creation of Web and multimedia content. Excludes "Multimedia Artists and Animators" (27-1014).