Junior engineers need mentoring, need to talk to other people to understand what's asked of them.
Mid-level engineers/ICs need to talk to other people to understand the architecture design, collaborate with other mid-level engineers, and push back or report back issues that arise during the work.
Seniors and up need it for design reviews and achieving consensus.
Critically, to advance in your career, you need to start participating in conversations with the next stages. All of this is easier face to face.
I've found these technical discussions, pair-programming, mentoring, architectural consensus building, are all much easier to do "remotely" than typical management-style discussions. Our project's technical team size fits into the "two pizza" rule, although just barely probably, so it's not like we're super tiny.
Pair-programming is great online. Better than in-person in my experience. Simply share your screen, and I can put it up on my second monitor. We've successfully mentored numerous junior-ish devs during COVID, with heavy use of remote pair-programming.
Architecture type discussions main drawback is missing a whiteboard, but there are a plethora of online tools of varying quality. In practice we often use draw.io and show a bit more finished copies than pure whiteboarding, but we've used other more simpler solutions for whiteboarding here too.
Design discussions/architectural consensus take place fine online, we just haven't had any issues. Just like pair-programming or architecture, we might screenshare but mostly we talk. And we find we don't lose anything from this. Sure, you don't get body-language, but that isn't needed for discussing bearer tokens.
In summary, while I agree that technical discussion is necessary at all stages, I believe that technical discussions is far less negatively impacted by remote when compared to non-technical discussions (i.e. managerial).
Yet somehow the world of open source keeps putting out high quality software with teams distributed across the planet in different time zones with different native tongues.
For me, my boss has told us he wants 2 people on site every day per week, doesn’t care who. In the event a new server or other hardware is shipped to the building he wants a safe two-man lift to be possible. I think it’s fair, and he doesn’t care who goes in, so it ends up being the people that like being in the office the most that show up.
Written down communication makes things impossible to wiggle out of later on, meaning the writing needs to happen anyway, why waste time on the face to face?
This means it is less "work" for them to speak and listen than it is to type and read.
Written communication often takes orders of magnitude more effort, since it lacks the immediate feedback loop.
If my job was WFH (its not and can't be), I would still probably be doing the same stupid entry level shit with mediocre raises. Thanks to impromptu/casual conversation though, I got pulled out from under my manager and moved to a much higher position in another department (this was over a year or so, not just a one off conversation)
I could interact with higherups without being viewed as "going over my bosses head", and to me that's insanely valuable.
In the case of my job, they could have maybe 20? for the price they're paying now.
But I wouldn't go anyway. Maybe once a month or every six weeks or so. Just because there will be people who prefers an office and to keep up with their faces, but I have no business there.
> I think this is true, but only if the main part of your job is collaborating eg talking to other people to reach a consensus. That is easier face to face.
That's also undermined by other decisions, like offshoring and distributed teams.
> The problem is that only higher up management roles are actually like that. Lower down the tree people are expected to not spend lots of time talking to each other, and instead actually produce things (code, documents, reports, emails, etc).
That's not true. Maybe only "higher up management roles" are exclusively like that, but there are plenty of other roles that include a significant amount of that, or a significant amount that occurs at irregular/unplanned intervals.
Also remote work is a lot more socially isolating, and I feel it makes work relationships a lot more one-dimensional an tenuous. That might be fine if you're a loner, but that's certainly not true of everyone.
The other day my manager said that he misses coming to the office because back then if he wanted something he could just come over and ask.
Meanwhile I've specifically chosen to work remotely so as to not be bothered by anyone when I need to focus.
That was about as low on the morale barometer I have ever been, and I hope I never have to anywhere near an environment like that again.
This should tell you exactly why they are asking you back and it's not "collaborating". That's an excuse. It's because they don't trust you and think you're goofing off at home.
I think this is true, but only if the main part of your job is collaborating eg talking to other people to reach a consensus. That is easier face to face. The problem is that only higher up management roles are actually like that. Lower down the tree people are expected to not spend lots of time talking to each other, and instead actually produce things (code, documents, reports, emails, etc).
When higher ups push for a return to offices to make collaborating easier what they actually mean is to make their jobs easier, at the expense of everyone else. When managers say collaboration is better when everyone is in the office, they don't mean those "water cooler moments" we apparently have. They mean those times they can talk to you as they stand by your desk so you can't ignore them.