A software developer and a programmer are the same thing. Attempts to distinguish the two are pointless. The term “software engineer” is a euphemism that helps us justify our pay. The term “computer scientist” should apply to any programmer or developer who regularly enlists the scientific method.