Add the management coaching post

This commit is contained in:
R. Tyler Croy 2017-09-24 13:11:06 -07:00
parent 84b9c1f68a
commit edf636e71b
No known key found for this signature in database
GPG Key ID: 1426C7DC3F51E16F
2 changed files with 126 additions and 0 deletions

View File

@ -0,0 +1,126 @@
---
layout: post
title: "I am working with a management coach"
tags:
- opinion
- management
---
Practically every professional developer can name a great, and a terrible,
manager they have worked with in the past. Good Engineering Managers are kind
of like the bass line in a song, you might not notice them when they're there,
but something will definitely sound wrong if they're absent. For one reason or
another, I have somehow ended up leading a team or acting as an Engineering
Manager at each of the four companies I have worked for over the past decade.
As time has progressed, I have become increasingly aware of "management" as a
skill, rather than some intristic talent. A skill which can be practiced,
honed, and improved upon.
Most "new" Engineering Managers in startups seem to be individual developers
who are promoted (or demoted depending on how you feel about it) into the
position because of their technical acumen. I think this is how I have ended
up, against better judgement, in the position of Team Lead or Engineering
Manager in the past.
Being technically skilled doesn't mean **jack shit** with regards to becoming a
good Manager. _However_, being a good developer _does_ hold some correlation
to management potential. In case you've missed the memo, a "good developer" is
someone who:
* Understands, and can internalize, the problems which need to be solved.
* Is proficient with the technologies being used to solve those problems.
* Capable of brokering consensus among a team of other developers to solve
aforementioned problem.
* Able to communicate and document the problem and architecture for the
solution.
* Can collaborate outside of the team with others in the organization to ensure
the solution(s) are in line with other projects in development.
I think the list could probably be longer, but you get the point. Skilled
development is less about writing code, and more about collaboration with
other people.
The problem with that promotion from Developer to Manager is, unfortunately,
that being a good Manager is all of those qualities cranked up to eleven, with
additional responsibilities like: career growth, budgets, and other boring
nonsense thrown in. As if that wasn't bad enough, nobody talks about, or trains
you to be a good Manager. Most of the good Managers I have worked with were
fortunate enough to work with "good Managers" in the past.
Most of the "bad" Managers I have worked with fit into one of two categories:
1. Developers unwilling to take on the Management duties either because of
disinterest or a complete lack of understanding of the role and
responsibility.
1. Incompetent, and unable to learn/improve/etc.
Personally, I don't know if I am a good Manager or not. But I do know that I
have been _working_ at it, and I believe that I am getting better.
The fundamental shift in thinking which I experienced was to understand that:
**Management is a skill just like building software.** If you don't work at it,
you'll never get better at it.
---
One of the hardest parts about being a Manager, or a leader, in
any hierarchical organization is that it can feel "lonely." You become the
"One" in the "One-to-Many" relationship. This can not only be personally
isolating, it also means you might not be learning from your peers in the
organization.
My mind sometimes goes to this famous photo of John F. Kennedy during the Cuban
Missile Crisis:
<center><img src="/images/post-images/management-coaching/loneliest-job.jpg"
alt="The Loneliest Job in the World"/><br/><strong>"The Loneliest Job in the
World"</strong></center>
Spending your day between hearing, mostly justified, complaints from your
direct reports and arguing with Product Managers who want to squeeze every last
bit of Feature out of your developers, consequences be damned, can be extremely
isolating and exhausting. In the past I have felt, at times, besieged by
everybody around me.
The upside of being a Developer is that I can dump problems on my Manager;
downside of being a Manager...
---
It took me a while to fully understand how ill-equipped many of us are
for the role of Engineering Manager. Fortunately over the past 7-8 months, my
employer has been paying for me to work with a Management Coach. My Coach has been
extremely helpful to bounce ideas off of, to discuss situations which I need to
address, and to provide mentorship, all to help me become a better Manager.
Working with a Management Coach alone hasn't been sufficient, but it's
definitely helped frame my thinking. I have also read more books about
organization psychology and structure over the past 8 months than at any point
before. Additionally I have spent probably more time than at any time in my
career proof-reading emails, mentally playing out scenarios, or having
arguments with myself, attempting to provide both perspectives.
Unintentionally I have also started _talking_ with my fellow managers more than ever
before. Rather than only talking with my peers about projects, deliverables, or
misbehaving reports, we're talking about Management itself.
Setting aside whether I'm actually a good Manager or not, all of a sudden, I'm
able to employ many of the same techniques that made me a good developer. A
little bit of research, mentorship, and experimentation.
---
Management is difficult. Management is having uncomfortable discussions.
Management is bridging the gap between policy and understanding. Management is
helping people succeed. Management is growing others. Management is recognizing
each instrument must collaborate for the orchestra to work.
For me, the catalyst for my mindset shift was internalizing that: **Management
is a skill**.
Find a mentor, find literature, find peers to bounce ideas off of.
Nobody deserves a bad Manager.

Binary file not shown.

After

Width:  |  Height:  |  Size: 92 KiB