Great answer! copy from stackoverflow.com
Programming is the act of writing, compiling, testing and debugging source code. Software development includes other activities like:
- Requirements definition
- Specification writing
- Project planning
- Creating an installation package
- Troubleshooting problems during installation
- and, and, and… Therefore a programmer is a person who produces code, usually after some sort of specification. This is focused on a specific functionality.
A software developer is producing a solution for the customer, with a big focus on customer satisfaction.