On her blog, Kathy Sierra lists a Typology of User Experience Pleasures. These were orignally applied to game design, but she has applied them to the design of other software applications. I think they are just as important in understanding what makes our work enjoyable and satisfying.
So without further ado...
A Typology of Cognitive Pleasures (as applied to your job)
1. Discovery
Your job as the exploration of new territory
2. Challenge
Your job as overcoming obstacles, persuing goals lying just beyond current skill and knowledge levels
3. Narrative
Your job as a story arc (person on hero's journey) and character identification
4. Self-expression
Your job as self-discovery and creativity
5. Social framework
Your job as an opportunity for interaction/fellowship with others
6. Cognitive Arousal
Your job as brain teaser
7. Thrill
Your job as risk-taking with a safety net
8. Sensation
Your job as sensory stimulation
9. Triumph
Your job as opportunity to kick ass
10. Flow
Your job as opportunity for complete concentration, extreme focus, lack of self-awareness
11. Accomplishment
Your job as opportunity for productivity and success
12. Fantasy
Your job as alternate reality
13. Learning
Your job as opportunity for growth and improvement
In the comments of the article someone suggested the following:
14. Helping
Your job as an opportunity to help others grow and improve
And I would add this one:
15. Recognition
Your job as an acknowledgement of your contribution