I have had a couple conversations where the topic of my work arrangement has come up. I still keep in mind this article. http://martinfowler.com/articles/remote-or-co-located.html
Effectively, I think having a good manager who knows the team and how well they are working is key. Having team members who have integrity and want to get the job right helps, and pair that up with good remote-worker skills and tools and you can be successful anywhere.
Of course there are some jobs where you need to be with the equipment, but if you are writing software that often isn’t the case.