So I finished school, joined a big corporation, received my first 3 paychecks and settle down. Honeymoon period is over...Now I can reflect why I joined MS Office Live Workspace.Even more...why as a Program Manager when I'm a hacker at heart?
The main reason is that I got a little bored of coding. I used to think that I am really good at it, and enjoy it a lot, but just didn't get the kick out of it as I used to. I love writing code because I like to see the program do what I want it to do. The problem in my career was that I had to do what other people wanted the computer to, even though it didn't make sense to me sometimes.
In consulting companies, the decision was left to the client, which normally didn't care much for technology. This made my coding experience miserable. In product companies, the role normally falls to a Product Manager. Product Managers tend care about the product itself but are sometimes too focuses on the marketing aspect, pricing and other stuff that don't necessarily translate into what the product should do.
In Microsoft, there is a special role called Program Manager that is responsible exactly for this middle piece of deciding what the software should do, without actually be responsible for coding it. This role objective is to translate (or parse) the costumer needs, which can be captured by a Product Manager, to a working software. Additionally, this role need to be able to make sure that all the parts are collaborating correctly to deliver that vision, without actually having the power of a programmer to code the things you would like.
So far I'm happy and excited, although I feel sometimes the weigh of the Microsoft culture on me. It is difficult and irritating to work on some ideas and suddenly realize that they don't fit nicely with other people's items, and as a result, PM's compromise their work just to make sure their stuff get in, sacrificing the end product in the process. I guess this is the really challenge after all..getting people to do what you want them to do :)