A Few Thoughts on Managing Engineers

What follows is some really common-sense advice on how to manage engineers. [A lot of it should apply to managing creative people in general, but I don’t really have any experience managing non-engineers].

And because I’ve been thinking about it for a while now, there’s quite a lot to talk about, so it’s in 4 parts. This is Part 1.

Your #1 responsibility is your people.

Make sure that they are happy and productive.

I think if you only take one thing away from this writeup, it should be this: engineering (programming, designing systems, UX, system architecture) is a creative profession, and requires time, dedication, and nurturing to do it right. Your job as a manager is to make sure that your people are on a clear maker’s schedule [2], with as little interruption as possible.

How do you make this happen? Here are two things that I’ve found works well:

  1. Keep meetings to a minimum. Promote asynchronous work. The cost of an interruption, and switching attention from one task to an urgent another is probably minimal (& expected) when you are a manager. But if it happens too many times to your creative engineering team, it is a recipe for disaster. So your job is twofold:
    1. Make a team that can function with minimal meetings. Consider replacing stand-ups with daily checkins. When you do have meetings, have them over a shared document so that decisions are recorded instantly, and everybody has visibility into how a conversation is moving & structured, and what the next steps are.
    2. Step in & protect your team when some VP absolutely wants a team member’s attention for something critical.
  2. Have regular twice a month 1-on-1s with your team members. [Of at least 20 minutes, and not more than 40 minutes long.] Valuing your team also means really listening to them. This means scheduling regular checkins with your team members where your only job is to listen to understand. This is probably one of the most important things you’ll do as an engineering manager, and it’s crucial that you do not skip this cadence step:
    1. You’ll find that the best ideas come from your team. They are the ones who are on the ground every day, facing and solving technical challenges.
    2. You have to create a safe space for them to open up and talk to you about their problems. The best way I’ve found to do this it to make sure they know the conversation is confidential and wouldn’t affect performance evaluations, and that it’s their meeting: they set the agenda, and your job is to listen.
    3. At times you’ll find that some folks really have nothing to talk about. Maybe it’s a dull week, or maybe they have had a really good month, and have no concerns. Fill in the blanks at that point by giving unsolicited, structured, actionable feedback. Talk to them about how they want their career to proceed. Talk to them about your experiences when you were at similar roles, and how you think they can improve in their role.

Well that’s it for this instalment! Next week, I’ll write about being committed to Value Delivery, your #2 responsibility.

3 responses

  1. […] is the last in a series of articles about engineering management, the first one was about valuing people, the second about business value, and the third about coding in the trenches, and earning the […]

  2. […] in a series of 4 articles I’m writing about engineering management. The first talked about valuing, respecting and nurturing people, the second was about delivering business value, and this one is about being an effective team […]

  3. […] This is the 2nd in a 4-part series of how I feel Engineering managers should function. This one talks about value delivery, and how it should be your next priority after focusing on your people. […]

Leave a Reply

Create a website or blog at WordPress.com

%d bloggers like this: