Friday night, I got a new job offer, which of course I happily accepted. It's still at Microsoft, but I'm transitioning into a program manager position, on a new project related to SQL Azure, our cloud database service. I don't think it's appropriate just yet to talk about the details of the product, but I'm pretty sure we'll be putting out a lot of information in the fall. Heck, it might very well be a part of my job to socialize what we're building.
"Program manager" means a hundred different things at Microsoft. The company tends to compartmentalize roles into development, test, PM and ops. They're all pretty well defined, except PM, which can involve feature work, release management, relationship management, consulting, prototyping, design... it's a pretty long list. A lot of roles are combinations of those things. This particular gig will involve a fairly broad spectrum of responsibility, focusing largely on the design and development of this particular thing. The interesting thing is that PM's in individual contributor roles typically don't have anyone reporting to them, so a lot of what you do with the dev team is negotiation. It works pretty well, and is very collaborative when it's done right.
So after occupying developer roles for about ten years, why this change? There are actually two reasons. The first is the more obvious reason, that it's kind of where my career was already going prior to joining Microsoft. I was doing less code writing and more process and development guidance. Even before ICOM (where I would have liked to have also exercised this role), I was doing it a lot in consulting gigs. The second reason is that I just don't see a long-term career at Microsoft in the development discipline. I'll never be a partner architect because I just don't have the passion for (or the brain wired for) that level of super deep technical thought.
Fortunately, because of the diversity of responsibilities in the PM realm, I think I can be more effective, and far more engaged, to really make a mark on the company. This particular job is cool because I still need to "get" development, and will likely do some prototyping as well. It's a pretty exciting opportunity, even if it's largely a lateral move in terms of level and salary. The important thing is that I'll be a lot happier.
Interviewing from the inside is a different animal than coming from the outside. It's kind of an interesting scenario that you can't find in very many companies, because you can get a "new job" without changing who signs your check. A lot of people switch off every two years or so. It starts with informational meetings, just to get an idea of what a position is. It's like a bidirectional phone screen almost, so you can feel each other out. I did a lot of these, all over the company, except in Windows or Office, where I have no desire to be. Going through that process made the company feel much smaller, as I've talked to people all over the place, in other parts of DevDiv, the phone group, Xbox and Microsoft Game Studios. Never talked to people in Bing or the online areas, oddly enough, I guess because I just didn't get the hits on the job search app.
If you have a potentially good fit, you and/or the hiring manager may ask to do a formal or informal interview loop. The formal arrangement is a lot like it is from the outside, with the recruiter setting up stuff for a day of interviewing. The informal is less structured, and depending on the situation, may not even be anything more than a test for personality fit.
I did a total of three loops in my search. The first one, in January, was in the shared test org for Microsoft Game Studios, which was neat because it was a PM position that helped guide a dev group, who answered to a dev lead, who in turn reported to a director of test. Totally non-traditional Microsoft. This group makes tools that the various studios use for testing, as a central resource. It was a formal loop, and I got the stamp of approval from everyone, but still came in second place. The feedback from the manger was that if he had two positions, he would have hired me. The "cool factor" of working on Xbox stuff certainly had its appeal, so I was definitely disappointed, but the networking that came out of the experience was awesome. It's a very exciting part of the company.
In February, I did an informal loop with another group. I won't say which one, because as much as I believe in the product, and liked the people I talked with, they were slow to act on anything. There are parts of Microsoft that are plagued by that, and it bothers me. There's a bigger cultural problem where people often do not respect each others' time, whether it be for getting back to each other or showing up to meetings late or whatever. Truthfully, if they would have made an offer, I would have taken it, but after six weeks, that's too long.
This month, I did a quasi-informal loop in SQL Azure, and obviously I got the job. I even gave them a pre-game pitch (it's not the first time I've done something like this). I liked the people, I liked the project, and in a wild coincidence, two of the guys I worked with at Insurance.com are SDET's in the same group (one of which I scored a referral bonus for). Particularly in a formal loop, they end with a high-level "as appropriate" interviewer. If you didn't "win"in the rest of the loop, you don't talk to these people. For this one, I talked to a partner PM with a fascinating history of work at the company.
One of the things that all of the networking and exploration made me realize is how much change is underway. There is definitely an evolution between "old" and "new" Microsoft, and I think that's the reason that you see so much momentum in a lot of the product lines. Look at how quickly some of the stuff in DevDiv has evolved, like Silverlight and MVC. The Windows Phone "reset" to replace the crappy Windows Mobile happened in relatively short time. Kinect happened in a relatively short time, too. I think this occurs because agile development is being more widely embraced, and there's a higher concentration on delivering stuff quickly, and then iterating. It's a departure from the waterfall style of delivering shirk-wrapped products. Yes, the approach can scale in big companies.
I don't take the departure from Server and Tools Online lightly, either. The people there are my friends, and the core of my Seattle social circle. If there's any negative, it's that I won't see them every single working day, and that sucks. It's a very talented group of people there, and it's the tightest group of people I've worked with since the crew at Penton Media. If there would have been a suitable PM job in the org, I would have absolutely done my best to obtain it.
I had some pretty awesome opportunities in STO, in terms of development work. Working on the MSDN/TechNet forums was difficult at times (it had serious issues when we started working on it), but how often do you get to work on something that serves up tens of millions of pages every month? The best part of the job was working on the achievement and recognition system that's starting to roll out first in the galleries, and eventually forums and other properties. It's neat to build a cloud-based service intended to scale, and so far, so good.
This doesn't mean that I'm leaving hands-on programming behind. Obviously, my personal Web sites will always need to be fed and revised (CoasterBuzz is about due again). I'm really planning to invest time in POP Forums as well. Professionally, I need to stay engaged because being a highly technical PM has a lot of advantages if I intend to stay at the company.
And that's something I've thought a lot about... how long I want to stay at the company. This is the first one I've worked at in probably ten years where I actually see a future. Let's face it, the longevity bar is already pretty low, with my longest gig (City of Medina) at three years, and second place (ICOM) at 2.5 years. As long as I don't get too isolated in the Redmond bubble and oblivious to the rest of the world, there is limitless potential there. Unless of course I come up with a really great dotcom idea in the mean time. :)
So a new adventure starts soon. It'll be my seventh office move in 17 months!