With remote work, there can be a constant slew of inquiries on Slack, esp. if you're a senior team member. Trivial things take 5-10 minutes to work out on Slack because of how inefficient typing is versus being in the same room.
I guess the ideal situation is to work on something that requires little collaboration, but such positions are very rare.
EDIT: They're even more rare that they could be. In cases where a component could be reasonably written and maintained by a single person, managers will still usually impose a requirement of having at least two or three people involved with that code, which creates large and completely unnecessary communication overhead. The reason is of course they don't want to be dependent on this specific programmer, because then they would have to pay market or above market wage and generally create a developer-friendly environment. They think that it's easier and cheaper to treat developers as replaceable cogs, even if it means they have to subject them to excessive knowledge transfer, thus making them less productive.
What is wrong with a phone call (preferably scheduled) to work out such details? It seems to work pretty well for me with my remote job. I prefer more complex solutions to be worked out via a wiki-like editable document that everyone can share and discuss, but for trivial things, a phone call works well.
You are right that many more things could be done without so much collaboration with better practices. I think code reviews can help maintain a sufficient spread of knowledge across the team.
Being able to call somebody and do screensharing helps a lot in this aspect. It isn't the same as sitting together in front of the same computer but way better than solving technical or conceptual issues through text messages.
I guess the ideal situation is to work on something that requires little collaboration, but such positions are very rare.
EDIT: They're even more rare that they could be. In cases where a component could be reasonably written and maintained by a single person, managers will still usually impose a requirement of having at least two or three people involved with that code, which creates large and completely unnecessary communication overhead. The reason is of course they don't want to be dependent on this specific programmer, because then they would have to pay market or above market wage and generally create a developer-friendly environment. They think that it's easier and cheaper to treat developers as replaceable cogs, even if it means they have to subject them to excessive knowledge transfer, thus making them less productive.