Not only is Paul so deadly right but it leaves you with a taste of wanting something much better for yourself. I have to share my thoughts about some of these.
Working time. My goodness, the dream of a 24 hour culture is never going to happen, at least this side of the pond and this current generation. Current business makes it impossible to work if you decide to work during the night. And I dont mean one off's, I mean regularly. Don't get me wrong, if your working with other people a compromise should be sought but quite a few times during a development life cycle you could do with just working when you feel the need to finish the task. My most productive time is from late evening to the early hours of the morning (currently 4:30am BST). Although this can have a effect on other aspects of life but its a matter of balance. If I was to go to work right now, I could. But if I didn't show up the next day and said I worked on the project, well I douht that would go down well. Some would say its unrealistic but actually its not as unrealistic as it may seem. For example if me and Sarah were to having kids, maybe working overnight might become a useful option.
Actually working. Paul talks about a state of pretending to work. Although I work hard, sometimes I just want to relax my mind and think about the task at hand in my head without forcing my head into the problem. I find if you step away and put your head somewhere else for a bit, it comes to you a lot easier. Putting my head somewhere else could be watching a film, listening to music or podcasts, etc. From the outside it certainly looks like your just goofing off not really working. I mean how do you prove your working? By how much lines of code you cut today? How many CVS edits and check in's? I believe in my work place at least theres a level of trust which allows us to be slightly flexible with our time but generally if your not in a meeting or away for the day you should be in the office working. Which leads nicely on to tools.
Tools for the job. During summer in Ravensbourne I would take my laptop outside and work on a bench because it was too hot inside and it felt more practical cranking up the aircon. There was wireless and I had a laptop which I could use. Sometimes nights I would work till the moon and stars would come out because I was so engaged in my work. Obvioulsy I'm not suggesting I should just be allowed to sit on a public bench everyday, but sometimes the fresh air and sunshine does wonders for problem solving. Having a desktop, propitery cms's, database connections, no remote email, etc really limits how far you can go. Having a slightly locked down desktop doesn't help either but having my own laptop means I can try stuff out and maybe even mess with code in a safe sandboxed environment. One of the funniest things I see everyday is the designers computers setup. They usually have a PC and a Mac setup which means they end up with two mice and two keyboards. At home I use to have that same problem, but I bought myself a KVM and used Synergy2 when I was using my laptop a lot. I'm sure if they had the same setup at home, they would do something about it.
Working on things you love. This is a very tricky subject for anyone. Yes I know Google have that 20/80 thing which is great but its slightly impractical for a publicly funded company like the BBC. But it doesn't have to be the google model, I've heard of company's which allow for elective time. So you can help out on the forums twice a month for a day, help teach a new skill to others, or help develop something for the team or office. basically its like volunteer your skills to do other things which may give you a break or new love. The BBC has a longer term scheme called attachments which places you in another department for up to 6 months. Its a good scheme and gives you real time to do something else.