I originally posted this in 2011 while I was managing 25 developers at Wells Fargo. The pop culture references are a little dated, but the core messages are still relevant.
“Oh, oh, and I almost forgot. Ahh, I’m also gonna need you to go ahead and come in on Sunday, too…” – Bill Lumbergh
Bad managers and bad management teams are everywhere. Movies and TV are filled with shows that rip on managers and/or put them in a bad light (i.e. Office Space, Devil Wears Prada, The Office, The Simpsons, etc.). These characterizations are often popular because, well, hasn’t everyone had a boss they disliked or disagreed with at some point in their lives?
The fact is that any shmoe can be a bad manager, but it is much tougher to be good, highly effective manager (note: the term “manager” meaning anyone in a position of leadership). I have been lucky enough to work for one the past 7 years and I have had the pleasure of getting to know many others as well. While I think that good managers come in different shapes and sizes, the most highly effective ones often display the following 4 characteristics.
1. Prognosticate like The Mentalist
The formula for the CBS TV show The Mentalist is pretty straightforward. Someone is murdered, Patrick Jane comes up with a theory of who did it and then he orchestrates a series of wacky and somewhat humorous events that ultimately reveal the murderer. Although it almost seems like Mr. Jane can read minds and see the future, there is nothing magical about what he does. His power comes from his ability to read other people, his knowledge of similar situations in the past and a knack for pushing the right buttons in other people to get a desired result.
Managers often need the same skills when they set goals and formulate product strategy. Sure, some people fall into killer products by sheer dumb luck, but more often managers need to do the following in order to reach their goals.
- Understand Other People – This includes understanding the needs of their customers, the expectations of their superiors, the velocity of the team and the aspirations of individual team members.
- Know the Past – Good managers use their previous experiences to get ahead of the curve and prevent potential future issues.
- Orchestrate the Future – The great Peter Drucker once said that ”the best way to predict the future is to create it.” Highly effective managers at times need to come up with outside-the-box solutions to help the team achieve their goals.
2. Execute like Michael Weston
Any non-fake person thrown into all the crazy situations that Michael Weston has to deal with on Burn Notice each week would be dead in about two seconds. Each episode has Michael run into a number of surprise twists and turns that force him to think on his feet, focus on the task at hand and make quick decisions to overcome the latest set of challenges. Some of these skills include:
- Prioritization and Multitasking – The best managers find ways to effectively work through dozens of tasks that all lay claim to be the highest priority without dropping the ball on any one of them.
- Focus and Perspective – It can be difficult to focus when multiple business stakeholders each hold a gun to your head demanding to have their requests fulfilled immediately. Effective managers, however, stay cool and laser-focused.
- Making Quick and/or Difficult Decisions – Being an effective leader means at times stepping up to make the quick, difficult decisions. Some examples include settling minor disputes, holding team members accountable and terminating a poor performers.
3. Develop Talent like Mike Krzyzewski
There are a lot of Duke haters out there, but even the haters respect what Coach K has been able to accomplish in over 30 years of coaching college and national team basketball. His strength centers around his ability to find and develop individual talent as well as gel talent into high-performing teams.
“A common mistake among those who work in sport is spending a disproportional amount of time on “x’s and o’s” as compared to time spent learning about people.” – Coach K
Even the best software development practices will fail if a team is made up of poorly performing, low-skilled individuals. The most effective managers take a page from Krzyzewski’s book of developing a highly productive team.
- Recruit Top Talent – It’s pretty simple, really. The more smart, talented people on a team, the easier a manager’s job will be. Recruiting can be time-consuming and frustrating, but an investment in recruiting has the highest ROI of any other single action a manager can take.
- Put Team Members in a Position to Succeed – After getting talented team members, a manager needs to figure out a way to maximize their productivity. This requires understanding the strengths and weakness of each team member and figuring out the best way to put all the pieces together.
- Encourage Innovation – Nothing and no one is ever perfect. While a good manager typically has ideas about how the team and individuals can grow and develop, the best managers and companies find ways to create a culture of innovation. Some examples of formal programs to encourage innovation include Google’s 20 Percent Time, Hubspot’s Experimentation Framework, and Apple’s 10-3-1 Strategy. Formal programs may be impractical due to an organization’s culture, but good managers find ways to bring elements of these innovation programs into the team.
4. Fly Like Viper
One of my favorite scenes in Top Gun is when Maverick takes on his trainer (i.e. manager) Viper. Viper is an old fighter pilot that is no longer as skillful as he once was, but he manages to out maneuver Maverick and put him into a position where his wing man, Jester, can shoot Maverick down from behind.
The odd thing about software development managers is that the technical skills that got them into their current positions are often not used once they get there. No one expects that managers will be writing code all day, but as a manager loses technical skills, he or she has to rely more and more on other team members to make major technical decisions. There are a number of things managers should do to keep up their technical skills.
- Audio Books, Podcasts, Twitter and RSS Feeds – Of course it is great to read technical books, but who has time? These days, techies have to maximize their time and jam knowledge into their brain in the most efficient manner. Driving to work? Listen to TechZing on your car MP3 player. Bored in a meeting? Check out what @mattcutts, @dharmesh and @guykawasaki are talking about on your Twitter app. Sitting on the pot? Scan through RSS feeds of the top 100 tech blogs using Google Reader on your iPhone.
- Write Code – There is no substitute for writing code, but it becomes progressively more difficult for technical managers to do so over time. For those managers that are overloaded with administrative overhead, they need to force themselves to schedule at least a couple of hours a week to write code.
- Test Your Skills – In addition to coding on a regular basis, it helps to test your skills periodically. One way to do this is to enter a coding competition with your team members or on a website like TopCoder. The point is not to prove that a manager is better than other developers. The point is that simply by going through the process of participating in coding competitions, a manager will be keep his or her coding skills sharp.
The reality is that there are many different types of effective technical managers. A manager does not have to excel in every area described here to be effective. However, those managers that can prognosticate, execute, develop talent and write code are more likely to be highly effective and create highly productive teams.