Note: This post originally appeared in ACM Queue and is being republished here.
I can remember the very first software project I worked on. Back then, most programming was for shrink-wrapped software that would spend years in development (since you only released every few years and had long dev cycles because patching bugs was so costly).
For two years I worked on a project, and when it finally shipped, I can remember our VP talking about the launch. I had never had much exposure to him (I was new, a grad straight out of school), but I remember his speech about the launch clearly. He talked about some of the key features, and mentioned a few of the people involved.
At the time, I had the impression he was out of touch; the people he recognized weren’t the ones that had contributed the most code and the features he called out were important, but not the ones that had been the major engineering challenges. I can remember thinking “how can he not know what is going on in his team?”.
Of course now almost 20 years later, my perspective is quite different.
I have had the opportunity to manage very large teams, including some even bigger than the 400 person organization I was part of during that first project of my career. Now it makes perfect sense to me why he might not have known the biggest challenges or top contributors for a specific project.
The view at the top is different. And having been on both sides of the org chart, I have a new perspective.
The lessons below are ones I wish someone had shared with me in my moments of frustration with upper management earlier in my career.
Lesson 1: There are only a few levers to effect change.
You know that a good leader empowers his or her people. It is their job to guide them, but also to trust them. This means allowing them to make mistakes. Frequently there are no right answers, and sometimes managers can go down the wrong path.
When things aren’t going right, these senior leaders have a limited number of options to make a change. Long term, it is not effective to step in and micromanage their direct reports, or even worse, the people on their direct report’s team. This is not scalable, and it is expected that these experienced people shouldn’t need that level of management and direction.
Instead leaders will look for ways to get high-performing, trusted managers in a position to help them reach their goals. Generally, this is done in 3 main ways:
- Start and stop projects. If a project isn’t going well, a leader can cancel it and reinvest the resources elsewhere. If something isn’t working, they can staff a new project to fix it.
- Reorg. This is probably one of the most painful things for members of a team. It can be so upsetting to have your manager or their manager move out of your chain of command, especially if you have worked to build strong relationships with them. But in large organizations, changing the structure of a team is one of the best ways for leaders to improve alignment and strategically place their top people in a position to help them achieve better results.
- Hire, or fire, or change, their leadership team. If someone isn’t performing, or their team isn’t moving in the right direction, a highly effective course correction is to bring in fresh energy. Of course this is harder to do because…
Lesson 2: The more people under a manager, the more challenging it is to judge their effectiveness.
One of my favorite questions to ask is how long it takes to tell if a VP is mediocre or great. The answer can be quite challenging to determine because a lot of a leader’s success (or failure) can be attributed to their team, not them.
If you have strong managers under you, then it is easy to ride on their coattails. They make sure things are moving in the right direction and that good things are happening. Conversely, if you have a poor performer, it can take a while to coach them or manage them out of your organization. And the deeper the hierarchy, the more levels of indirection are there. Judging a VP isn’t like isn’t like judging a software engineer where you can at least observe their output and contributions directly.
And of course the signs of a bad leader are not always immediately obvious—delivery on substantial projects often takes months or years, and attrition/retention tends to be a lagging indicator.
This is why bad leadership can be in place for years before changes are made. It can actually take that long to prove out that it is *that* person, as opposed to other external factors outside of their control, that is causing failure to occur.
Lesson 3: Interviewing senior leaders is hard to do.
Another observation that I have seen play out is that it is very hard to hire senior leadership (and because of Lesson 2, it can take a while to know if you did it right or made a mistake).
There are plenty of fallacies with interviewing, but it becomes more challenging with executive leadership because there isn’t a set of skills that is easy to test. How do you test influence? Sure you can proxy it with a set of questions, but a few hours with someone doesn’t always indicate accurately if they will be successful in the role.
That is why many companies focus on the candidate’s experience and track record. Personal references and endorsements can also play a large part.
Perhaps the biggest reason that this is hard, though, is that leading a group of people effectively is dependent on so many factors: the team culture, the organizational goals, and of course, the individual personalities. What worked really well for one person in one environment doesn’t always translate to a new place. That is why adaptability and flexibility are important traits to look for in the hiring process, not just past successes.
Lesson 4: Split and delegate.
When you move from being an individual contributor to a manger, you have to deal with the challenge of managing work. It becomes your responsibility to report on progress and handle status. In a small software team, this is easy: you just show up to stand-ups, collect status emails, or create a lightweight way to poll your team.
But as your org gets bigger, it becomes too much for one person to keep in their head. You can’t go to all of the team meetings. You can’t be present for every decision. And you have to learn to trust your leadership and delegate that responsibility.
This is a good thing overall – by sharing the responsibility, you give others the chance to lead and you allow your team to grow. However, it can be a tough transition if you are used to being in control. And it is also a place where things can go really wrong.
If you don’t have a good way of verifying details, or diving deep in areas, too much abstraction can result in unforeseen problems (which are the worst kind).To avoid this, you have to figure out checks and balances – how can you get enough oversight to have high confidence in the work being delegated, without micromanaging every detail yourself?
The most effective strategy I have seen in these circumstances is to set up regular reviews with team leadership to surface issues and help you stay involved with the day-to-day processes of the team.
Lesson 5: Be the beacon of hope.
While it is true that misery loves company, no one loves working for a leader who doesn’t portray confidence in the team’s trajectory and success. People want to be inspired, and as their leader, it is your job to give them the motivation and vision to perform.
This means that even when things are bad, or you feel frustrated, you don’t let it show. You need to be the person who is positive and who helps motivate people to do their best. If you don’t, then who will?
Leadership is hard.
None of us comes to work to do a bad job, and there are always ways we can be better. So when you have a leader that isn’t meeting your expectations, maybe try reframing the situation and looking at things a little differently from the top down.