| What has worked for my (mostly) remote team is a mix of different tools for different communication needs: - Daily standups on Zoom. Each person's standup should be short and to the point. Don't be afraid to tell people they're getting into the weeds. If more open-ended discussion needs to happen, interested parties should either 1) stick around after standup or 2) schedule a new meeting to discuss in greater depth 3) start a Slack thread to discuss. - Weekly code syncs to go more in-depth as a team, make sure we're rowing in roughly the same direction, and knock out decisions in minutes that would take days on Slack. This is especially valuable when building new products or refactoring. - Weekly office hours held by senior+ level engineers to give more junior engineers an opening to ask questions. - Weekly architecture meetings to formally discuss sweeping technical changes that impact multiple teams in a meaningful way, e.g. migrating to a language For me it has been less about "email bad" or "Slack good" and more about asking questions - "What is the right medium for this type of conversation and our culture as a team?" or "What is the right tool for the job?". It's also an answer that evolves as the team/company grows; you have to reassess every few months and make adjustments. There's also a question of culture and setting expectations that might be at play here. - For the people answering questions, are they passionate about teaching? Do they feel incentivized/recognized for being active in answering questions? Do they have the bandwidth to help others? - Are those asking the questions asking good questions? Are they respecting the time and attention of those trying to help them? |