Company: Microsoft
Date: 2009-05-30
Overall rating: 4/5
Employment status: former

top choice for an industrial research lab
Pros: Working at MSR is very demanding but very rewarding.  You work with incredibly smart people, you are given an array of opportunities to learn and interact with all aspects of the research division and the whole company, the tech talks are great -- every day there are a few invited talks on all sorts of topics, the atmosphere is very comfortable (e.g. no overload with meetings), you set your own goals, agenda, and what you want to accomplish.
Cons: Success at MSR is measured more by papers you publish, and less by code you write.  If you come in as an intern, the expectations are that you will get a paper our of your summer project.  You could code up the coolest system in the world, and even it is very practically useful (even for MS products), it might not be worth much unless you can identify the novel aspects that distinguish it from prior work, write a paper about it, and publish in a top conference.  This can be hard to take for people who enjoy development or who don't know how to (or don't want to) write good papers.  An exception is tech transfer, but this doesn't happen as often as it should, researchers have to go out and convince product teams (who are often skeptical) to use their ideas.  MSR is a great place if you like pure research, going to conferences, and implementing quick mockups and prototypes, and don't like writing and shipping production-quality code.  MSR is not so great if you dislike paper deadlines.