I saw over on Dennis’ blog that he linked to an entry Steven Sinofsky wrote on his “Microsoft TechTalk” blog about the PM role at Microsoft. I was reading through it and most of it sounded pretty much inline with my experience until I got to this little bit:
As an aside a lot has been said lately about “agile development”. A key benefit of program management is that we are far more agile because we have program management. That can be counter-intuitive (even for many developers at Microsoft who might be waiting for their PM to iron out the spec). But the idea that you can just start writing code without having a clear view of the details and specification is a recipe for a poorly architected features. A great PM knows when the details are thought through enough to begin and a great developer knows when they can start coding even without the details for sure.
I kind of agree and kind of disagree with this. I agree because obviously, you can’t start coding without any idea of what you’re building. I disagree because it appears that Steven doesn’t know exactly what agile development is… there are many different methodologies for “agile development” and as far as I know, none of them involve coding without any specing whatsoever…
Then later in his post, he writes:
Many companies will “sell” you on being able to do many of these different things from one job. This is just not a reality that exists and I always feel a bit bad for folks who believe this. There are two times I hear this a bunch. First is at startups you hear “come join us from college and you can own all of this”. Of course at a startup the real experience is that you are the college hire, which means you will do the grunt work while the founders and the venture people do all the strategic work–so you might find yourself setting up the build machines rather than interacting with customers. Second, I hear this a lot when companies are selling against Microsoft and point out that “at our company we do not specialize and everyone does everything”. This is another “well in reality…” situation, since of course even when I have seen companies that claim to do the specifications or customer research and up front planning they do that work from Product Management, and those people are just as specialized, they just report to the marketing team. And we know what that means, which is when push comes to shove the marketing team will need to use every hand to get out there and generate the business and sell–so even if there is a single group that does the work, those roles are specialized, and rarely dedicated specifically to the role.
Wow… I’m going to have to totally disagree here. I see Steven has qualified the statement as being based “[his] experiences and of course your specific situation might be different” but it still seems to me like it’s not exactly in touch with reality.
For example, at Plaxo it doesn’t matter if you’re a fresh college grad or you’re a 20 year industry veteran. The plain truth is: we can’t afford to hire super specialized employees. Each person at Plaxo needs to be a valuable contributor and extremely flexible - there’s just too much to do and not enough people to do it. In addition to that, we also can’t afford to hire people who aren’t going to contribute to our critical projects. We only have 35 people; that means everyone has to do substantial work on the products we’re shipping to millions of customers. We can’t put a college hire on “grunt work”, we need him/her to design features, implement them, and get them shipped to our customers.
Now I’m not saying that the college hire won’t need to do any “grunt work”. What I’m saying is, everyone does “grunt work” when it’s necessary to get the job done.
The same thing repeats itself over and over at the other startups I visit and talk to. Steven, I’d encourage you to come down to the bay area and visit some startups sometime; I think you’ll see a drastically different picture than the one you’ve illustrated.
The funny thing is, I’ve seen Steven’s “college hire” description more at Microsoft than any startup I’ve visited. In my experience (and of course your specific situation might be different
), I’ve seen many college hires at Microsoft put into positions where they are taking care of build scripts, fixing bugs in code they didn’t write, and setting up test machines - basically doing the “grunt work”.
I know I’ve picked two very specific excerpts from Steven’s post to tear into, but the rest of it is actually really good. He does a great job detailing the Microsoft PM/Dev/Test model. From my own personal experience, I think Microsoft’s PM program is great and I know I learned a ton from working there. Getting a job at Microsoft is definitely far from the worst way to launch a career 
However, for all you potential college hires out there, you gotta ask yourself: what are you working towards? If you’re looking for a long and steady 20 year career where you can slowly move up the corporate ladder and make a comfortable living, then you’ve got Redmond, WA written all over you. But if you’re looking for a career where you can make some big bets and with some luck come out orders of magnitude ahead, then my opinion is that Microsoft isn’t such a great place to invest your time right out of college… if you want to know what working at Microsoft is really like, check out Mini-MSFT’s blog and the comments people leave there. I guarantee you that’s the real deal.
UPDATE: I’ve talked to a few people about my last statement in the post referring to Mini-MSFT and I can see how people might take exception to it because it makes it sound like I’m saying the stuff in Mini-MSFT is exactly what happens at Microsoft. I should’ve also said that in addition to stuff like Mini-MSFT, I’d encourage people to read other blogs (like Dare’s, Dennis’s, and Adam’s) to get a comprehensive view of what working at Microsoft is really like.
The discussion of what you’d consider impact is murky as well. There’s probably an element of buyer’s bias where we each think that we’re delivering a lot of impact in our own different ways. Comparing the amount of impact is probably a fruitless endeavor, at the end of the day we’d just be comparing apples to oranges. The one thing we do seem to agree on is that there’s no clear definition of “impact” 
At the end of the day, if you’re considering working at Microsoft, I would suggest you read up on a few different blogs about working at Microsoft (including both Steven’s blog and Mini-MSFT). As Dare and Adam said, the truth probably lies somewhere in the middle and even within Microsoft, the situation varies.