I found remote team code reviews to be much more objective. That way most people aren't worried they'll shame someone in person and they give better and more useful feedback.
The energy you speak of, while very real, is not related to the quality of the work that will follow.
But design is a different beast. Collaborative design of complex systems has a few stages. There's a rapid prototyping stage where 3 people in a room bouncing ideas off of each other and scribbling is better than anything else I've done. Then you circle back with a document that formalizes things (like an RFC). The second part can be done with a distributed group. But the first part is better when people are close to each other. You see this even in distributed groups like OSS projects. They have conferences and work sprints where the maintainers can be colocated for a bit and brainstorm about things in person.
I too collaborate with colleagues in different time zones but design and tons of brain-storming is not the main focus of our work. When we need to do that, we do long video calls with shared diagrams -- or we just scribble with the mouse. Works quite alright 99% of the time.
I agree that the rapid initial stages of a project are best done in person but failing that, there are replacements, and they are not as bad as many in this mega-thread claim.
And that's just one reason to disfavor a remote-only environment.
What other reasons do you see to disfavor a remote-only environment?
In my experience, this need arises very frequently in complex systems with evolving requirements.
Our company offered us to sometimes reconvene physically and discuss such things but since our team are all family men, it hasn't happened yet. But it is a really good idea and we should reconsider actually doing it sometime.
This is an excellent argument for annual all-hands retreats for distributed companies.
The whole idea of agile is to design iteratively and reactively, but you're throwing that away.
Honestly, you can collaborate and do almost everything remotely. What does lose a bit is team building, you have to go a bit out of your way to build rapport (but it´s also doable).
Its still, at least to me, markedly less productive, than an in-person meeting.
Like I said, conferences, summits, etc. These are done for a reason. Not to mention that there's some research I've seen that suggests that places like Bell were so successful because they cultivated happenstance interactions between smart people that don't happen in distributed environments.
My current belief is that a 95% remote team works, you do need in-person opportunities, the more the better, but at least once in a project can be enough.
IME the only people who actually like open plan offices are managers, extroverts, and flakes, most of whom irritate non-managers, introverts, and non-flakes.
2. Your tone is super condescending, regarding the extrovert - introvert bit.
VR will change that at some point. Even in today's infancy, there are some VR apps that give you that sense of presence with all the other tools needed and then some (whiteboards, screen-sharing, projecting your desktop on a huge screen, etc...)
But also if you have that, the advantage of sitting next to each other instead of just in the same building is also less pronounced. It's also easier to train your replacement, and some people are terrified of that.
You can learn a lot about the problems or architectural issues with your system by participating in conversations, and that supports the bullpen organization of offices. But you learn a ton more by participating in private or one-on-one conversations. In public only the brash get to talk. In private people will share their real fears as long as you don't belittle them for it. And those fears may reveal existential crises that are brewing in the system that nobody talks about.
It's much easier to have a private conversation with a remote person than it is to have a private conversation in a bull pen.
In a remote environment the tendency is for communication to be more formalized and structured. "Hey, are you available for a call. I just want to go cover X, Y and Z, then I'll let you get back to work." Often time half-baked ideas end up getting polished into important innovations. Without some sort of channel for informal, impromptu discussions a lot of ideas get overlooked.
So what I really wish for is increased flexibility.
That's not to say it's not useful. It's better than email, leaves a neat record to come back to and supports asynchronous communication. There are advantages. But strictly speaking, no, you cannot capture everything good and useful about in-person conversation using text and video. I don't think it should be controversial that much of the richness of in-person conversation - tone, nuance, body language, facial expression, spontaneity, speed - can't be meaningfully replicated through remote mediums. You can't get all of these things from a message or video chat. You can get some of them well, and a few others decently, but it isn't the same.
I like remote work a lot and wish more companies would support it. That being said, in my experience when people give honest, cogent criticisms of remote work they mostly receive responses which don't speak to the spirit of their point. In this comment thread, for example, the person you responded to is talking about difficulties. You are responding as if the person was talking about impossibilities. It is (emphatically) not impossible to function as a remote team, and very few people will try to make that case. But in the world we live in and with the technology we currently have, there are things about in-person discussion you will not be able to capture on a remote team.
If nothing else people have different values. Some developers enjoy being highly social when they're working, others don't. Some don't mind interruptions, others do. Many people feel a sense of comfort and empowerment by using Slack or Zoom which makes it easier for them to have productive discussion, for a variety of reasons. Likewise many developers do not get any of the same enjoyment out of a Slack or Zoom conversation that they do from face to face communication.
I often wonder how many problems used to be resolved because people worked together in the same location vs now it feels like the 10 things I interact with in a week are broken or require finding a work-around. Many of the chats are "how do you get around this?"
Human conversations are fine, but you generally don't get a durable record of them after the fact, and only those present will have a chance to participate.
I have a feeling that we don't have more work-from-home-first jobs because (middle-)managers wouldn't know how to deal with that. They are not quite there for such change.
And I'm talking about the "simplest" things. Like properly defining a task. Tracking it. Signaling when it's complete. Managing risks, changes. Communication. And so on. To have as most as people at an arms reach is just too convenient to workaround any shortcomings on the managerial side.
If in the general case, i.e., working at offices, all together, we're nowhere near[1] excelling on those "simple" management stuff, things would collapse in a work-from-home situation pretty easy.
I also don't see, in general, (middle-)managers changing their stance in favor of working from home either. Don't see them getting ready for such change. Prepping to work with virtual teams in any future and such.
Perhaps, those who believe are ready for such change could (myself included), somehow[2], show theirs capability. Slowly pushing the changes bottom-up by improving his/her own communication skills, reporting, risk and change management, displaying availability, to such an extent that the concerns of those (middle-)managers are barely noticeable or reasonable?
If we could show that we can organize ourselves and coordinate our efforts towards a goal, effectively, while working remotely, those concerns about remote work could start to fade.
I believe the point I'm trying to make is that we could show better that remote work works! We could be better sellers of this paradigm. Show how we can actually help those worried (middle-)managers. Like safely climbing a ladder, one step at a time :-)
Would be this a good opportunity to create a work-from-home manifesto, in the same way we have an Agile manifesto? I don't know. But that would be something interesting to collaborate on for sure. I might put some thoughts on paper about this subject for starters.
PS: I was an IT project manager for many years, working both on-site and remotely. Now I'm a software developer working on-premises for a big company in my country not friend to the idea of remote working at all; so I could contribute my experiences and views on this subject from both ends, I believe.
PS2: non-native English writer here. So if you find something that needs clarification or correction, please let me know, I'd be grateful to accommodate those kind of feedback. Would be more grateful if you share your thoughts too, though :-)
[1] yeah, I'm aware that there are famous cases of success, but I believe those doesn't account for the majority of offices. [2] not sure how right now.
If your estimation and metrics tracking doesn't catch this remote, it won't catch this in an office. It is true that it's easier to hide incompetence and laziness, but perfection is the enemy of good on those scales.
Your version control system and ticketing system should be able to identify things like this.
If not, then nobody's minding the store, and that's why things aren't working. Not cos people are working remotely.
Those have historically been called "bullpen offices".
In practice noise doesn't really leak from rooms into the hallway, so it's not a problem most of the time unless something extremely loud is happening, like a dog acting up or someone building flatpack furniture.
In my opinion and experience, professional programming is a deeply collaborative experience. But of course other people who ostensibly do the same kind of work have completely different preferences, and that's great. It does mean that people need to be very careful what kind of company they take a job at.
My approach is to embrace both at the same time, by almost always coming into the office, but arriving before 0700. The first half of my day is super focused, uninterrupted work, and the second half is relatively unfocused, talk to people and be talked to at random times kind of work. I leave around 4pm.
I've had no substantial problems going home so 'early' among the eight or so orgs I've worked at in the past couple of decades.
I sometimes regret weekends because I don't have access to those things.
Plus remote you can not play the butts-in-seats game, get non-work related life things done at your leisure, wear whatever clothes you like, shit in your own bathroom, don't have to worry about anyone tapping you on the shoulder, eat what you want when you want, the list goes on. Theses are just the immediate things that come to mind.