>>1Programmer-hacker is an arbitrary distinction. Hackers understand the whole software, programmers understand a hack.
You probably should ask "Are you more interested in coding/building software or hacking/modifying the software?"
hacking is extreme detail-oriented approach, working with smaller units of code. Coding is a system-oriented design which focuses on larger units of code. Someone who is proficient at building new programs from scratch might find it repugnant to touch others code, someone who is used to reusing and modifying others code wouldn't waste time to reinvent his wheel. They all are creating new software and can be rightfully called programmers.