We build things like Search Engines. Which have a Crawler, an indexer, a few dozen scorers, the front end, the Natural Language processor, the content extractor....
And all of those things have to talk to each other and be set up to run on your personal dev environment. That often means borrowing some know how from the guy next to you. That is much harder remotely.
And all of those things have to talk to each other and be set up to run on your personal dev environment.
For this, we created (and keep updated) a textfile with requirements and a (terse) installation procedure a dev should be able to follow to set things up on his own machine.
That often means borrowing some know how from the guy next to you.
I once worked in a telecom company (open plan) where we also used this way of communication. Perhaps nothing wrong with it (from a social standpoint) but the senior devs were often complaining about being disturbed in their flow.
That is much harder remotely.
An alternative, which doesn't interrupt flow, could be email. But then you might have to wait hours for an answer...