I've been completing my masters thesis recently, and one of the books I've been using as a distraction is the oft-mentioned "The Mythical Man-Month" by Frederick P. Brooks, Jr. I'm only just getting into it now, but as a programmer one short quote really provided a good summary of why being a programmer is such good fun. It goes:
The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. Few media of creation are so flexible, so easy to polish and rework, so readily capable of realizing grand conceptual structures.
If this isn't why a programmer programs, what is (and please no one say "for money")?