To add to it, WFH has one clear massive weakness: the lack of face to face interaction leads to quite a bit of atrophy when it comes to team cohesion. I've been managing WFH teams for the better part of a decade and I've yet to find a satisfactory solution other than getting people together every couple of months to work on hard problems together and build some trust.
I'm really bullish on the hybrid model right now. I think having an office designed more like a co-working space that can serve as a central meeting place for teams is what the future of software development looks like. No expectation that everyone is in the office every day, but rather reimagine the office more as a place where people come together when they really need (or want) too.
We're experimenting with that now in my organization and the results so far are pretty good. Some people come in every day. Some people come in every now and then. Others come in when their teams needs them. We're continuing to use all of the best practices for remote work and I think people are finding a really good balance right now.