4 ms·
GitHub is a pretty amazing company and story. Their culture, the tools, etc are all very inspiring, and the whole community definitely benefits from their exper
by apinstein 13y ago
GitHub is a pretty amazing company and story. Their culture, the tools, etc are all very inspiring, and the whole community definitely benefits from their experiments. This meme always gets me thinking about how to attract the best talent for our company.
That said, holding them up as a model of how to build a tech team never quite feels like a good idea.
GitHub is a developer product, built for developers by developers. That essentially makes all of their employees domain experts in the product as well. They can also robustly dog-food their product. Both of those factors in my opinion make it much easier to have a successful distributed team. They can trust everyone to make good decisions absent a strong product team.
I've worked at 5-6 different startups with varying levels of distributed teams and never felt that distributed communication of product, architecture, etc was ever as productive as with the co-located teams. Trying to involve the remote people always felt like "extra work" and it wasn't a smooth process.
I would be very curious to hear from non-developer product companies about their successes (or failures) with remote teams. Are new tools like Google hangouts, shared whiteboards, and github really enough to allow you to have a productive product/engineering team?
- ilaksh 13y agoDid you have a shared chat room and use it?
- apinstein 13y agoWe have tried that for the local team but it didn't get used despite trying 3-4 different chat tools (IRC, HipChat, I forget the others). People end up talking in person b/c it's easier.
- ilaksh 13y agoLOL why didn't you try it for the remote team??
- apinstein 13y agoAt the time I had lots of remote teams, those tools didn't exist. This is why I'm asking for counter-examples. The few times I have done remote teams it has always devolved into the expected problems. I want a non-GitHub example of someone that makes it work.
- jacobparker 13y agoMozilla
- jmccree 13y agoIf you have to do "extra work to involve remote people" you don't have a distributed team. Adding remote members to an on-site team that works like an on-site team seems unworkable in my opinion. You can have remote developers that get assigned work like a contractor, but IMHO a remote developer can never truly be part of a team that functions like an on-site team. Now, a truly distributed team is a beautiful thing and can in my experience outperform an on-site functioning team. I've worked on highly performing distributed teams that only saw each other in person once or twice a year. When a distributed team has a conference call, everyone generally calls in individually from their own phone/skype, even if some are in the same room. A distributed team working in an office uses the office more as a private co-working space. The key tool in every distributed team I've ever worked on is chat, usually IRC. The great thing about chat is that it's asymmetric communication, but targeted and instant unlike email. In a distributed team, I can throw out a question on irc without worrying about interrupting anyone or throwing someone out of the zone by tapping them on the shoulder. A lot of non blocking discussion happens throughout the day that prevents having official meetings. If a company genuinely wants to move from functioning as an on-site team to functioning as a distributed team, I'd suggest everyone on site rotate taking a week and working remotely, especially management! It can't feel like you are doing extra work for the remote members, but that you are changing your team to work in a distributed manner for the benefit of everyone.