What is a PM?

About nine years ago, and after being at Microsoft for a year, I posted “What is an SDET?” in response to various questions that I got about my career choice to move from developer to tester. Like the original post calls out, there was a lot of “why” and “what do you do” and I tried my best to describe my thoughts and reality at the time, especially for people that saw the world divided into Dev or Test, without room for a developer that tests for a living.

As my ten year anniversary at Microsoft approaches, I’ve made a change: I’m now a Program Manager.

This time around, I’m likely to hear “what the hell?!” It’s a fair question.

After the launch of Xbox One, I did what most people do after shipping such a huge and awesome project: I slept for about a week. After that, I took some time offline and asked myself the simple question of “what’s next?” Truthfully, I’ve been thinking about PM and SDE as career options for a few years now because I’ve always been interested in these roles… if I took the time to look at my first “where do you see yourself in 3-5 years” document at Microsoft, I would bet real money that it says some combination of: Senior SDET, SDE, or PM. While working at companies before Microsoft, I realized that I have definitely worked as a PM; those companies simply didn’t know what to call that role and “developer” was the default title. Going back to my first QA gig, I was actually a PM that also did some testing. While working on Xbox One, I realized that I was spending more time caring about defining the experience and trying to work more with designers – and enjoying it – rather than getting exciting about building a new tool or solving a complex automation problem. Sure I still did a happy dance when my tests identified new or re-introduced issues over time, but day to day felt different. When I did some more self-reflection, I realized that my heart and my focus had subtly shifted enough that I noticed it. And what’s more, I didn’t think that SDE/Dev was going to scratch the itch that I started to feel.

So why now? I came really, really, close to making this shift a few of years ago, when a really interesting position opened up. At the same time, a new challenge surfaced with a new v1 feature on the 360 for an SDET… when I laid out the two options, the v1 hotness won out and I spent two happy years in that role. After that – a full year before Xbox One shipped – I took another really exciting SDET role, working on the console-side of the Smart Match feature. Again, some v1 hotness compelled me to continue to write code to break code. And believe me, there was no way you could black box test Smart Match during my time with the team: no games existed yet so it was all white box testing, while attempting to simulate a “real” game and pushing end to end scenarios.

OK, so why change now? I’m surprised you’d ask that… look at the pattern above. What’s the theme? v1 hotness? And the opportunity to build out a feature that I care about, as an experience. What is that feature? I’m not able to say right now, but as things come to light they will do so here and all the usual Xbox news outlets.

What is a PM, then? Personally, I believe this question is better asked as “what value does a PM provide.” Honestly, the job changes depending on where in the cycle you are. There’s planning of new features, working with design for committed features, keeping the day to day work going (and removing blockages), talking with customers for feedback, and pushing the product out the door – or over the wire – one bit at a time if you have to. At least, that’s how I think it will be for my team and project – I’m guessing I’m missing some parts to that list. You see, a PM position is a very, very subjective role which is very team dependent. Some teams want someone to build/grow a feature; some people want a human interface to Outlook… I’m expecting the former experience this go around but either way, my fun starts this Monday.

Woot.

Leave a Reply

Your email address will not be published. Required fields are marked *