For junior people or projects that require lots of collaboration, the remote nature does add some overhead. Your culture matters a lot here. If your culture is one of facilitating remote communication, then it can be done without too much drag. If you have a culture where many people are in an office, and don't tend to put things in slack or a video system such as zoom, then the overhead can become huge.
When working remotely full-time, I had some of the most productive days of my life, as well as some of the worst when I had to wait hours sometimes to hear back from members of my team. Highly collaborative efforts tend to suffer quite a bit in the asynchronous distributed model.
I think the remote-first culture of the company attracts self-managers who value quiet, focused work, and who have relatively good communication skills.
Anyway, I never want to go back to office work after this gig.
I think though the fact that there’s friction to hiring junior people in a remote office situation should be of concern to us. There is always going to be a fresh batch of recruits and if we lose the ability to train them then who will take up that job, and what lessons will those people focus on?
I've also been on on-site teams where only one or two junior devs work remotely. This always seems to work out poorly, but based on my observations it's usually due a combination of only being willing to only pay entry level rates, and failing to set deadlines for them. When we waited 4 months on a remote while he apparently just spun his tires on a simple bug, even after I explained the fix to him (it was ~4 lines, I basically said "try looking in X file on line Y, if you fozz the frob, does it fix it?") and he just like, could not. Also he'd have "internet issues" practically every day. Now the company is skittish about remote workers, even though it was obviously their own incompetence in managing him.
I know I personally do my best work when working remote, provided I'm not being pestered constantly. I just wonder if the "remote workers are bad" thing because it seems that many people seeking remote dev work are just starting out in programming or trying to transition from other jobs thinking those high paying computer programming jobs sound easy.
I work now in an office (hope to change that) and when I look around there are only a few percent of people I would trust to do well in a remote environment.
So you'd probably be comparing apples to oranges, since most firms have to compromise on either skill or experience, due to being in a local market. In-office teams have other advantages such as being able to monitor people, and maybe a sense of closeness for people who aren't devs (devs are ahead of the others culturally).
My own opinion is that the tradeoff falls in favour of remote. I've actually never worked with a bunch of people as competent as this, and it's all been quite pleasant too. I also briefly helped a friend run a remote team, and that was similarly pleasant and productive.
Most of my previous experience has been with traditional in-office teams. Commuting is a major context switch, and most people need to go 45 minutes each way. And then they aren't set up to do much from home, and are disinclined when the occasional work-from-home day happens.
That context switch can be quite bad if you think about it. Say you need 2 hours of deep dive concentration to write a piece of critical code, and magically assume it's pointless to try if you don't have the full time undisturbed. Well, if your working day is 8 hours, you can't do it in the two hours before lunch, or the two hours before you leave. If you have meetings there might not be any time at all that day.
By contrast you probably don't have a meeting in my remote team -just say you aren't around- and you can either wake up early or overrun your evening, or move your lunchtime.
The thing is culture is everything. We started remote, and that's always been the deal. It might be different to have an in-office team attempting to go remote.
It's really the latter that in-person collaboration is supposed to help, and I'd argue it is also the latter that is more important to long-term business success.
That said, at some point decisions have to be turned into work, and work benefits from fewer distractions. And IME remote work is better for managing distractions.
I don’t know how to accomplish that in a remote situation. It might be possible, but it would take more introspection on my part to understand what I’m looking for exactly and the tooling overhead puts in jeopardy the organic nature of walking up to someone, saying hey check this out and taking notes.
This is true in my experience. I've worked in on many remote teams and colocated ones and colocated ones have always been more productive. Sure remote teams are sometimes equally as productive but thats in select circumstances.
I am on 100% remote team now for past 3 yrs and remote teams lack any human connection, team culture or shared struggle. Sure I know where everyone lives and how many kids they have but I don't have any real connection with any of them. There is no random conversations/ideas to be shared at lunch ect.
We met once in about 3 yrs. Management is super stingy with any travel thats not absolutely necessary.
Man, this, 100%. We have solid communication as a team, lots of slack or hangouts/webex/skype/go2meeting/whatever, but no one really interacts in a social sense. All communications feel like talking to a customer, and there is a constant CYA vibe that makes routine questions feel like walking on eggshells.
HR meanwhile keeps blasting us with emails about the Ugly Sweater parties or bake-offs in the HQ office that doesn't apply to any of the technical teams. Only reinforces the disjointed feeling, tbh.
It might seem expensive, but if it helps to find the optimal working strategy, then for a large company it could be a bargain.