mirror of
https://github.com/zaphar/jeremy.marzhillstudios.com.git
synced 2025-07-21 19:29:48 -04:00
First draft of article on remote engineering management.
This commit is contained in:
parent
f5fbc4c16e
commit
0a968d5fc2
97
content/remote-managing-engineers.md
Normal file
97
content/remote-managing-engineers.md
Normal file
@ -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.
|
Loading…
x
Reference in New Issue
Block a user