Remote work is becoming a benefit, not a feature, and I think it's becoming a major factor in whether a certain sector of developers and engineers accept a given gig or not. Especially if you're a grownup and have a family and young children. And once you've tasted remote work, and have your own home office, setup, and workflow, it's hard to go back to commuting, time-wasting meetings that should have been an email, and million dollar housing.
If the difference is "being able to go and ask your coworker directly if you don't know something about the project or want to share some ideas", it is: a) obviously possible over Skype, and b) it brings nothing but damage to development efforts, as interruptions break the flow for hours. Unless it is urgent, it is much more preferable to write an e-mail and go work on some other park of the project.
I am an introvert, and human interactions are draining my energy. Most of the developers I know are also introverts. Of course, occasionally direct interactions are absolutely necessary, but it is rarely enough to warrant 100% presence and constant interruptions, which simply don't allow to get anything done.
Also, at some point, somebody has to bring new hires up to speed, and I certainly wouldn't want that process to happen over Skype. Teaching new hires is an important time to get them on the same page on the team's practices and help find the rough spots in bootstrapping someone to the codebase.
In general, software development is much more high-bandwidth than people give it credit for. It's often much more beneficial to hash out an unclear specfication with a coworker over coffee than it is to forge ahead and just make stuff that seems like it could work.
At JotForm, (most of) our teams have their own rooms with doors that can close. They can have lively "high bandwidth" discussion in front of a white board. People glance what is on their teammates' screens. Making comments about what they are doing and coming up with new ideas. They go to lunch together. Once a week, team lunch out is paid by the company. Informal talks turn into amazing ideas.
Sitting together as a team is very motivational. You see excitement in other person's eyes and that in turn excites you.
We also do a lot of co-piloting. Working on hard tasks or tasks that requires knowledge of two people can be done much more quickly when you sit together.
We do have many remote developers but they all work individually on individual projects. It works really well if you work by yourself and if you have a backlog of tasks to do. In such cases, working alone remotely is perfect.
1. Timezone issues - this is, imo, the biggest one. Especially after working with people in China, India, Europe or even eastern USA (with me in SF bay area). People all over the world usually start working around 9-10, and stop working around 6-7. Meetings, code/design discussions are very difficult on those schedules, especially when you want a decision on smaller issues where a quick back n forth would settle the matter in 30 min if everyone was in the same room. And there are plenty of such issues, where unavailability of your coworkers seriously affects the productivity.
2. Impromptu discussions: These are triggered by spontaneous ideas, and ideas do not come according to a fixed schedule of meetings. By not having remote workers in these discussions, both sides lose (by not having more brains, as well as by missing out).
2. There's Slack/HipChat for that.
And yes it's expensive, but at least they do pay well here
I wouldn't personally have bought a home this year, because why buy at the peak? But it is doable. The down payment is the primary hurdle.
And remember that not everyone works for one of the top companies. There are hundreds of thousands of programmers in California (not sure about the bay area, although that has to account for a lot of them), most of them are well out of their twenties, and most of them don't work for Google or Facebook or anything as prestigious or well-funded.
What gives you the impression that people are making such a small amount of money in the Bay Area?