When I was young and in larval stage, I would work very, very long hours on my hobby projects. Today, I think of myself as having a programmer's virtues of laziness, impatience, and hubris, I despise all-nighters (even for hobby projects), and I place a lot of value on leisure activities and time with friends and family. My passions have changed, even though I like having the time to work on my hobby and business projects (I've got two at the moment).
But then again, my skill level has increased far more than my desired work hours have decreased. When I started, I could barely use the Delphi graphical debugger, often dealt with null pointer errors from bad object-destruction or initialization practices, crashed my machine from copying data to the wrong location in memory half the time, reinvented the wheel most of the time, knew no math above high-school level (I was in middle school, after all!), knew only three similar imperative programming languages (QBasic, Delphi, and C++), and only knew how to use Windows ME. "Version control" was not even in my personal vocabulary, and I only knew the build system that came with my IDE.
Today, I know more programming languages than I can remember to list, I run all three major desktop OS's and program for them when desirable and necessary, I know enough calculus and linear algebra to make my way as a computer scientist and real programmer, either use garbage collection or practice strong memory discipline, almost never follow bad pointers, and do most of my debugging with System.err.println and command-line debuggers. I have used git, Mercurial, Subversion, and CVS, the former two professionally, and I've had the misfortune to use not only CMake, ant, SBT, and Python install/packaging scripts for build systems but autotools and manually-written Makefiles as well.
My desired hours of work have shrunk linearly, but my skill, knowledge-base, and sheer experience have grown polynomially if not exponentially. I don't just hit things with sticks anymore, I know where to hit things with sticks. Just who the hell does the world think I am?
But all that said, many employers most likely deal with a lot of larval-stage college grads and amateurs who remain unproductive enough to require long working hours well into their careers. There's also a gigantic signaling issue here, because not even 10 or 15 years in the field actually indicates that you're this kind of experienced, intuitive, get-it-done-quick-and-slope-off-down-the-pub hacker, nor that you're an "A player" for any specific field of problem.
So if I'm a hiring manager who wants to run a company full of lazy people (that is, "lazy" in the sense of short hours or even a reduced workweek), how do I find the programmers with the sheer skill to not require late-night debugging binges at least occasionally?
I've had employers tell me to work more hours so they could bill our clients more. I was naive, and asked why, as my components didn't require all-day debug sessions at client sites, and I regularly hit my milestones. I didn't understand the perverse incentives that come into play when consulting. No doubt they wanted me to work on something; but all they saw was the dollar value I was worth. In the time I would have spent at the office, I arguably put it into something more productive (long-term), such as working on side projects, or practicing a musical instrument.
These days I consult at a strict 30 hours a week. I have workaholic tendencies, so I'm on a rest cycle WRT work.