Part of the point of programming is solving puzzles. But we all know, not all puzzles are equal. Some are definitely more enjoyable and exciting to us - others may enjoy what we don't. So, I want to ask: what's your favourite challenge(s)?
As an example, what I've noticed that I enjoy the most is building infrastructure. That is, building tools that make other jobs easier. This can be anything from setting up an environment with lots of short-cuts for my revision control system to building a framework, or even building a framework on a framework. I've managed to get about 4 levels deep on frameworks here at $WORK - the actualcode that does the real work at the end of this was incredibly short, succinct,readable, and, above all, maintainable. It was also very extensible when wanting to do more just like it.
Using those tools then actually provided me the same satisfaction as the initial build time: I realised all the time I was saving by using my own infrastructure.
Writing pluggable code, setting up myself and/or coworkers (and/or other perl developers if I manage to get it onto CPAN) to succeed faster, easier, more reliably - this is the type of challenge I enjoy. What's yours?