Working from Home Part 2: Why It’s Great
geeksinboston.com
geeksinboston.com
I have a 40 minute commute to and from work which I use to read the papers or a book. I have an official 'work-from-home' day (Wednesday) and the option to work from home other days if there's nothing at the office that requires my attention.
However, I usually just go in to the office every Wednesday and only sometimes use the work-from-home-any-day option.
I happen to like the work environment we have. I have a nice clean office space with a big desk, two large monitors, good lighting, a comfortable chair, a kitchen with food and drinks, a rec room with couches and a pool table and whiteboards everywhere.
I am frequently interrupted, but half the time it's by fellow coders working on different problems who want to bounce some ideas off of me. There's an unwritten protocol for programmers interrupting programmers where I work. You walk by and say 'hey'. You get a 'hey' back and if the programmer doesn't turn back to the monitor, they're usually open for interruption. Or they might suck you into whatever problem they're working on.. :)
The other half of the interruptions are from the operations, business, sales and management side. These can be very annoying and consume a lot of time, but I encourage them (up to a point). For one, they provide a good finger on the pulse of the wider company operations. They keep a level of transparency between software development and the other areas of the company. They're also good for social cohesion (a 'we' feeling as opposed to 'us and them').
Interaction just works better face-to-face. The pool table we have, for example, is rarely used for actual games. Usually it's used by two or three people that are discussing something and just making a few shots while doing it. Or just goofing off for a bit.
Of course, I also have to get some code done. I can manage my time and do this, but I also have a lot of freedom in this respect. If you're working with a boss who micro-manages you, eh.. well .. that's a different story. (I suggest getting another job. I've been there and it sucked).
(* individual-productivity-coefficient
(/ (* amount-of-the-task difficulty-of-the-task)
time-to-implement))
Within these parameters, managers can only see time-to-implement clearly, amount-of-the-task vaguely, individual-productivity-coefficient relatively (to other coworkers), and difficulty-of-the-task hardly. Suppose you spend a week to solve X in busy environment, then spend a day to solve Y when the noisy manager is on vacation and you know X and Y are more or less the same amount and difficulty, so it's 5x boost! But the only clue the manager has is that you finish Y in 1/5 of the time of X, and each counts as single "feature" so the amount of task should be the same, and they conclude that the difficulty of Y is 1/5 of X instead of thinking that your individual productivity coefficient raised 5x.