I fail to see how this is productive, for the following reasons:
- From my experience, most good programmers program at night. You might not get started until 2 or 3 in the afternoon, but then you get going and can keep going until well after 9pm.
- Programmer productivity is not constant over time. A lot of the code I write before 11am (when my coffee kicks in) is slower than anything I write in the afternoon. I find little mistakes, or wonder why the heck I did certain things. Even worse, I completely forget how it works unless I'm actually looking at the code. It's like when you're writing papers for that English class they made you take, and 2 months later you can't remember anything you wrote about.
- Transportation = no fun. It's an hour (at least) commute to work today, and another to get home. Most of the stuff I do at work I can easily do at home, so I really see no reason for all this travelling.
The problem with working from home or having an unorthodox schedule is that it does not fit into the normal business world. Most people work well between 9-5. That's when the managers are in. They want to keep an eye on you while you are working.
You've also got the problem of software licenses. Many of the tools we have to use at work (even though there are free ones available that do the same thing) are proprietary software and you can't install them at home. The bosses want everyone to be working in the same environment - it makes it easier to manage - and so using the software of your choice is not an option. Neither is taking home the software that they shelled out their "hard-earned" cash for.
I did contract work for a while. Although it doesn't pay as well and isn't a nice steady income, it is a much nicer work environment. I could sleep in each day, the commute was walking from my bedroom to my computer room (with maybe a side trip to the kitchen and/or the bathroom). My only problem with this environment is that there is no line between work and home unless you impose it on yourself. The greatest thing about working in an office is that as soon as you leave the office, you can completely forget about the work you do until the next morning - unfortunately in my situation I tend to forget a lot of the work that I did the previous evening until midday after the fog in my head has cleared a little.