Byte Magazine, in 1995, reported the 3 main motivators for programmers; why someone would choose a career in software development.
The 3 motivations were:
1) solving problems
2) providing a product or service others will find useful
3) a technical challenge