I am a junior level developer and in both jobs that I have had since graduating, to the senior developers the term programmer refers to a professional software developer who takes pride in their work and does things correctly, while the term hacker can either mean someone who is attacking a system, or someone who comes up with kludge solutions to temporarily 'cover up' poor design decisions i.e. a 'hack'.