I am struggling with this same question, but from the other side. I help teams become more Agile, and I'm a startup junkie, so all I care about is performance here. I want to know what works best in terms of product quality and pivot ability.
And guess what? So far it's co-located teams that kick ass over distributed teams. I wish it wasn't so, and I'd love to hang back in my home office and work, but that's not the way the numbers are looking.
To be more precise, yes, you can become a "commodity" programmer, that is, somebody that people slide a list under the door to and who delivers code on a regular basis. In this case you are competing with commodity programmers around the world who are willing to work for peanuts. If that's your thing, hop on over to one of the programming job sites and have fun with it.
Now I can already hear the objections. With all these tools, why can't I be just as plugged in as if I were in the office? Aren't you making a false dichotomy, asking us to either be on-site or completely on our own?
Yes, I am generalizing. Look, I don't know why the tools don't work to do the things they are supposed to do. Certainly we have chat, VOIP, and all kinds of awesome communication tools. You'd think that would be enough. But it's not. Instead of powerfully performing teams we get mediocrity.
I suspect that software development has a powerful social and human aspect that is not replaced by tools. Working in a team isn't just trading streams of data across a wire. It's going out to lunch, having a beer while talking about work, or making an oddball suggestion one Wednesday afternoon that turns out to change how everybody thinks of the problem they're working on.
So sign me up for remote work too. Just show me how it's going to be as effective as co-located teams. I see a lot of fluff from places like 37Signals who make a marketing strategy out of being so aweseome, but I'm not seeing results in the real world. I hope to learn more -- and I hope this problem gets solved.