This is my work desk at home. When Shelley and I purchased our new home a few years ago we earmarked a space within the house as an office. Originally it was a second living space that we felt would be wasted as a formal dining room or second lounge. About 6 or so months after we moved in we got a cabinet maker to come in and put in built-in shelving, desks and draws.
In the picture above I have access to four screens to do my work. Three 24″ (approx) screens and a smaller screen which is actually a Samsung Slate PC which I use when I am out and about and don’t expect to be doing much coding. The result is a very functional developer workstation with better facilities than you could find in most regular office spaces.
I consider myself to be lucky in this respect. I’m lucky that I have a wife who allows me to commandeer a corner of the house for office space, I’m lucky that I am working with an boss who trusts me enough to work independently from home, and I’m lucky that the infrastructure that the company needs to support remote work.
Alas, I can’t work from home all the time. The reality is that I work within a professional services businesses, site visits and face to face meetings are part of the deal. So even though I can expect to work from home on average 2-3 days per week, there might be weeks where I am in the city every day. You just have to roll with the punches.
In the future, I expect remote work to become even more prevalent. I can foresee a time when even clients don’t want you to come into their offices because they simply don’t want to spend the money on floor space for a transient workforce (we are starting to see this already). Bring it on I say, but then I’m ready for it, and I’ve been living it for a good number of years.
Some companies are ill equipped to handle it. They need to change or they face being out classed by businesses with increased agility when it comes to hiring and retaining talent.
Before I close of this post, I think it is worth making a point about agile development practices and the benefits of co-location. Most agile enthusiasts will tell you that it is better if the team is co-located. This is true to the extent that given an ideal team, you will probably get better output out of them if they are co-located rather than remote. But sometimes to get that ideal team you need to provide conditions that they are happy with. If they aren’t happy travelling 3 hours every day just to be interrupted by pointless meetings then you might just need to live with the ideal team where some or all of the team members are remote. I cannot deny the benefits of regular team bonding sessions, whether it be going out to lunch or other social gatherings.
At all times you need to use common sense and allow some flexibility, and that is why this announcement about Yahoo! work conditions is so surprising.