A Engineering Manager's Guide to Managing Effectively

Mastering the art of managing a team goes beyond structural efficiency. Learn the essential skills of prioritizing and delegating effectively to create an environment where everyone can shine.

A Engineering Manager's Guide to Managing Effectively
Sunset among the high voltage transmission lines. Photo © 2023 Robin Monks.
This is the first article in my series on how to maintain work-life balance as a software engineering nanager. If you've not yet, I'd recommend you read the series introduction.

Engineering is a science of structural efficiency. Whatever you’re doing, there’s a good chance you could be doing it more optimally.

As software engineers adjusting to a management role, it can be tempting to think of a work team in a similar fashion to software: something that requires that sort of constant optimization, lest it end up as kludge.

The comparison is true up to a point, but going too far with it ignores some essential human elements that make working with people the social art that it is. Work teams do need care, pruning, and optimization.

However, unlike with software, much of this process comes down to being an efficient manager and then giving your team room to be awesome. Software will seldom surprise you pleasantly on its own merits, but people routinely can. You want to put yourself in the position to be pleasantly surprised, while mitigating risks of the opposite.

Setting yourself up for good things depends heavily on two core skills: prioritizing tasks appropriately and delegating them correctly. These two pieces are the “easy to learn, difficult to master” workhorses of efficient management.

Prioritize: Be Effective with Your Time

As a manager, using your time well depends on maintaining a healthy perspective about what matters, what doesn’t, and to what degrees. Your team depends on you to keep tabs on this, since individual members need their mental space available to focus on their tasks.

When you feel your project is behind, you can believe everything on your plate has the same importance. This is rarely true. It sounds cliché, but learning to focus is an essential skill, especially in management.

I used a system called Getting Things Done to help organize my daily tasks. In a nutshell, it’s a smarter to-do list with a few simple core ideas:

  • Anything you can do in less than 10 minutes, do now
  • Take all the things you need to do in your brain and write them down
  • List the next action for each of those things
  • Separate them into what’s actually urgent, what you need to do later, and what you want to do someday.

This worked for me because it let me get the small items out of my head and allowed me to focus. It also provided a daily opportunity to think about the next topic: delegation.

Ice at low tide on the Bay of Fundy. Photo © Robin Monks.

Delegate What You Can

Learning to delegate is the workplace version of learning to swim. It’s a useful skill for anyone regardless of role but is critical for management. As a manager, you can expect to spend a lot of time in the metaphorical water!

The first step to being effective at delegation is to be effective at communication. When you have an item you can delegate to someone make sure you’re clear with your expectations. Communicate your expectation, how to achieve it, and any deadlines. Also make sure you’re delegating to the right team member(s). In some cases, this will be obvious, but many situations can call for more consideration.

After you’ve delegated a task, give people space and let them work. My personal philosophy is to give people enough room to be awesome. No one grows if they are being micromanaged.

Important: not micromanaging doesn’t mean you should forget the task! You should follow up after a set period to check progress. Once done, make sure you’re also offering praise and both giving and taking feedback.

Between prioritization and delegation, you’ve got the core of efficient management. Now, let’s consider some of the pitfalls that can get in the way of this working well.

Spot Agile Traps

(I’m about to use a lot of jargon, and I’m sorry. Agile is 50% how to work and 50% talking about work using obtuse language. If you’re not in an Agile workplace skip to the next section.)

I see a lot of companies bolting agile ideas onto existing business practices. This tends to lead to weird hybrids where you have fixed scope, budget and timelines yet claim to be agile.

Agile embraces creation as an imperfect science. Because of that, using agile you can change priorities and develop in iterations. If after the first “sprint” you see a better path forward, you can take advantage. This sounds great to project managers until you tell them they have to give up their fixed scope to have it.

The agile method scales up and scales down the amount of stories in a given sprint based on story points. Because of this, you need to adjust this during sprint planning based on the team velocity. If all sprints start pre-populated and fixed this important readjustment often doesn’t happen.

Agile is a wonderful approach, but if managed poorly you can end up always feeling behind. That’s no fun for everyone. Look into the agile process some more, especially around story-pointing and sprint planning. Implementing a better agile process can ease the pain.

Beware of too much, too fast

Still not enough hours in the week to get what you want to get done, done? If you prioritized and delegated and are still too busy, then you need to change your expectations.

Yep, that’s it. No tricks, just reality. The pitfall here is in trying to force something to work when it won’t.

Working smarter is an equation with decreasing returns. There’s always a point where there’s too much work for one person, or for a team of a given size and capabilities.

Periodically re-evaluating the scope or timetable of a project is healthy. If defining scope and deadlines is up to you, make a habit of building such re-evaluations into your process. If it isn’t up to you directly, try to keep a good conversation going with the person or persons who do control that.

Keeping goals realistic comes with the side benefit of getting to feel ahead at times. Psychologically, it’s more encouraging to start with well-grounded expectations and then get ahead of schedule, rather than planning at a stretch and chronically feeling behind.

Above all, remember that you and your team are human beings with understandable natural limits on what you can accomplish in a given period of time. Don’t be like me and try to set a “good example” by setting a terrible example (more on that in part six!).

As a manager, the best thing you can do is make your tasks achievable and only bite off what you know you and your subordinates can chew.

The next article in this series, Avoiding Burnout, Taking Breaks, is available to read now.