A software developer is a company or person that creates software - either completely, or with other companies or people. The phrase 'software development' often means more than just designing or writing the software, it usually means someone who manages the project, or does only the main things. Most software developers are still led by a lead programmer (a software engineer that guides the project).
A programmer generally only writes code, but a software developer usually will:
- Tim Chen. "Introduction to Testing at Microsoft" (PDF). Retrieved 2008-11-29.
- Eric Sink. "Small ISVs: You need Developers, not Programmers". Retrieved 2008-11-29.
A programmer is someone who does nothing but code new features and (if you're lucky) fix bugs. They don't write specs. They don't write automated test cases. They don't help keep the automated build system up to date. They don't help customers work out tough problems. They don't help write documentation. They don't help with testing. They don't even read code. All they do is write new code.