"Programming" vs "Software Development" or "Design/Architecture"
If you had asked what I enjoyed most about software development or design/architecture, then I would lean more toward the creativity than anything else. But as far as just the activity of programming itself goes, then I have to confess to being addicted to the "control" thing. Even if I have to implement someone else's design, doing something that won't really help make anyone more efficient or effective, or to accomplish something that isn't really all that difficult to me, when it comes right down to it what makes me want to actually write code is the sense the the machine will (hopefully) do anything and exactly what I want it to do (with the emphasis on "I"). Of course, I don't enjoy programming as much as design/architecture because I get a greater satisfaction from the creativity, challenge, and value-provision of doing that activity than from the sense of control in doing programming work - so that's my caveat.