Remotely, I’m vastly more productive in getting coding work done. I’m sure most people would agree. But that productivity is almost erased by onboarding new hires. There are so many aspects of software engineering where it’s so much easier to be sitting next to someone, pointing at their monitor, and discussing what and why you are doing something. Instead, you need to hop on a call and awkwardly screen share on a call or write out paragraphs of text to impart the knowledge. In my experience, having such barriers to doing these things makes new hires much less likely to reach out and put themselves into the situations where they can learn, no matter how much they are told it’s ok to bother people.
To me, this is why remote works so much better at smaller companies with less bespoke tooling and legacy code. There’s no better way to learn than in person and there is a huge productivity boost when doing so. That said, personally, I’m willing to deal with the lower productivity in my work life to get the higher productivity in my real life by being able to do laundry during the day and not sit in traffic.