I bet that every engineering manager is guilty of at least 5 of those 10 behaviors:

  1. Ignoring destructive behaviors

  2. Trying to please everyone

  3. Fighting too hard for your principles

  4. Not spending time building relationships

  5. Defining your role too narrowly

  6. Forgetting your manager is a human being

  7. Neglecting Personal Development

  8. Only managing down

  9. Only managing up

  10. Never managing up

Today I’ll share how each behaviors make you ‘stuck’, and how can you ‘unstuck’ yourself.

The article is based on a chapter from Will Larson’s “An Elegant Puzzle: Systems of Engineering Management”, with some of my own changes and additions. All quotes (in blue) are from the book.

1. Ignoring destructive behaviors

Choose your favorite aphorism: Silence is consent. What you permit, you promote. The standard you walk past is the standard you accept. I found all of them to be true :)

Calling out the bad behaviors of your developers is VERY hard, especially if they are your former peers.

It can be anything, from small things such as:

  • Complaining about everything

  • Cursing

  • Being constantly late

To really destructive ones:

  • Constantly interrupting the junior developers

  • Talking shit about people in the company

The longer you ignore a behavior, the harder it is to talk about it. It’s much easier to give feedback for a ‘new’ behavior. When you prepare for a conversation about something the other person has been doing for months, the first question will be: “Why now? I always behaved like that!”.

Believe me, NOW is always the best time to have those conversations, no matter how much time has passed. You’ll always regret not doing it sooner. The developer won’t just magically change their behavior one day.

2. Trying to please everyone

Most decent human beings want to be loved by their environment. Most managers are decent human beings.=> managers want to be loved.

Our first instinct to be loved is to try to please everyone.

  • Does a developer have an idea? Encourage them even if you think it’s a bad one.

  • Your PM sets an unreasonable deadline? Agree to not disappoint them.

  • Your manager wants you to hire another engineer? Go for it even if you don’t feel it’s the right time yet.

You’ll have to learn to disappoint people and stand your ground.

3. Fighting too hard for your principles

I’m a morning person. I work at a company with a hybrid model, 2 days from home and 3 days from the office. In the office days, I arrive around 8:30, and our daily standup meeting is at 10 AM.

It used to drive me absolutely nuts that some people were not arriving in the office for the time of the standup and joining in Zoom… I mean, come on. It’s 10 AM. Our official hours (in the contract) are 9 to 6. Before the COVID days, there was no Zoom link, if you were late you missed the standup.

As you can see, I can get emotional about it 😅

I had a hard time accepting that some people are just not morning people, and I drove them hard to be on time.

Eventually, I understood it was just not worth fighting for. I asked myself: “Why is that so important to you?”. The answer was: “Because the meeting is more efficient when everyone is in the same room!”. But honestly? It doesn’t matter that much. If it’s easier for the people, why can’t I be flexible?

Note - in some cases, it’s worth the fight, you shouldn’t be afraid of insisting on what is important to you. For example, on the planning days, we start at 9:45, and I think it’s important we all be in the office. I just deleted the Zoom link. Everyone arrives on time in those days, in 100% of the cases.

4. Not spending time building relationships

An engineering manager usually focuses on 2 relationships outside their team:

  • Their manager

  • The PM

Those 2 are the most important ones, but it’s just the start!

What about:

  • Your peers

  • The technical support team

  • The customer success team

Your team’s impact depends largely on doing something that other teams or customers want, and getting it shipped out the door. This is extraordinarily hard without a supportive social network within the company.

This requires your focus and your time. Have 1:1 meetings with key people, and do what you can to help them.

5. Defining your role too narrowly

Every engineering manager has a ‘strength’, an area they are better at. covered the 3 main areas in ‘The manager, the mentor, and the leader’.

So if you are more into processes and also act as the scrum master, you might spend all of your time on that.

If your strength is technical, you might espace back to writing code any chance you get.

If you enjoy mentoring your team, you might neglect the process and the product-related work.

We fall in love with our strength, and start to define ourselves by it, such as:

  • I’m a people’s person

  • I’m a hands-on manager

  • My team always delivers on time (that’s mine)

To overcome it, you need to constantly assess what is currently the weakest area in the team, and dive deeper there:

Effective managers are often the glue in their team, filling any gaps. Sometimes that means doing things you don’t really want to do, in order to set a good example.

6. Forgetting that your manager is a human being

This one I’ve been guilty of in all of my past roles…

It’s easy to get frustrated with your manager when they put you in bad situations, forget to tell you something important, or commit your team to something without consulting you, but they almost certainly did it with the best of intentions.

To have a good relationship with your manager, you have to give them room to make mistakes.

7. Neglecting Personal Development

Your team is doing great. You deliver on every promise, and your people are happy. But what about YOU?

You become so focused on the day-to-day you forget to spend time on your own growth - leading to stagnation and burnout.

Everyone has their own favorite methods to learn and grow. Choose yours and make sure you spend time on it:

  • Industry conferences

  • Business trips to customers

  • Reading books and articles or listening to podcasts

  • Online courses to learn new technology

  • Hands-on tasks

8. Only managing down

This often manifests in building something your team wants to build, but which the company and your customers aren’t interested in.

I’ve seen it happen quite often, especially with newly promoted team leaders. You want to build the trust of your team, so you fight for their ideas, even if they don’t have any connection to the business.

Even if you ‘win’, and you get to do that 3-month refactor, it’ll cost you in the long run.

9. Only managing up

The opposite case happens when you have a very strong manager, who you respect and admire. They have some agenda they want to push, and you blindly follow along.

It might be ok if you believe in that agenda, but you must spend time communicating the reasons to your team. Say too many times “because the management wants so”, and there will be no team left.

Some managers focus so much on following their management’s wishes that their team evaporates beneath them.

10. Never managing up

It’s the last on the list, but very important!

Your team’s success and recognition depend significantly on your relationship with your management chain. It’s common for excellent work to go unnoticed because it was never shared upward.

You may be an introvert, who doesn’t believe in making a fuss. You hate attention, and you prefer to deliver great work behind the radar.

Remember, you don’t work in a vacuum. When you want to get raises or promotions for your team, if nobody knows how great they are - they won’t get it.

It’s your job to be the “Minister of Foreign Affairs” and make sure to find opportunities to showcase your team’s successes.

What I enjoyed reading this week

Reply

Avatar

or to participate

Recommended for you