The problem is we haven’t all figured it out. I have some coworkers who absolutely need to be in the office. Unfortunately they don’t have the self awareness to realize that, and they heavily believe the only benefit to in office work is making middle management happy. They’re good developers, but they have a bad habit of getting sucked into rabbit holes. Left to their own devices, they’re highly likely to disappear for hours and come back with an architecture astronauts dream that technically does what they’ve been assigned but also does it in ${newest language or framework} with ${unsupported dependency} and insufficient tooling to actually deploy it into production.
When they’re in the office 3 things work to prevent that:
1) yes they are supervised. More senior devs and also management can keep an eye on them
2) They’re more likely to just randomly ask a question or ponder aloud than they are to write something in slack, so it’s more likely someone can catch them going off the rails and re-direct
3) They’re more plugged into what everyone else is doing, so more likely to keep “coming up for air” and keeping their mind focused on the main goal and not the rabbit hole.
Again, these are perfectly fine junior devs with perfectly fine skills, and even their tendency to get enthusiastically lost is just more junior dev stuff.
But they don’t know how to work remotely, they’re not self aware enough to know they need to learn, they don’t take the feedback on it very well either (again see “it’s only because management wants butts in seats”)
So the options for this are mandate them to the office or eventually fire them for being more dead weight remotely than they’re worth.