+ 1
programmer = you take requirements and a design (eg class diagramms) and just compiles these into code
developer = you still may take requirements but the design (the how components interact with each other) is directly influenced by your expertise. sometimes you write this part too.
so in short developer = programmer + architect (and least to some degree)