From 750c51081d6c2cc300f9a0c53bf595b55c88b3e3 Mon Sep 17 00:00:00 2001 From: Jeremy Wall Date: Sun, 19 Apr 2020 13:11:52 -0400 Subject: [PATCH] Draft of engineering management is hard article --- content/engineering-managment-is-hard.md | 170 +++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 content/engineering-managment-is-hard.md diff --git a/content/engineering-managment-is-hard.md b/content/engineering-managment-is-hard.md new file mode 100644 index 0000000..3882ddc --- /dev/null +++ b/content/engineering-managment-is-hard.md @@ -0,0 +1,170 @@ ++++ +title = "Engineering Management is Hard" +date = 2020-04-19 +[taxonomies] +tags = [ + "teams", + "management", + "culture", +] ++++ + +# Learning to be a manager + +I'm about 80% manager these days. Some time ago I took on the role of Manager +at my current place of employment. This is a role I would have sworn I never +wanted to have 7 years ago. But life experience has a way of changing how you +feel about certain things. Before joining this company I experienced one of the +least competent engineering managers I had ever worked with. Up to then I had +had some sub-par experiences but never true incompetence. I realized that I +needed to better understand what an engineering manager needed to do. I needed +some survival skills and the best way to do that is to learn on the job. If I +got a chance to experience some of that in future roles I decided I would take +the opportunity. So here I am with a role that is 80% managment and 20% +technical. In theory I think it was intended to be 50/50 but reality differs +quite a bit. + +> Engineering Management is hard + +Engineering Management is **hard**. I don't think I realized just how hard +until I experienced it for myself. Some of the problems are fundamentally +unsolvable. The most you can hope for is to manage and mitigate the fallout. +You can't just hack your way around people problems and management has a +considerable amount of people problems to solve. I've been learning a lot in my +on-the-job training experiment. I'd like to talk a little about what I've been +learning. + +# Communication + +> You are a conduit between the needs of the business and the capabilities +> of the engineering team + +In many ways being an engineering manager is about being a translator. You are +a conduit between the needs of the business and the capabilities of the +engineering team. Walking a fine line between what the business needs to stay +in business and what it takes to create scalable technology is not an easy +task. You have to tell both sides no sometimes. They usually don't want to hear +it when you say no. I've learned that honesty, transparency, and tact are the +among the most important attributes of a good manager. + +## Honesty + +It's important not to promise what you can't deliver for either side. Don't lie +to your engineers about when and how you'll be able to tackle technical debt. +Don't promise procedural changes that you can't realistically deliver. Be +honest about what you are empowered to accomplish. Be realistic about the +capabilities of the team to the business. Don't oversell and don't undersell. +If you lose the trust of either side you will be ineffective in your role. + +> People appreciate it when you are honest about your failings +> and diligent in addressing them + +Come clean when you mess up. You aren't any more perfect than the next guy. +Sometimes you'll drop something on the floor. When it happens acknowledge that +it was your mistake and work to address it. People appreciate it when you are +honest about your failings and diligent in addressing them. It gives them faith +that you will be honest with them and they can trust you. + +Being transparent when you can and being forthright about it when you can't be +transparent are important. Everyone like to understand the reason for decisions +that they don't like. If they are able to put those decisions in context it +goes a long way toward calming them and helps them to see whether there is a +light at the end of the tunnel or not. They understand that you can't always +share everything with them but they appreciate it when you are honest about +that handicap and when you share what you can. + +## Tact + +Being honest doesn't imply you need to be harsh. It is possible to deliver +the truth without triggering an unnecessary negative emotional response. Your +goal should be to ensure that any emotional response is derived from the factual +content of your communication and not the method of delivery. This can be harder +than it sounds. Trying to eliminate any emotion from you delivery can be just as +bad as including negative emotion. + +> I have found that focusing on empathy is helpful + +I have found that focusing on empathy is helpful. Understand how your audience is +going to percieve the news you need to deliver. It goes a long way when it's clear +that you understand the impact the news will have. Empathy can inform which type +of emotion you should inject in your delivery. + +Be sure to listen as well. In many ways listening does as much as to give people an +impression of tact as your delivery does. Follow up you delivery with an opportunity +to listen and see how it was recieved. + +# Team Culture + +By default culture flows from the top down most of the time. And for a team you +are managing you are the source of that flow. You have an outsize impact on +your teams culture. If you are negative then your team will tend to take on a +negative attitude. If you are positive then your team will tend to take on a +positive attitude. I've been thinking a lot lately about what you can do to +create a good team culture. + +## Identity + +What is your teams engineering identity. Are you a quality at all costs team or +are a ship it and fix it if it breaks in prod kind of team. Do you value unit +testing or do you get more value from Manual QA? Is CI/CD in your DNA or are +weekly deployments better for your team? What about developer tooling? Is it +everyone for themselves? Is tooling first class part of your teams identity. Do +you tend toward build or buy? + +> Your goal is to be in a position where you don't need to micro-manage your team + +You should be clear about your teams identity. This will give guide rails for +your developers and team members. They will know what mental framework they +should use when making decisions. This will free you from having to be involved +in the minutia. Your goal is to be in a position where you don't need to +micro-manage your team. + +## Narrative + +Your goal should be to craft a narrative that is positive, believable, +consistent, and evolving. + +Your narrative should be positive.You don't want a narrartive that is framed as +us vs them. Something I've seen before in engineering organizations. You want +it to focus on how the team can be productive and make the business successful. + +> If you aren't honest in your narrative then the cracks will start to show + +A good narrative is believable. A narrative that everyone can buy into. Telling +a story about where the company is going and how the team will be able to +contribute to it does wonders for team cohesion. Make sure that the story is +accurate and not a fabrication. If you aren't honest in your narrative then the +cracks will start to show and people will start to share their own narrative. A +narrative that in many cases leads to bad places for the team. + +> If parts of your narrative are in conflict with itself then the +> team won't know how to be self directed + +An inconsistent narrative, will kill productivity. If parts of your narrative +are in conflict with itself then the team won't know how to be self directed. +They'll be backtracking all the time and it will appear to them that the ground +is shifting under their feet. If you craft a good narrative then the team will +have a shared story. They will know where they fit. A team with a consistent +shared story doesn't surprise you and is self-directed. + +> Acknowledge that there is change and we need to adapt to it + +Narratives need to change and evolve. When this happens be transparent about +it. Acknowledge that the environment is changing and we need to adapt to it. +Acknowledge when something isn't working for whatever reason and get consensus +on how to change it. Don't try to shoehorn the changes into the old narrative. +Be transparent that the narrative has changed. + +# Potential Impact + +> You can be the difference between a good work environment +> for employees and a bad one + +If the above challenges appeal to you then you might be interested in some +managerial roles. The impact you can have on a team and a company in many ways +make it worth it. You can be the difference between a good work environment for +employees and a bad one. You have the potential to remove barriers to +productivity for a team if you do it well. If you do it poorly though you could +be the reason a team's productivity stalls. The risk/reward here is +considerably different than any other role I've had. I can do great damage or I +can be a force multiplier like no other. \ No newline at end of file