Fog Creek Software
Discussion Board

Working from home / telecommuting

Hi Joel,
    I seem to remember reading a comment somewhere on your site once that hinted that you didn't like the idea of working from home, or "telecommuting".  It may have been in a job posting for Fog Creek -- I'm not sure.  (I can't seem to find it on your site now, so I may be imagining things). 
    Anyway, if it is true, could you give your thoughts and reasoning on working from home (mostly in the context of a developer)?  Thanks.  I've learned so much from your site.


Chris Lamprecht
Monday, March 29, 2004

I have found that communication is very critical to successful software projects, and having everybody in the same office for most of the day is the best way to accomplish that.

I wouldn't mind somebody working from home one or two days a week, or even an experienced member of the team going offsite for a month or two, but long-term long-distance relationships miss too much opportunity for learning, feedback, and effective teamwork.

Joel Spolsky
Fog Creek Software
Tuesday, March 30, 2004

As somebody who works for a small software company that has embraced PART-TIME telecommuting from its inception, I totally agree. After doing this for about 2.5 years, I can say that at the start of a project being in the office at least 70% of the time is important. During later parts of a project when you are in maintenance mode, or even the middle heavy-coding parts, as little as 20% can work as long as you make it the same 20% as the people with which you are working most closely.

When people take advantage of the situation and stop coming in at all, things can really turn bad.

We have also found that flex time combined with telecommuting can create some very interesting and useful scheduling situations - like working from 10-3 or 4 at the office, going home to pick up your child from day care, having quality time with the family and then working another few hours in the quiet of your home office at night. A few hours of quiet solutitude for your developers is obviously very valuable.

Wednesday, March 31, 2004

Ive been telecommuting from a very remote location for many years, as a UI developer on a small team on a proprietary prodcut.
Earlier on I would have argued that being together physically was important for the early design phase, but lately I've learnt that even that isnt necessary.
I understand all of the issues, but I can state quite plainly from experience that this works and works well. If anything, the people working remotely on our team have been as or more productive than the rest.
Also this relates to Joel's philosophy on own-offices and the way that a 30 second cubicle-pop-in can ruin a mental picture of two dozen variables and classes that takes a half an hour to get back (ie ripping you out of the "zone").

I miss the over-the-cubicle-wall chitchat, the coffee-room gossip and the general human interaction, but as far as design and development go, all of the important communication can be handled by email, phone and IM.

(IM in particular is a good replacement for the over-the-cubicle-wall 30 second question: "Where does variable foo belong?". But has the added benefit that the recipient can ignore it without being rude, or set themselves to Busy or Offline.)

Truth is, it can be done, it can be done well, being in the office is not necessary, and that I and others like me have proved it.

Wednesday, March 31, 2004

The best work space arrangement is individual private offices arranged together so that developers can either interact or work privately as needed.  But most developers don't get to work in such an optimal environment.  A lot of software gets developed in cubicles, which may be the worst work environment, but people still do get work done.

My experience with telecommuting is very limited.  An occasional day away from the office, working alone, can be very productive.  The few people that I know who did remote telecommuting for a long period eventually gave it up.  The problem may have been that most team members were not telecommuting.

If I can't work at a place with private offices, my second choice would be to work with a telecommuting team.  I don't have enough experience to be sure of this, but cubicles are really bad places to work and if the team is set up properly, as described by "telecommuter",  I expect it would work, or at least work a lot better than cubicles.

Wednesday, March 31, 2004

I agree with telecommuter.

IM has the added advantage that it's in writing: that after discussing and agreeing something with one other person, then I can copy/paste our conversation into email for other team members.

> long-term long-distance relationships miss too much opportunity for learning, feedback, and effective teamwork

Perhaps my situation is different: I previously worked onsite with these team-mates for several years already, so...

> I have found that communication is very critical to successful software projects

Of course it is.

> and having everybody in the same office for most of the day is the best way to accomplish that.

But that's an unsubstantiated assertion. We do meet every other week or so, e.g. to rearrange the schedule. And we are all online most of the day, so in that sense we are "in the same office".

Still, yours may be a fair comment for employees who are a) new, and b) expected to work in a tightly-knit team and not independently.

I'd add that, other things being equal, it can be more convenient to chat face-to-face than to IM: but, other things never are equal. For example, having an extra two hours per day means I can spend that time working instead of commuting. I'm more at ease with my peers when we do meet, since we're meeting in homes and restaurnants instead of in an office. You don't have to pay for an office (and instead, part of your home is tax-deductible). I find it a huge improvement in my quality-of-life: so much so that the fact that our working from home is a deciding factor in choosing this contract and rejecting any other.

Christopher Wells
Wednesday, March 31, 2004

A chat room type of thing would be even better than IM, because then you would see what other devs are saying to each other.  If everyone was at home, I think you could probably find substitute communication methods.  But if you are the only one out, I would think it would be hard to get engaged in anything outside your todo list.

Keith Wright
Thursday, April 01, 2004

Granted, communication is critical. But it's the quality, not the quantity of it, than matters. And in this sense, telecommuting isn't limiting you at all.

I've found email to be a lot more efficient way to communicate complex technical matters than chat. Not to metion the benefits of it being stored and  searchable.

Thursday, April 01, 2004

Doesn't colocating the developers encourage task switching, even if private offices raise the bar?
If the devs need to get together, schedule a meeting. Then they can plan on being in the office.

In addition, IM provides both live presence and the ability to ignore it if you're in the midst of deep thought.


Thursday, April 01, 2004

Private offices are *never* available to programmers in the UK. Yes, private offices and optional interaction with real people may be better than working from home - if, and it's a giant if, your commute isn't too horrible - but in my experience working from home beats hell out of the actual alternative available here in Britain - working elbow-to-elbow in a huge room full of other developers, and sometimes containing people who are on the phone all the time, possibly near a noisy photocopier or the entrance to the kitchen, from which all sorts of strange smells emanate at lunchtime when people heat up their curries, Chinese food, etc.... (I like these types of food, but you know what I mean.)

And, no, you don't generally find cubicles in the UK. Sometimes the Dilbert cartoons (remember Dilbert?) used to set off a sort of cognitive dissonance in me as I *envied* Dilbert's working conditions (when I was working in a large open-plan room at Symbian). At least he had a barrier around him. One guy at Symbian managed to 'borrow' some partitions and made a completely enclosed space for himself - he was wedged in a corner at one point and had to climb in and out - but this solution wasn't generally available, because there weren't enough partitions, and management didn't like this sort of thing at all.

I have worked from home on and off since 1982, with stretches of working in various open-plan offices. In the old days there was the pain of having to do everything on the phone, and constantly put floppies in the post with the latest version - but for the last few years, with the internet, and then broadband, everything has been fine. I can interact as much as I like by phone or e-mail. Ideally I guess I would like to get into an office once a week, mainly just to see people, and sometimes that happens - but it's not a big deal, and at home I have my own office with a door, a big workbench and plenty of power cables. And I like being able to go out for a run or a walk in daylight even in winter, and have lunch in my own garden in summer.

Graham Asher
Friday, April 02, 2004

I've been working mostly from my home in Virginia, for two different companies in Silicon Valley, for almost 8 years now (with a six-month stint in CA when I started with the second company), so I feel pretty well qualified to speak to this topic.  There is no question that there is a downside in terms of communication; those of you who feel like phone/email/IM is just as good as being there, well, you must do different work than I do, because there are definitely times where we feel the missing bandwidth that face-to-face provides.  OTOH, I am definitely more productive here than at the office; I can work a few hours after the kids go to bed (which I never do if I spent the day in the office), of course I have no commute (which pays off in both time and stress level), and I'm happy (a happy employee is a productive employee).  I would say, net, it is about a break-even for the company I work for.  But here's the kicker, where I'd love to hear opinions: If you have the opportunity to get a really great developer who is an expert on the exact problem domain in which your software lives, and such people are *really* hard to find, would you rather hire them as a telecommuter than not at all?  It is said that a really great developer is 10X more productive than an average one.  If you can manage to hire only really great developers, all of whom will work on-site, good for you; but if not, isn't it better to have a really great telecommuter who would have been 10X more productive on-site but is still 8X more productive at home?

Joe Ganley
Monday, April 12, 2004

*  Recent Topics

*  Fog Creek Home