How to Tell If You Are a Successful Program Manager

Hint: Do People in Your Organization Know What’s Going On?

Ben Cotton
The Pragmatic Programmers

--

📚 Connect with us. Want to hear what’s new at The Pragmatic Bookshelf? Sign up for our newsletter. You’ll be the first to know about author speaking engagements, books in beta, new books in print, and promo codes that give you discounts of up to 40 percent.

Image by Yariel Vasquez on Shutterstock

In the Futurama episode “Godfellas,” God tells Bender, “When you do things right, people won’t be sure you’ve done anything at all.”

This assertion is the entirety of the overlap between being a deity and being a program manager. But it brings up an important question: how do you, as a program manager, know when you’re doing your job well?

You want to know the answer to this question whether you’re a professional program manager or a volunteer in an open source community filling that role. In a professional environment, doing well in your role can lead to better bonuses, promotions, and so on. Obviously, you’ll want to know if you’re on the right track for career growth. But it’s also a big part of your self-esteem, whether professional or volunteer. You want to do a good job because you want to be making the world — or at least your team — better. Nobody wakes up and says, “I want to be bad at my job today!”

But program managers don’t, by and large, write code, create graphics, update website content, test new features — the day-to-day tasks.

🎩 In open source communities, program managers will do many of these things, but not strictly as part of the program manager role. People wear many hats in a community.

Those tasks have a quantifiable output that you have direct control over. But not so for a program manager.

When I was hired as the Fedora Program Manager, my manager told me that he wouldn’t hold me responsible for Fedora Linux shipping on time. If an on-time release isn’t part of my success, then what could possibly be?! Keeping in mind that a program manager’s primary responsibilities are to coordinate and communicate across functions, I’ve settled on a few ways that I judge how successful I am.

People Come to You

Photo by Jon Tyson on Unsplash

I used to get frustrated when people would ask me questions completely outside the scope of my job. “How the heck would I know that?!” I’d say (to myself) as I faced another reminder that I am not a god. But at some point, I came to realize I should take it as a compliment. The person approached me because they thought I’d either know the answer or know how to find it.

I’ve come to embrace the times when someone assumes I have more knowledge than I actually have. The fact that I’m being asked means I’ve done a good job of building credibility with the community. The person asked me a question because they’ve seen me have the answers to other questions. There’s no shame in not knowing the answer — and if I don’t know the answer, I can delay my reply while I try to find it.

Even more thrilling is when someone asks for more general advice. Not just the “what’s the best way to follow this process that’s totally a program management thing?” questions, but the “how do you think I should communicate this with the community?” questions. When someone comes to you with those questions, you know that they not only respect your competence as a program manager but as a leader and a member of the community.

A Culture of Trust and Safety

Photo by Alex Shute on Unsplash

Like the release shipping on time, this one is out of your hands to some degree. But as an active and visible member of the team, you have significant influence on the culture. Besides, culture isn’t evenly distributed. So let’s focus primarily on what’s going on near you. Do people trust you? Do they feel safe giving you bad news?

In a sentence: trust isn’t knowing that someone will never make mistakes, it’s knowing that they’ll help set things right when they do. If there’s a culture of trust, people follow processes (sometimes begrudgingly) because they trust you when you explain the reasoning. The higher the friction in a process, the more people need to trust that it’s worthwhile. This trust comes from seeing the benefits in a way that’s meaningful to them. They know that if the expected benefit isn’t there, you’ll fix the process to increase the benefit or lower the friction.

Safety has many aspects, but the one most relevant to the program manager is the “I can give you bad news” aspect. If something isn’t going well and a team is falling behind schedule, do they feel safe telling you? If they don’t, then you could be in for an unpleasant surprise. As a program manager, a key part of your job is to know when something is going wrong and help find a way to get back on track. How can you do that if no one feels comfortable telling you?

Shortly after we released Fedora Linux 34, I heard that a key team member was uncomfortable delaying the go/no-go decision by a day. The reason in part was that it meant weekend work for him, and in part, because he didn’t think we had done enough testing. But he didn’t feel like he could tell me “no” when I asked. I was shocked. He didn’t think I’d yell at him or anything like that; it was more that he felt a general sense of pressure to get the release out on time. When Fedora Linux 35 approached, I consciously avoided pressuring — or appearing to pressure — people into meeting the release target at all costs. Sure, I wanted to keep my on-time release record intact, but I didn’t want to sacrifice the quality — or the people. F35 released a week late, breaking my perfect record, but the improved safety of the culture was worth it. (And honestly, we probably would have been a week late even if I had pushed people too hard.)

Everything Is Running Smoothly

Photo by Shubham Dhage on Unsplash

Wait. Isn’t this the problem we’re trying to solve in the first place? If everything is running smoothly, how do you know it’s because of you? Let’s be a little more specific about what “smoothly” means.

When things are running smoothly, that doesn’t necessarily mean that the release is on track and the bugs are all fixed and everything is perfect. If the code has more bugs than an ant farm and the schedule is approaching Duke Nukem Forever status, things can still be running smoothly. Running smoothly isn’t the absence of bad things, it’s the absence of surprise bad things.

Computers are difficult and people are difficult and when you put people together to do computery things, it doesn’t always go as planned. But if you’re doing a good job as a program manager, people know what’s going on. The status is clear and well-communicated. Plans are in place and the team is working together to make them happen. When you do things right, people may not be sure you’ve done anything at all, but they’ll be able to do their work. After all, when you do things wrong, it will be obvious.

Do you have an experience as (or with) a program manager you’d like to share? Leave a comment.

Be sure to check out Ben Cotton’s book from The Pragmatic Bookshelf, now in beta. You can save 35 percent with promo code open_source_2022 now through March 1, 2022. Promo codes are not valid on prior purchases.

--

--

Ben Cotton
The Pragmatic Programmers

Ben is the Fedora Program Manager and author of Program Management for Open Source Projects.