I'm lucky in that my job, as hectic and grating as it can be, allows me to have my hand in a few different projects at the same time, allowing me to flex a couple different muscles, as it were. Although a LARGE amount of my time is spent developing (I agree that programming is much more than just typing in lines of code), I also get to manage a small group of interns, develop our B2E strategy, go to a conference once-in-a-while, and handle much our groups 'PR'.
When I do code hardcore (as I have been again for the past 5 days or so), I find myself falling into a groove, and the time just flies. If I can get my mind around a couple problems, proof them out, write some skeleton test code to prove out my theory and begin an implementation, I'll look up, and it's passed time for me to go home.
Granted, I also seem to have a loss of ocular muscletone lately, and I sleep like the dead once I DO get home, but if the problem is interesting enough, I can work for weeks on it
Flex the Geek