I lost a good manager at work recently (we’ll call him “Mike”), as he left for a new challenge. Honestly, as someone who grew up in the military and said “Hi” and “Goodbye” to people with regularity, I’ve generally reacted to someone “moving on” (including myself) as a “non-event”. It’s just been part of my life forever. And yet, I dare say I felt some sadness with him leaving. That made me reflect on some of the factors as to why this is true.
For the first time in quite awhile I’m working with people I respect, like, and want to work with indefinitely (which can be a rare combo). We all have strengths and weaknesses, but we’re accepting of that. The team lets members “stretch their wings” as they desire, and this manager allowed and encouraged this happening. A manager that is so focused (or even solely focused) on getting features out the door as fast as possible doesn’t engender any real loyalty in me. Yes, I’m aware of business realities, but I’m a professional…and I can be focused on that while really enjoying working with my co-workers at the same time.
Firm, Friendly, and Fair
Most of the managers I’ve worked with were “nice people”, often to the point that they were nice above all else…avoiding confrontation with the development team, not being a part of resolving conflict, and not challenging (sometimes ludicrous) assertions that we as a development team make. That’s not healthy, and it’s definitely not a sign of a good relationship. My relationship with my spouse as well as with any true friends doesn’t just stay in a “happy place” all the time.
Willing to Dig In
I wouldn’t say that it was a requirement of a manager to be a “former engineer”, and I definitely don’t want a manager that is a peer developer. However, I find the most effective managers to be ones that haven’t completely forgotten their “development chops”. They can smell a really bad development decision (“We need to refactor or re-write this whole app”) when it’s being presented. They probably aren’t involved at “the PR level”, but they can help steer the proper development direction. This particular manager (“Mike”) was not so much a coder any more, but he did occasionally do some DevOps work when it interested him, did not get in the way of what the team was doing, and when it would be helpful.
Those are some of the key attributes I think about when I think about “Mike” and the better managers I’ve worked with. It’s not an exhaustive list. I also won’t pretend that I’m some model employee, either. It’s not easy to be a great manager or a great employee. Both require some intentional thoughts and actions.