I was a dev and a dev lead for a few years and although I still enjoyed doing it, I felt that the entire range of my skills were not being fully utilized. What were these skills you may ask that made me think I was too good to be a developer? It's really not the case at all, if anything, although I was a decent dev, I would never be among the star devs. Nonetheless, it really was the fact that I felt I had a lot more to give and gain in other areas given the combination of my technical, interpersonal and life experiences (e.g. living & working with/in different countries, cultures and personalities).
This is when I started becoming curious about the Program Management role at Microsoft. At first I figured a Program Manager is a fancy and glorified name for a Project Manager. So I started to investigate this and was having a very hard time to pin this role down in terms of responsibilities. Every blog, job description or site I would visit would say something different from the previous one and this did not make it any easier. So with this post I will try and give you readers who are in the same position I was in, a clear and consice explanation of what a Program Manager here at Microsoft does. Correction. not does. Because of the very nature of the role I won't be able to give a generic description of what a PM does. Rather I will focus on what is required to be a successful PM here at Microsoft and this will hold true, I dare to say, for all PMs positions across Microsoft (in engineering and IT).
Before I get into the PM role though, I see four core competencies that are absolute must haves for any role, discipline and position within Microsoft. These being:
What is a Program Manager?
Now, the classical definition of Program Management is "process of managing multiple ongoing inter-dependent projects.", which does not necessarily/always apply here at Microsoft. Of course every PM position has its own required set of skills, and what I am about to give is pretty much a consolidated view on all of these. As a reference, I highly encourage you to read the post that one of the senior VPs, Steven Sinofsky has written explaining what it means to be a Program Manager. Let me also preface the post with saying that at the heart of the PM role you fill the space that no one else can, has the time or wants to fill which means you have to be jack of all trades (and master of all) really. Hence the PM role is very demanding but also very fulfilling and rewarding as you get exposure to an array of situations and things you never expected.
Also, the title can be deceiving. While the title has both the word 'Program' and 'Manager', at least one of them don't really apply in the classic sense in many cases. Let me tell you a story. After concluding a business trip in India, and being a Baha'i I was going to Israel for a quick visit there. If you have flown to Israel with the Israeli airlines El Al you know how the security works. If not, suffice it to say that the security is by far the most rigorous one among airlines and with my middle eastern background I usually get a 45 minutes interview each leg of the trip with their security personnel and then get escorted to my seat, not to mention that they go through each item individually in my baggage and inspect it thoroughly. Having said that though, they are also the most professional staff amongst airlines in my opinion and not once have I felt frustrated despite these extreme security measures. Moving on, this time the girl interviewing me was new and kept asking a lot of questions, some of them less intelligent. Once she started asking about my job and I told her about it, she started questioning what kind of manager I was since I had told her I have no direct reports. The point I am trying to make is that as a PM you have no given authority which means no one has to listen to you even if you scream or cry and despite this it's your neck on the line for the final deliverables. What you have to do is to work on gaining a perceived authority which does not come easy and can be lost very quickly. In a way you have to prove yourself and gain others' respect so that they listen to you and let you bring everyone together.
To be a successful PM, there are three main areas you need to be skilled in and the particular PM role will dictate which of these three areas you need more/less strength in. 98% of the PMs in engineering and IT are:
Note that I didn't rank them in any order. Like I said some PM roles will require that you are extremely good at Project Management and Technical Skills but can be just good in design sensibility. Or the other way around. Further, if you break these three areas into particular skills needed it would be:
Now lets look at some of the tasks a PM can be blessed with: