Hacker News new | ask | show | jobs
by magiconair 4045 days ago
I am one of these managers in Amsterdam with an international team of 10 people from 8 different countries who still writes code. My desire is to have a team that gets the job done. The most effective way for them to do this IMO is to have them sit together so that they can discuss issues they have immediately.

We are seeing effects of less effective communication of teams sitting just a few desks apart.

Remote work has great benefits for the remote worker - and having been one I know them as well. The downside is that when you're building something complex the communication overhead is too big.

Another thing is that remote workers in vastly different timezones provide a time window for architectural discussions which can be too short. So they are never there when you need them and can only work alone.

I prefer to give my team members flexibility to run their personal errands and family issues but to have them on-site to have the shortest group communication paths possible.

5 comments

I have been doing remote work for 10 years now. Github and Gitlab (if you want to host privately) are the answers for me. Concerning communication and sitting together, my question remains: What exactly is it that you are able to say but incapable of writing? Over the years, I have become suspicious of someone who cannot write something but insists that he wants to say it, because when he is finally sitting there, guess what, he can still not say it. The more complex the project, the less you want to collaborate with that person, if only because his claims that he can say the things that he is incapable of writing, are not true.
But then you can help him put in words what is worrying him, even if he is incapable of saying. That's communication, dialogue. It is interaction in different levels, not just exchange of sequential, defined messages.

When you limit the dimensions of a face-to-face communication to the dimenions of a written communication, it is tautological to say the are the same. But the advantage of face-to-face is exactly having more communication dimensions.

I doubt there are many things in the area of software development that a competent professional can legitimately be incapable of putting in words.

It is obvious that face-to-face communication can be richer. But it does not follow that internet or just written communication is significantly deficient in an overwhelming majority of situations in our field.

Good to hear that GitLab is helping you work remotely. All our engineers (10+) are distributed and they love it! https://about.gitlab.com/2015/04/08/the-remote-manifesto/
Having to put it in writing is still an extra hurdle. When someone is sitting next to you, it's easy to nudge him and ask "what do you make of this?". When he's somewhere else, you may have to paste or point to the code, possibly include screen shots, figure out how to give him access to the code running locally on your machine, etc. These are significant hurdles for really quick, short interactions.

Also: pair programming.

I'm of this opinion as well. I've had to design some complex architectures, and there was nothing that an (admittedly long) phonecall couldn't iron out.
Linux is built by tens of thousands of people, usually around 1,000 of them contributing to each minor release, with hundreds of maintainers of individual subsystem. These people are all over the world, and talk to each other by nothing more than e-mail, and "get the job done"; quite successfully I would say.

I've only worked remotely the past 12 years, people communicate in writing just fine, as long as they care about the job.

All the companies I've worked for remotely, insisted that occasionally we get together to have some face-to-face time. I've never complained because I know these meetings makes management happy, and I also got to travel around the world, but purely from the perspective of doing work, all of these have been a waste of time and money. The only purpose of these meetings is social.

Yep I think the Linux Kernel and most any open source project is a perfect example of how remote work does work. The people that say you need to be "in the same room" seem to never give it a real chance and it's a convenient excuse for general communication failures these days.

I would also point out that working from home means significantly fewer disruptions (with the exception of kids in some cases -- I have a closed off office for work). I worked at a physical office and the number of "hey I have a quick question" scenarios was really frustrating when they could have googled it, yet it takes me out of my flow to stop and answer it and I lose focus. And this is not even counting the number of environment level interruptions you can't control in an office -- phone calls, people walking around, people laughing, chatting too loud, etc.

At least with communication mechanisms like HipChat/Slack it's more passive when people ask you questions. You can reach a stopping point and then answer them at your convenience.

I agree with you about the need to an efficient communcation, but the tools are there to enable it in a remote scenario :

- slack . - skype / hangout, - shared screen, shared editing sessions - code review.

add regular meetups and you're ok.

At this level, other aspect of the project management are likely better target for optimisation.

Well, the communication should be easy part. We are living in digital world, where you talk to your friends online more than you see them face-2-face. The communication between colleagues is pretty much the same.

Europe does not have so many timezones, but if you decided to go farther east, that's different issue.

I don't think everyone in the team should be involved in the architectural decisions of your product. That's why there are different type of seniority and roles in the team. Then you just have to "manage" the execution.

Most anyone in sales will tell you there is absolutely no substitute for in-person, face-to-face (not face-to-face-on-screen) meetings. It establishes trust. There is more to conversation than words (and our brains are built to pick up on it). Not everyone is an architect, but even sharing knowledge, code review reviews, and so on - all better in person in general.

Remote isn't bad, per-se, but having worked remote, managed remote workers, and now owning a business, it is my anecdotal experience that things generally run smoother, more efficiently, and with deeper levels of trust and involvement between people in the same room.

The less the product matters, the more the salesman does. So, yes, in order to sell something that the other side has no interest in buying, you should go face-to-face. Google, on the other hand, has never sent out even a single salesman to talk people into using their search engine or to bid for ads on it.

Therefore, for me, it works the other way around. If a company has salesmen, their product must be totally unimportant. They are probably competing on cost with China, and busy going under, because anybody who could innovate their way out of that trouble, has left already, or never came over in the first place.

Can someone explain why this comment is being down voted? I think the author makes a valid point.

When I choose my iPhone, my MacBook Air, my Martin acoustic guitar, etc, I didn't need a salesman to explain to me how great these products were. I went into the store and tried them out for myself. No one ever had to convince me to purchase the product. The product did that by itself.

On the other hand, if someone has to convince me to purchase a product I was never looking to purchase, or over a competitors, the product probably wasn't that great in the first place.

I think gizi's point is pretty good (I upvoted it), but he misses the case where a company has to do some heavily customization on its product to satisfy the customer's needs, which is often the case in enterprise sales. In this case, especially if the user is not technical, it's better to have face to face meetings to understand what the customer needs.
Digital communication still has a long way to go. If I'm in a room with two people, I can tell what they're looking at. If I'm in a video conference, I can only tell that they're looking at something on their screen. Humans are one of the few animals with a visible sclera, and I don't think that this is some kind of coincidence.
Use a pointer.
Missing the point... it's not about what they're looking at on screen, it's who they're looking at.
I see, but you used the word 'what' in your post :) I would propose that people can adapt the wa they communicate to overcome these obstacles. Or in the near future when good VR headsets become reasonable, we could meet in VR conference rooms!
Well, one of the mantras of remote working is that you need to share at least 6 hours between all devs. It doesn't limit your timezone: I love working at night, so even if I am in Europe, my timezone is basically the north American.

That being said, I still don't get what's wrong with videocall: share screen, facial expression and microphone and you are good to go. It's like a booster: I was stuck in an ugly bug for 2 days, we made videocall and took care of it, works great.