If most programmers want a challenge in their day job they could try learning how to communicate or how not to assume that everyone else is an idiot or even try and improve the processes their team use so that everyone benefits.
The biggest problem I find programmers coming up against is cummunication and understanding and yet 95% of them would rather point out how their immediate coding problem isn't challenging enough to their almighty brains.