Second draft of the remote-managing-engineers post

This commit is contained in:
Jeremy Wall 2020-05-16 20:39:04 -04:00
parent 0a968d5fc2
commit 098847ad57

View File

@ -6,41 +6,50 @@ draft = true
tags = [
"teams",
"management",
"remote"
"remote",
"work",
"covid19",
]
+++
# If engineering management is hard try doing it remotely
# I'm a Remote Manager now
**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.
when working from home. 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
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.
poses new challenges.
# Good remote management is just good management
**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.
engineers in order to facilitate all of the above. These same principles that
make a remote team successful also make all engineering teams successful.
Mastering them when you are remote managing will only make you more successful
when you are local.
# Autonomous decision making
# Principles of Remote Management
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.
decision making and autonomy. You can't be as available for the quick
clarification or immediate permission seeking. You need your team to have the
tools required for autonomy in their decision making. In my [previous
article](@/engineering-managment-is-hard.md) article I mention how important
narrative and identity are in engineering management. When managing remotely,
It's crucial. They can't just stop by your desk to ask a question. You won't
overhear conversations at desks when you walk by, and neither will your team
members. Many of the tools you used to promote a team identity and culture are
harder when you are remote.
## Written communication
@ -48,50 +57,68 @@ 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.
easy to find. When the team meets in a video conference make sure that someone
is keeping notes that can be disseminated after the meeting. It helps keep
those who had audio issues or weren't able to make it keep in sync on the
decisions. This all helps the team to understand how you see the teams identity
and the narrative you wish to craft.
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
## Consistency
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.
Being remote magnifies inconsistencies in your communication. You have 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.
need for your involvement 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.
Lack of a physical presence is a barrier that must be overcome. You need to
find ways to be available to your team through as many virtual mechanisms as
you have. Management tends to be more interrupt driven than software
development is. Have virtual office hours. Hold training sessions over Video
Conference. Pair with team members over Video and a shared screen. Whatever you
do don't miss your one on ones with the 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 it.
# Building trust
## Build 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.
The foundation of an effective remote team is trust. It is much harder to build
trust without a physical presence. A lot of trust gets initially built via
non-verbal communication like 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.
Demonstrate follow through in what you commit to do. Don't promise something
you can't deliver and be frank about it when you mess up. Honesty is key to
success. When the team learns they can trust your word they will get more
comfortable.
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.
which leads to more trust in both directions.
# Final thoughts
If your reading this and thinking "This is just good managment in general",
then you are absolutely right. Most of what makes a good manager is also what
makes someone a good remote manager. The only real difference is that any
failures in these principles is magnified when you are remote. But if you can
excel at it then some of the benefits can be incredible. Engineers who are
remote get more deep focus time than in the typical open plan office you have
today. If you can nail the team identity and narrative and keep everyone on the
same page then productivity on your team might just skyrocket.