In my mind, developers have skills that are a superset of the skills of a programmer.
- understand how software works
- think about the best way to solve problems they are presented with
- write good code
- learn new techniques, languages and manners of creating software
- write documentation
- write tests
- do all of the above
- work with the business to define requirements
- test beyond basic unit tests, up to and including user acceptance testing
- understand basic system administration
- do basic database tuning
- deploy software and solutions
- can do some UX design
- can manipulate graphics
- support and maintain what they’ve written
In other words, developers can span the gamut of needs–they are jack of all trades. Not all positions are fit for developers because they can be a mile wide and an inch deep, but in general having someone who can handle the entire software lifecycle is more useful in more situations than having someone who is handed a spec and can crank out code.
(Note that I’ve never worked in a huge company for longer than a few months, so perhaps that is where programmers are more useful.)
Pingback: Throwback Thursday: What is the difference between a programmer and a developer? | Dan Moore!