Changing career paths at Microsoft -- short answer

Today I was talking with an intern who was having a good, but not great, summer working on one of our teams. He felt that perhaps he would be more successful if he was involved with testing more than development. His question was "is this really possible"?

It is good question. Since Microsoft is growing and big, there are always going to be new opportunities than we have people for. The question is really whether Microsoft and any one person makes a good match. In talking with this one person and the kinds of experiences he was looking for, it seems like testing might be a better match so I definitely encouraged him to apply for a second summer with us but in testing. We'll see what his hiring manager and mentor working with recruiting all feel. In the end, we always have the bests interests of the candidate and Microsoft when we make these decisions--it only makes sense if there is a good match. As Mike Maples (a retired VP at Microsoft who is really responsible for so many great things in Office/applications and who had a huge impact on me) once said, "things always work out in the long run" and that has always meant a lot to me in my career.

I started at Microsoft in development as a software design engineer. I worked for several releases on our C++ products helping to create the Microsoft Foundation Classes. In hindsight, I should have seen that I probably was a better fit for program management (Chris Pratley's summary of program management is a good one for sure). I always seemed more adept at working on the customer, design and project issues than on writing the code--my code was always nice and orderly, but I probably couldn't write enough code fast enough to really be the very best at programming. Hmmm...I'm not sure I should be sharing that. Sigh.

So I moved to program management when I switched to the Office group. One thing that is great about Microsoft is that because we have such a broad "interface" with customers you can have opportunities to work on just about any aspects of the software world. If you look at the courses you can talk in comp sci in college (compilers, databases, AI, human factors, databases, operating systems, graphics, etc.), Microsoft has products used by tons of folks in all those areas--market leading products dedicated to leading edge technology. So making a switch is not only easy, but also something that you might expect to do after a few years in one area if you want.

Program management seemed like a more natural fit for me--working on designs, ironing out the details of features, considering alternatives, and also the externally facing aspects were great fun for me and really helped to contribute to Office as we grew the shared architecture of the product. For example, one of the early things I got to work on was creating a "high touch" advisory council of customers we could work with in an ongoing way while we made Office 2000. This was a unique creation at Microsoft and the first time we engaged customers in actually helping us to design features of the product through iterative and interactive design. If you're interested in stuff like this you might check out a research area from a professor at MIT named Eric von Hippel, who pioneered a field called "lead user research". There is a lot of similarity to what we developed in program management around the Office Advisory Council (which is something we continue to do, even with Office12). 

That's a long way of saying that what I told this one intern--moving around is a normal part of developing your career at Microsoft. You have all the opportunties to "dive deep" and excel at one area (for example, folks who have worked on databases in Office have done so for many years because it is technically deep, always evolving, and super important for customers) or you can learn the ropes in one area/discipline and move to another.

Well so far so good--I seem to be writing a lot. If I'm off the mark or folks have other topics of interest, by all means let me know. thx. --steven

Comments

  • Anonymous
    July 22, 2005
    It's neat to see that the next step you're taking to stay connected with college hiring is maintaining a blog. I worked for Office (just down the hall from you actually) last Summer as a PM and was very interested to hear about your career progression from a new hire to where you find yourself today.

    Interestingly, the place I find myself now has me a bit perplexed - I'm just about to complete my undergraduate degree, and I've had exposure to a number of different technologies and research areas, mostly in software but also some hardware. I'd love to go to graduate school, but honestly I can't yet pick an area to narrow my focus on - operating systems, processor architecture, distributed systems...

    I've been dying to start a professional career as well. Working on the Office team got me very excited about building and releasing real products that people use. Ultimately I'm looking to start work, hoping that I can continue my education after a few years either taking a break from work or getting another degree 1 or 2 courses at a time.

    Still, I find myself with the same general problem: what product or technology should I start my professional career with, say if I was a PM? The reason I'm posting this comment on your blog is to ask, of the college recruits you're familiar with, how many come in with an extremely strong interest in a particular area, and how many are still looking? What advice do you give to those who have creative energy abounding, but have yet to find exactly where to apply it?

    Microsoft in particular has such a vast set of products that even picking a product group is difficult, from Windows client, to e-business, Home & Entertainment...

    Good luck in keeping up with frequent posts & updates!
  • Anonymous
    July 22, 2005
    I think we get all types of folks. I had a really strong interest in object oriented langauges and databases and worked on that for several years. But then after being exposed to end-user software I got super interested in that. In college and grad school you mostly get exposed to the science aspects of computer science and things like end-user design and even stuff like spreadsheets don't really have classes (or academic fields). So when you're exposed to these at Microsoft you find whole new avenues to explore.

    The one thing I definitely always think is that you should stick with what you start out with and get good at it for a couple of product cycles. You learn a huge amount from going through the begining, middle, end and circling back. After all -- why do you make mistakes? So you can learn from them and make things better the second time around.

    So take your creative energy and apply it to something concrete and do the work so you can point people to your success in the market. You'll learn a lot about yourself along the way.

    --Steven
  • Anonymous
    October 15, 2012
    Chris's article seems to be moved here - blogs.msdn.com/.../program-management.aspx