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:
- Work out the requirements to use the software
- Develop prototypes
- Work on the budget and finances of the project
- Perform testing, or get ideas from testers they select before the software is released
- Work on demonstrations or samples
- Release updates and patches for the software
- Tim Chen. "Introduction to Testing at Microsoft". Microsoft. http://research.microsoft.com/asia/ur/curriculum/%E4%B8%8B%E8%BD%BD%E8%AF%BE%E4%BB%B6/%E8%BD%AF%E4%BB%B6%E5%AE%9E%E7%8E%B0%E6%8A%80%E6%9C%AF/Introduction%20to%20Testing%20at%20Microsoft.pdf. Retrieved 2008-11-29.
- Eric Sink. "Small ISVs: You need Developers, not Programmers". sourcegear. http://software.ericsink.com/No_Programmers.html. 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."