I know exactly what you mean, I spend a hell of a lot of national lottery tickets to prove it. Sometimes you gotta get really tired and fed up and sick, in order to see the light at the other side ie what doesan't kill you makes you stronger. All jobs are like this, unless you own your own self-sustaining company and are sitting on a beach somewhere while other people make you money. But being a programmer in one company doesn't mean it wil be the same in another. I used to work in a games company which needed long hours from it's staff and yes it was a good end product but over time you do start wondering if there's something different available. I think it's easy to lose sight of the other things you could be doing, when you're up to the eyeballs in work or hours (not necessarily tied, I found). The ups and downs are very misleading also, when a job is going wrong, making you're behind, or you've taken the wrong path of development about 2 months ago and now have to make it all up. It's easy to be negative and convince yourself you want to get out. But then twhen it's going well you wonder what all teh fuss was about. I still can't get my head around this! I suppose if you wake up and cry consistently for 6 months, time to leave. But you do have to wait things out to see whether the sun is shining above the clouds.
Ben Glancy Software Developer