Working from home is great. No commute. Really good coffee 50ft away. Being able to get started as soon as I wake up. Being able to break for exercise / food / etc when it fits in my natural flow, instead of having to work around an office / commute schedule.
There are some drawbacks. One of which is there is no real signal on when the day is done. Not realizing the building has emptied out and you shouldn’t be there any more either. I had a few weeks early in the new year where I was completely burnt out and grumpy by the time I got to Thursday. Doing some quick mental math, I realized I had put in far too many hours those weeks.
I have a pretty solid work from home routine. I work in my home office (and that’s almost the only time I’m in there). I have a fast desktop computer that I do all my work from when I’m home. Enough so that I’ve written automation around the screensaver events to do things like mark me away on IRC. This seemed like a natural way to keep track of how much I was actually working at my computer through recording all the lock / unlock events.
The latest version of this program records these lock events week by week. It can then add them together and give me a view on how long I’ve worked both today, and this week. A Linux desktop notification is sent every time the screensaver is unlocked, as well as every time it hits a round number. It’s just enough of a signal to realize it’s time to stop for the day / week.
I’ve been doing this for a month now. The results are interesting. First, I learned out much I was actually working. It was far more than I had realized. So I consciously started capping days and weeks when I got to a number I felt was fair. This often means that Friday is a pretty light day, and includes a long family lunch outing. It also means I never miss a chance for a family walk in the middle of the day, because I have time for it, I even have numbers to prove it. (Note: I’m mostly proving it to myself so I don’t feel guilty when I put down the computer, as I work in a great organization where no one else cares about this as a metric.)
It’s also had an interesting impact on free time hacking. I now still have enough energy in my tank at the end of the week to still be able to do interesting things with computers that aren’t strictly work. Saturday mornings before the girls wake up has become tech exploration time again. This has included relearning elisp, and actually writing some emacs extensions recently (fly-hack, stacktest). I also made progress on my home weather station code for the first time in a year.
It’s amazing what happens when you measure a thing, not for anyone else, but for yourself.