I was just reading Jeff Atwood's post - The Magpie Developer - where he uses the metaphor of the magpie who collects shiny objects for his nest to explain why elite programmers go from one programming language to another.

Perhaps it would be more useful to think about what really motivates programmers generally. After all, while the pay is okay in our profession, most of us work in relative isolation on problems not generally of interest to the public.
Personally, I studied math as an undergrad - and the study of patterns interests me. Creating systems to analyze and distribute changing informaiton intrigues me.
Later on, I earned an MBA, where I learned a great deal about leverage - mostly using people or money as leverage. But it occured to me that in the Information Age we live in the most efficient form of leverage may be using information technology.
So, for me, motivation comes from learning new patterns (I still get a kick out of learning new design patterns) and finding ways to use the web, or mobile devices, to create leverage.
I would guess that there are many other good motivations for becoming an excellent developer:
- The creative instinct to produce something new.
- The instinct to make something perfect (performant with accurate results). (I think excellent developers are definitely prefectionists to some degree.)
- The instinct to solve an important problem - or just a puzzle...
- The instinct to show off to geek friends.
- The instinct to improve your skillsets to make your career more stable.
What motivates you as a developer?
Interested in your thoughts,
Jonathan Starr