Remote is different than in-person.
Managing is different for remote vs in person.
Trying to run the remote team like you did in-person is going to wear everybody out.
Here's what I learned running a team of remote software engineers.
Part 1: Meetings
Being on zoom calls has a high mental and emotional tax. But I don't think that's the whole story. I think meetings have always taken a high mental and emotional tax. Especially for introverted folks (hello - lots of devs). Moving all our meetings to zoom made it clear that they are taxing.
Meetings are very valuable for things that can't be hashed out efficiently async. They provide an on-line high bandwidth communication that can quickly uncover new information and ideas that would otherwise stay buried. Given their high cost, make sure there is matching benefit.
Here's what has worked:
- Default to sharing communication in async forms - Slack, Notion
- Limit standing meetings to the absolute minimum. (nix that stand-up call!)
- Do the pre-work (and get others to do it too). A (collaborative) document with goal, agenda, desired outcome, should be shared with attendees a few days before the meeting. Ask people to add their relevant details in advance so everyone can come to the meeting with the same context.
- Default to 30 min or less. If the meeting is booked for more than 30 min, go back to step 3 and do more prep. If the meeting looks like it will go over, use the last 5 minutes to set next steps to be done async (you'd be surprised how often this can replace an extended meeting).
- Make sure to document outcomes in the notes, share with all stakeholders (or make accessible to whole team) afterwards. We use a shared Notion workspace with a page that has a list of all meeting notes for the eng org.
What meetings are needed?
- Bi-weekly high level update. Each project team shares demo of progress, what they finished, what's next, and what risks/blockers remain.
- Each project team meet once a week to get into the details of their project.
That's it! Everything else can happen async or ad-hoc.