I am a bit surprised by the US Bureau of Labor Statistics definitions of "computer programmer" and "software developer" and don't know which one applies to most developers I know.  Here are the definitions:15-1251  Computer ProgrammersCreate, modify, and test the code and scripts that allow computer applications to run. Work from specifications drawn up by software and web developers or other individuals. May develop and write computer programs to store, locate, and retrieve specific documents, data, and information.Illustrative examples: Applications Programmer, Computer Language Coder, IT Programmer, Systems Programmer.--15-1252  Software DevelopersResearch, design, and develop computer and network software or specialized utility programs. Analyze user needs and develop software solutions, applying principles and techniques of computer science, engineering, and mathematical analysis. Update software or enhance existing software capabilities. May work with computer hardware engineers to integrate hardware and software systems, and develop specifications and performance requirements. May maintain databases within an application area, working individually or coordinating database development as part of a team.Illustrative examples: Computer Applications Engineer, Computer Systems Engineer, Mobile Applications Developer, Software Applications Architect, Software Engineer, Systems Software Developer