From 0a968d5fc2eec3858a7e9a4d0b044e90bdcdfe63 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Wed, 13 May 2020 20:39:49 -0500 Subject: [PATCH] First draft of article on remote engineering management. --- content/remote-managing-engineers.md | 97 ++++++++++++++++++++++++++++ 1 file changed, 97 insertions(+) create mode 100644 content/remote-managing-engineers.md diff --git a/content/remote-managing-engineers.md b/content/remote-managing-engineers.md new file mode 100644 index 0000000..097377a --- /dev/null +++ b/content/remote-managing-engineers.md @@ -0,0 +1,97 @@ ++++ +title = "Remote Managing Software Engineers" +date = 2020-05-13 +draft = true +[taxonomies] +tags = [ + "teams", + "management", + "remote" +] ++++ + +# If engineering management is hard try doing it remotely + +I'm one of those people who enjoys working from home. I'm just introverted +enough and have enough focus that working from home is kind of my ideal state. +I'm also a manager now though and that adds a whole dimension to working from +home compared to being an engineer. It's no longer about your effectiveness +when working from home. Now it's also about how effective your team is in a +remote situation. + +In this CoVID19 world we find ourselves in, many software shops have found +themselves suddenly transitioned into a full remote working environment. This +poses new challenges. I've been thinking about this lately and wanted to note +my thoughts on the matter. + +# Good remote management is just good management + +Many of the things that make for good remote management of software engineers +are also just good management practices. You need to empower your engineers to +make decisions autonomously. You need to be able to trust your engineers and +you need them to be able to trust you. You need regular communication with the +engineers in order to facilitate all of the above. + +# Autonomous decision making + +Remote management requires giving your team a clear mental framework for +decision making. In my [previous article](@/engineering-managment-is-hard.md) +article I mention how important narrative and identity are in engineering +management. It's critical when managing remotely. You will be less present to +your team physically. They can't just stop by your desk to ask a question. You +won't overhear conversations at desks when you walk by and many of the tools +you used to promote a team identity and culture are harder when you are remote. + +## Written communication + +Written communication can go a long way to giving your team a reference for +decision making. Keep a blog or send out weekly and monthly memos with your +perspective on the state of the team. If there are policies or processes that +are required for the team to follow, make sure they are clearly documented and +easy to find. When teams meets in a video conference make sure that someone is +keeping notes that can be recorded after the meeting. It helps keep those who +had audio issues or weren't able to make it keep in sync on the decisions. + +Written communication helps keep the mental framework the team uses for +decision making stable. If there are disagreements among team members then +documented policies and processes give them a way to resolve the disagreement +quickly by referring to that documentation. + +## Consistenct Communication + +Being remote magnifies inconsistencies in your communication. It's important to +be consistent in how you apply the principles that define your teams identity. +If you change how you make decisions every week then it's difficult for your +team to learn how to make decisions on their own. They'll continually be +referring decisions to you and you'll find yourself micromanaging. +Micromanaging a team is nearly impossible to do when working remotely. + +Give your engineers a way to reliably make decisions that won't surprise you or +other team members. If they have a consistently communicated framework for +decision making then they will be able to make decision without fear and the +need for you to be involved will be reduced. + +## Be virtually present + +Be available to your team through the various mechanisms for communication your +team has. Management tends to be more interrupt driven than software +development is. Have virtual office hours. Hold training sessions. Whatever you +do don't miss your one on ones with people you manage. It will take time for +them to build that mental framework for autonomous decision making and there +are no shortcuts. Make sure your team can access you when they need to. + +# Building trust + +It is much harder to build trust without a physical presence. A lot of trust +gets build via body language. You will have to work harder to build that trust +when remote. The above points about regular consistent communication are +critical to your ability to build trust. You also need to demonstrate follow +through in what commit to. Don't promise something you can't deliver and be +frank about it when you mess up. + +When the team learns they can trust your word they will get more comfortable. +This forms a feedback loop into their autonomous decision making. When they +feel like they can trust the foundation they'll walk more confidently and make +better more consistent decisions. That in turn will cause you to trust them +more as well. Clear consitent communication leads to consistent decision making +which leads to more trust in both directions. \ No newline at end of file