It is good to be in an environment where others are hard at work because you'll be less likely to screw around.
There is tons of psych research on the effect of isolation on humans. Basically, it drives you insane. It is literally a form of torture. We are social creatures, designed to live in packs and tribes. Even an antisocial human is a relatively social creature.
It isn't easy to believe this until you've tried it. But I spent a year working out of my home office, and now I have a cubicle in an office again, and it is astonishing how much happier and more productive I am when I'm surrounded by other people, even if -- indeed, especially if -- they don't interact with me very much.
Of course, there is plenty of other research (not to mention lots of anecdotes from folks like PG) on the benefits of not being interrupted when you're trying to program. So what you really want is the library, where there are fellow humans around, but nobody will approach you or even speak in a loud voice. (Or perhaps you want a fishbowl office like the one Joel Spolsky built, where you can see lots of other people but you can't hear them.)
I have found that weird. I'm a huge loner and don't particularly need to talk to someone on a regular basis, but I get messed up if I'm not at least around people a lot. That's the exact reason Starbucks is my second home right now.
About the no interruptions - I can't remember the last time someone's interrupted my at Starbucks. But that could be that I always have my headphones on and have my eyes fixated on my laptop screen or book.
I think the issue with $coffee-shop is not that someone will interrupt you directly (e.g. talk to you), but that a commotion in the background will interrupt you
Regarding your first point, I find that if I am writing I need to change my work location every few weeks (or sometimes even more often). I become acclimated to the location and I become more prone to slacking off/day dreaming. Something the fresh location helps me a lot.
Having a small commute is great, but having no separation between your work and living spaces kind of sucks. I find that working out allows me to be more relaxed when I get back home. If I work from home, I tend not feel like I completed the work day.
I "work from home" at least two days a week. I often head to one of the two nearby libraries to work for a couple hours, mostly just to change my environment. Despite all the books and a few roaming kids, it's less distracting than being at home. Plus, I hate the smell of burning coffee at most cafes.
For some reason our local libraries block instant messengers, some webmail (but not https Gmail), and VPN connections. If it weren't for our http/https VPN setup, I wouldn't be able to do any online work there.
They also have few laptop-friendly seats. The big library near me has just two grown-up sized tables and you usually have to squeeze onto a table with a couple others. The smaller library has 8 study cubicles, most without power outlets, but it also has a park next to it where you can catch the wifi from some picnic tables.
- Pets
- TV
- Fridge/Pantry
- Kids/Wife/Husband/Roommates
Beyond that, there are many opportunities for your non-work life to interrupt your work life. It's a culture thing, being that there is absolutely no work culture at your home where there is one at a place with others.
I'm actually in the process of setting up a coworking facility down here in Atlanta. We're going to have two rooms to satisfy both camps: The Loud Room and The Quiet Room. Each caters to a specific goal and lets people use the space they want to without inconveniencing others. It's sort of a coffee shop next to a library. Best of both worlds :)
I agree. Working at home also gives you the opportunity to use a full size keyboard, use multiple (or large) monitors, and more. And you save tons on the price of coffee (and can often have even better coffee once you learn how).
This works best if you can have a separate room as your office, however.
When I worked at coffee shops a few days a week (or a month), I went specifically to get some new background noise and new background scenery.
Although, I suppose a library offers even fewer distractions than home does, and you do have to wear pants.