The recruiting season is getting underway and shortly we’ll be “at a college near you” looking to connect.  I will be at Harvard Business School the first week of October, where I’ll visit some classes and also participate in a career fair.  I hope to see some readers there!

I met this week with one the managers at Microsoft that I officially mentor.  We have a program (literally an ASP.NET program) where you can sign up to mentor or be mentored through a matching process.  The discussion we had was about career progression and how does one become CEO.  I thought that was a rather ambitious goal—after all asking your mentor for the path to become their manager is interesting ;-).  We talked the discussion down from CEO to achieving the career goal of general management (GM).  I’ll define general management as managing multiple functions with significant responsibility for a whole customer visible project—this can be a product unit of 50 people (20 devs, 20 test, 10 program managers) or a whole business group of 300 that includes marketing and other disciplines.  At Microsoft, as with many companies, reaching this level of management is a significant accomplishment and with it comes significant responsibility.  If you aspire to, then how do you get there?

(Now is a good time to say that this is definitely an article that could be used against me since I’m sure there are things in here that I do not practice as well as I should—if you happen to know that, then suffice it to say I’m still learning too and these are lessons I’ve learned!  And also I will use a bunch of examples in here, but any of them can have their tables turned and reflect any other job discipline.)

The first words out of my mouth in this case are always patience.  It is a cliché, and frankly coming from an executive always seems self-serving.  But the truth is I think that pace is the most important element of a career.  Once you become a functional manager your career is different and your contribution is different, and not necessarily better.  And once you become a general manager, your career again changes and your contribution is way different, and as you’ll experience the job becomes a bit more lonely and often less “fun”.  I remember going to my 5 year reunion for college and we’re sitting out on the arts quad eating PMPs (don’t ask!) when I listened to each of my fellow Comp Sci friends bemoan the amount of management they were doing and how they were no longer really doing any “work”.  That certainly made me pause and I felt great that I was still writing code and not actually managing anyone!  My first lesson in patience. 

The second reason to be patient about your career is that you are probably never nearly as ready as you think you are for the next big job.  The challenge is that the company has lots to worry about in addition to your career.  The company has shareholders, other employees, and customers so balancing all of those needs in addition to your career is tricky.  Here is where trusting your manager (and management chain) is super important.  In a strong organization, the opportunities for you will come, even if they don’t come as fast as you’d like.  We’ve all had people we were impressed by because of their meteoric rise, only to see them perhaps “peak early” or worse.  At the same time, I’ve seen organizations rewarded for making the right move at the right time and seeing someone just ready enough to step into a bigger/broader role and make a huge difference with a running start.  Mike Maples, certainly one of the most respected Microsoft managers ever, used to remind us all that things work out in the long run.  So another reason to be patient.

So assuming you have the patience, then what are the right steps to general management?  If you were to ask general managers at Microsoft how they ended up in their job you’d probably get a unique answer for each person.  Most at Microsoft that rose up through the ranks probably didn’t expect (or seek) GM roles. Certainly for me, I was generally much more in the moment and excited by the technology, products and customers.  I always felt that my managers noticed that and that was a big part of why I was offered management responsibility.  The most important thing about moving into general management is that you have to be very good at the function (dev, test, pm, marketing) that you currently work in—no one is going to want you to manage another function, especially one you have never done, if you are not among the best at managing your current discipline.

Generally, you’re going to need to gain some experience in another function before you can really hit the ground running as a general manager.  I know that is something I tend to look for in candidates.  This is not as dramatic as it often sounds.  If you’re a developer, it does not mean you should go become a sales person (most good developers would fail spectacularly at sales, and vice versa).  Rather the focus should be on an “adjacent” discipline.  You can think of the disciplines as a continuum:

Support <-> Sales <-> Marketing <-> Planning <-> Program Management <-> Development <-> Testing

At any point you can look “left or right” and see the potential for you to broaden your expertise and gain the experience that could serve you well as a multi-disciplinary manager.  You probably don’t need to go far for this experience, and in fact staying close by in a familiar organization or product might serve you well and help you keep your feet on the ground.  The majority, but by no means all, general managers at Microsoft have experience in the dev/pm space or in the sales/marketing space.  I want to be careful about generalizing, because with a relatively small set of folks and a lot of unique stories it is important to understand that many paths can lead to GM.  I should also say, that he above spectrum is not complete and not meant to be exhaustive, but just illustrative.

Why is this experience important?  The biggest reason is because the day you walk into a room and look around and see 3 or 4 (or more) different disciplines looking at you for leadership and guidance, your credibility hinges on being able to humbly and respectfully talk-the-talk and walk-the-walk of several disciplines that you never did.  “BS” detectors will immediately go up—just because you were a whiz at marketing or sales, do not think test or pm will immediately just follow you (insert any other disciplines in there).  In fact, one of the biggest early points of failure for a new GM is the inability to see eye to eye or bond with the “other” disciplines.  If you were a developer who was always beating up on testing, or a program manager who always said marketing was clueless then imagine how those disciplines will feel if they see you stand up in front of the room and say “Hi, I’m your new manager”.  That won’t be a pretty sight.  After all, these folks will now be looking to you to expand their career opportunities and you can’t do that if you have not internalized respect for all those that contribute.  So if you’re looking to move to general management, showing how you can walk in the other’s shoes is super important.  When was the last time you asked testing their views?  When was the last time you helped marketing with some technical content and let them get all the glory? When was the last time you didn’t take the “expected” role because you knew the other person was right?

Another point of failure on the path to general management is closely related and that is being too focused on your discipline and not being able to “rise” above your discipline during times when the organization needs it.  You can think of this as being too much of a functional silo, or just not “mature” enough to see the big picture.  It means for example that as a tester if you know the schedule is tight and that we need time to get the quality to the right levels, but you also know there is a hard constraint due to a “train that is leaving the station then the senior folks are the ones that take a step back and find a solution to the situation and do not dig their heels in just play the expected role (i.e. testers saying we need time, developers saying it can’t be done, program managers saying we need to add features, marketing saying we need it sooner, etc.)  The ability to solve problems in a situation that arise from the other perspectives or disciplines is a key trait of a GM who rose up through functional leadership.  At Microsoft, good examples of this are program managers who cut features because they know, as much as they want them, that the feature will lower the overall quality, or testers who know how to find a path to insuring the quality of a late braking addition that they know we need but adds measurable risk to the project.

The next area of experience is often the first one thrown at you by managers when you ask about the path to GM, which is to go and get experience on a broad set of product lines.  This is easy to say, and actually relatively easy to do.  The value though really depends on the situation and the depth of the experience you gain.  One way to look at this is if you’re looking at a resume of an external candidate and you see 5 jobs in 10 years, that is usually a little bit of a warning sign.  Just because you know all the groups, an internal candidate with that same resume should probably set off the same warning signs.  This is only a warning and something to look into, not a disqualification of course.  But a key tenet for me is that to become excellent and among the best at a functional role is to work on the “beginning, middle, and end” of a project at least twice.  Why is this?  Well all the learning comes from deciding what to do, figuring out how to do it, and then doing it.  But the real learning comes from watching customers live with all those decisions you made, and then going back to the whiteboard and figuring out how to clean up the mess you made J.   In software that could be 5 years on one team, which might seem like an eternity, especially as a person anxious to be a GM, but I believe it makes you a much stronger leader and manger down the road.

At the same time, experience in other product lines is super valuable.  It is very similar in benefit to gaining experience in other disciplines.  All software products need to work together, certainly that is what our customers say, but if you haven’t been on the other side of that dependency (or interface) then you are only seeing one side of the solution and probably spending way too much time thinking the other folks are coconuts.  Again this is one where there is a lot of judgment about how different the experience needs to be, and there are a lot of factors that a company can consider that come into play.  Some companies expect you to move very far because the companies are very diverse and the expertise you are gaining is around management and process.  Other companies expect you to continue gain technical depth and thus moves that are “far” actually slow down your contribution.  And to point out how much judgment there is in this, usually at junior levels it helps to gain the depth experience in relatively adjacent technologies, and then at senior levels because your contribution is much more about process and management you can usually move further away.  I strongly recommend having a plan for yourself that balances being excellent at your function over a good period of time, while also gaining that same level of depth experience in another business or product line that builds on those skills you gained.

This leads to the last tip I could offer on the path to general management, which is to develop a mentor or role model within your organization.  This needs to be someone you can talk to who can objectively validate and/or criticize your thoughts on career path.  A lot of folks will go to the human resources group for this type of advice, and while that can be a good data point, I would suggest that you want to find someone you admire or respect who has come from a similar path you are currently on.  So if you are a developer and want to be a general manager, find someone at the company who is a developer who became a general manager.  Ask if they will talk to you once or twice a year (usually during performance review or goal setting time) and certainly ask if you can talk to them when you are considering a change in jobs or responsibilities.  I know when people ask me about their careers I always ask who they see around the company as a role model, and it surprises me that most of the time folks do not have a clear view.  As a hint, it isn’t really the best answer to say you are modeling yourself after Bill Gates or Steve Ballmer – those are a couple of unique individuals and so I’d suggest being a bit more pragmatic in who you’re most likely to want to be like.  It is worth noting that mentors are people too and they often don’t have magic answers to questions, but if you bring good questions (such as “how would you handle this situation that I am facing this week?”) then there is a good chance you can have a very beneficial mentoring experience.

Finally, I’d close by saying that if you were reading this thinking “gosh, I don’t really know if I want to be a general manager or not” then that is ok too.  Far too many people think being a big time manager is where it’s at.  Being a general manager has its moments, but if you rose up through the ranks as a developer and program manager, believe me it is not magical the first time your test manager asks you “do you think we’re investing enough in automated testing for this scenario?”  (note, this happened to me!) Managing work that you have never done is very stressful and also a bit lonely.  If you have the right mindset and stay focused on excellence, my experience is that the company will recognize this and the right person will connect with the right organization and the right time—and in the end, as Mike Maples said about management, the cream will rise to the top and the right things happen for everyone.

So if I had to summarize a way to think about your career plan to become a general manager:

  1. Be patient.  If you take your time and work with your management chain, your chances of success definitely go up.
  2. Be excellent.  The first key is to be among the very best performers at your core discipline.
  3. Gain adjacency experience.  A good, but not necessarily critical, next step is to gain experience in an adjacent discipline.
  4. Respect and understand all the disciplines.  It is not possible for any one person to work in all the disciplines you might manage someday, but you should spend a good deal of effort learning and understanding the other disciplines before you have to manage them.
  5. Work on multiple product lines.  Figure out for you and your organization what the right type of experience change you should have and seek that out when you feel like you’ve reached a good level of functional excellence and performance at your current role.
  6. Find a mentor.  See if there is someone in the company who followed a path similar to the one you would like to follow and meet with them to discuss your career.

--Steven

BTW, I’ve received some mail about the recent article in Business Week on Microsoft.  Right now I will choose not to comment on it until I see if the writers and editors choose to correct or comment on some of the plethora of factual errors.