I'll second everything that's been said about
programming being a creative endeavor,
and tack on a couple of observations of my
own.
1) I love debugging -- my code or others'. It's
sleuthing at its most fascinating: subtle clues,
carefully laid traps, street-smarts. Give me a
bizarre crash that occurs apparently at random
with no trace of recent mods in the likely area,
and I'm in Sherlock Holmes heaven.
2) Computer programmers are like civil engineers
who can, if they need to, change the laws of
nature. Don't like gravity at 9.8 m/s/s?
Change it! Need your structural steel to
be nice and mushy when pushed along the
X-axis but rigid otherwise? Invent it! The
programmer's answer to every question of
"Can you...?" is "Of course -- after all, it's
only software." (Knowing how to set a price
and schedule on "of course" is an entirely
different matter.)
3) When you make something useful, the
daily lives of other people are made better.
That's quite satisfying.
It is fun. I've been doing it for a living for
more than 25 years. The cool thing is that
people keep paying me