It feels easier at smaller places because you can either start from the ground up that way, or easily pivot to it. Rent, utilities, furnishings etc can cost a surprising amount for a small business, which is why so many of them shared offices or used co-working spaces before the pandemic.
But make no mistake: some people just work better in person, and others work better remote. You should just choose one and stick with it. With hybrid you mostly end up with an office that's almost empty all the time, and lonely in-person types working there.
For many people remote work comes down to being on zoom calls all day. Some managers take it to the extreme requiring everybody to be on a day long zoom video call.
It's not proven to be the most effective tool yet, but this app can definitely make life easier for remote workers who constantly have to be on video calls:
It provides video meetings with the ability to hide behind frosted glass.
GitLab talks about being completely _asynchronous_ culture, where literally your teammate could be 12 hrs apart timezone wise, and you collaborate via PRs, docs, etc. Like an open source project.
OTOH there is a more interactive, synchronized remote work culture where pairing etc are very central to the culture. Timezones matter, and people are expected to have more synchronized collaborations.
I can't say we faced any particular or abnormal challenges around cohesion and productivity. Truth be told, I have often felt I barely knew most other people in the company, but it really didn't matter. I knew the software and I knew the customer I was working with. There typically might be 2-3 fellow employees I'm working with on any given project and I get to know them reasonably well for the duration of the project, but there aren't permanent teams and we're not doing something like playing a team sport that requires careful orchestration and practice. As long as work can be split up into discrete tasks with relatively minimal cross-dependencies, you can mostly work alone and only schedule touch points where those dependencies become blockers.
The tools and practices are Git, e-mail, channel-based chat servers, possibly video calls but only if you need to screenshare. I've never really seen the value in being able to see someone's face, frankly. It's a distraction more often than not. Yeah, body language, but I can still understand and use Linux perfectly well even though I don't know what Linus's face looked like when he wrote it.
Obviously, there was no transition, but as it stands, our customers have often wanted us to hire people who were near them rather than near some arbitrary city we chose to put an office in, so being able to hire from anywhere has always been helpful in actually being able to do that.
Ironically, the last time I had an office-based job, which to be fair, had to be office-based no matter what because the work was classified, much of my team was still geographically distributed anyway and I never met them, either.
If you can normalize that type of internal communications, everything else tends to fall into place.