Suddengly managing a remote engineering team may seem like a daunting situation, one which many people are suddently finding themselves in as tech companies institute sudden “work-from-home” policies in response to the Corona virus. If you find yourself in this situation don’t panic. Managing remotely is not significantly different than managing in-person, and your already existing good management and communication habits will greatly help. Nonetheless, I thought I might be able to help newly remote managers by hosting an open office hours, with the first experimental session yesterday in the afternoon PST.
I am not sure what is the right cadence might be to host these in the future, but if you’re interesting, I wouldn’t mind your feedback on this doodle poll.
I did not, and will not record these meetings, as I want to ensure that it’s a safe space to share ideas. The notes however are safe for sharing, and are listed below. I have also included some of the brainstorming notes I did ahead of the office hours at the bottom of this post. Those potential topics would be good to dive deeper into for future office hours if this idea works out.
Notes
- Managing across a massive timezone spread, e.g. Taiwan to Kiev
- Easier working with people that are already familiar with self-directed open source project processes
- Having people working on non-overlapping projects helps quite a bit
- “Any changes an org needs to make to support remote workers, benefits the entire group”
- Removing gatekeepers enables remote people quite a bit, but also in-office people
- Sometimes worth focusing on zero overlap, and having everything written down between people
- Things that might be able to go back and forth over a couple hour period might otherwise take a few days, given the back and forth
- Managing cross-team dependencies when different teams have different priorities
- (In FreeBSD Foundation) Being selective on the kinds of projects that are taken on which have limited external dependencies
- Investing in automation and tooling can have a broader improvements for decoupling dependent teams or people
- Lots to learn from open source communities and how they work together
- Growing a remote team from scratch
- Defining the job requirements is important to have the right level of details but not overly vague and not overly specific
- Having a co-op/intern pipeline helps quite a bit
- Leads to a very long hiring pipeline, significant investment
- Great to hire early-career people
- Concerns about hiring early-career people into remote work
- Challenging to draw the lines between “work” and “life” can be especially difficult for those new to professional life
- Discussions worth having with people who are later in their career who are transitioning to remote
- It can definitely work, so long as the engineering manager understands the level of effort involved to help the employee succeed.
- Helping the employee learn the right boundaries for asking for help, escalating, etc
- Learning the right judgement for asking to help
- Feeling like you’re able to ask for help, having that psychological safety to ask for help or admit limitations
- Not everybody will feel comfortable vocalizing “I’m stuck” or “I don’t know”
- Not everybody knows when to stop “sitting and trying to solve” the problem
- “It’s amazing the lengths I went to, to not disappoint somebody when I was just starting out”
- Helping the team understand one another as people, rather than just some IRC nick that reviews my pull requests
- Remote hiring concerns
- Logistical concerns: handling the potential influx of candidates from a large audience
- Without much of a hiring process in place already, there’s a challenge to finding people without much of a organizational infrastructure to perform a “bigger” interview process
- Need to share the Automattic (?) approach for “try-before-you-buy” on hiring people on 90-day project-based contracts
- This blog post has a good overview on the policy in practice.
- How many initial rounds would you do for each offer
- 15:1 for Tyler
- Lots of variance depending on the type of position, some roles will self-select for a smaller pool of candidates.
Potential Discussion Topics
Remote-friendly Collaboration Tools
- Standups and daily rituals
- Pair-programming when you’re not in the same place
- Video conference tools
Running effective remote meetings
- Meeting notes in Google Docs / Confluence
- Everybody on the “live-edit” mode, contributing as we go along
- Video-on
- Meeting leader to recognize speakers
- Avoiding one speaker dominating the entire discourse
- Handling “partial-remote” meetings.
- One where a group of people are in an office, and everybody else is remote
- Always explicitly ask for responses/questions from remote people before people in the room.
- Headphones required:
- Participants not using headphones cannot hear social cues of others speaking, and will bowl over the discussion
Managing Performance
- Working across timezones and adjusting expectations on responsiveness
- Code-review cycle times, etc
- Helping developers manage their home work environment
- Reducing distractions / maintaining focus
Dealing with fear/concerns related to Corona
- Empathy while avoiding overhyping or fear-mongering is challenging
- Managers have a dual responsibility to be true to their employees, but to also represent the company and help dutifully enforce company policies. Can be a tricky line to walk in emotionally charged situations
- Different people will be affected differently
- Those from or with family in China, Iran, etc, may have a much different view or level of concern than somebody based in the suburbs of North America
- Face-time is important
- Email or Slack blasts might get the information out, but communication is a two-way street. Making time to listen is just as important.
Remote Interview Pipeline
- “Whiteboard” oriented interview sessions
- Moving interviews with candidates into a fully remote session
- Preparing the interviewers for a remote interview, especially if they’ve never done it.
Remote Fun and Not Strictly Work Related Things
- Important to maintain the “social glue” of the team even if you’re not all in the same place
- Talk about “Bring Your Own Beverage” Google Hangout to just talk about cats, kids, and anything not work related as a team
- Multiplayer games to unwind.