When I first started out as a software developer - some 20+ years ago! - everything seemed to be this horrible, demand-driven waterfall model: either a client would want a feature which someone in management would promise by a ridiculous delivery date or management would come up with an idea and a required delivery date, then spend three quarters of the time before said date "thinking about it" before handing over a spec. Either way, it ended up with devs in their little silos, expected to jump and pivot on a moments notice and deliver something based on a woolly spec within an utterly ridiculous timeframe. Not for nothing did the "developers - turning coffee and pizza into code since 1990" t-shirt design exist.
Then things changed... suddenly, collaboration became a thing - developers and QAs started being being brought into the design and planning phases. We could push back against ideas that wouldn't work with the systems we had written, timescales became more realistic and specs, thanks to earlier discussion, were made clearer.
In short, we began communicating. And this spilled over into other aspects of development: I've lost track of how many solutions or good ideas have come out of conversations that started simply because two people were at the water cooler or coffee machine at the same time...
And then COVID hit. More importantly - lockdown hit. And suddenly, we're back in our silos, with pretty much all communication timetabled through calendar software. And once again, teams have started to become more "collections of individuals", with little more than an obligatory start-of-day conversation and a couple of weekly planning meetings in contact with each other. No banter. No "good morning"s. No "how was your weekend" or any such chit-chat that can take the pressure off.
Businesses used to sell themselves to potential candidates as "startup feel" or "friendly office culture". Okay, so in a number of roles, I've found that that's turned out to be bull, but there have also been places I've worked that did have that friendly culture... how do you promote a culture when your employees/teammates don't actually see each other for more than ten minutes per day?
Don't get me wrong - working from home is a boon, and very useful when you know you have a delivery coming, or the kids are finishing school early. But without that collaborative, communicative environment, I can see a future where software development slides back into the dark days of "make this thing for this client by the end of next week".
Yes, I know this is going to get downvoted to hell. Just don't come crying when you're back to crap specs, insane deadlines and no push-back - because switching jobs isn't going to fix the problem any more.