One thing I think worth mentioning though is as our systems become more and more distributed there is a clear advantage to having the limitations in communication folks are bringing up. It really forces you into a mindset where you have to nail down your API so others can neatly interface with your work. When I'm in the same location as a teammate, I'm more likely to just go over and ask them how their module/service works, which I might argue leads to more intertwined, less decoupled code. If I am physically removed from other team members, I am forced to make more independent resilient systems because in order for projects to be more successful, I have to more closely stick to the predefined API specs from the outset.
I am fortunate in that I have garnered enough skill/demand that I can work from my boat, sailing around Mexico, so for me, the freedom independent contracting has allowed in my personal life is unmatched. I undrrstand why managers and business owners are loathe to offer this kind of work, and I think partly it's because a few bad eggs has given wfh a bad rep