One of my juniors, working as a software programmer, recently asked me a way to make his work interesting. He was working on 5th or 6th project with the same tools, with similar needs and wanted to escape the monotone. Sometimes he just waited for the management to finalize the deal, doing nothing more than checking his/her emails.
My answer – learn a programming language or an open source framework. If you use Java at work, learn PHP or Groovy or Python or Scala or Lua. If you want something radically different, learn Haskell or Erlang. If you are not interested in languages, learn frameworks. If you are working with Web, learn Django or Ruby on Rails or Symfony. Or learn the minimalistic ones like CodeIgniter or web.py or Apache Wicket. Or learn about software development methodologies and their benefits. Each of them will tell you learn more than the technology. They will help you realize the mistakes you are doing at work, or improved ways of doing some things. Or especially if you have started building stock solutions because of the monotone. Maybe they will also help you do out-of-job thinking.
I have experienced that learning something other than the tools of my trade has helped me rejuvenate my interest and efforts. I am not sure of other domains, but open source has made it really easy in the software world. So, the next time you feel bored at work, just go out on the Web and learn something new outside your work.