Company: Microsoft
Date: 2008-09-28
Overall rating: 4/5
Employment status: current

Solid, but at times frustrating
Pros: As an SDE, you are given a lot of freedom at Microsoft to design your feature from a technical pespective.   There isn't a lot of second guessing, and you can use the tools you prefer for the most part.  Benefits are A-rate (although the $1500 limit on dental can be costly depending on your situation... but that is the only real limit).   There is a huge swath of products the company works on, and it's relatively easy to move around (18 month commitment per group).   Co-workers are generally top-notch... you can learn from them.   Open and constructively critical culture for the most part.
Cons: My main issue recently has the been the rewards system.   Basically, rewards are given out based on a stack rank system.   A group of even 40 people must fit the curve, and every such group is basically given the exact same pool of money to start with.   The result is that, perversely, you really don't want to be a strong team because it's going to be more competitive.   There is no accountability for product failure in the market.  Every level x SDE in the company is getting paid the same range, no matter what the status of their product.   Every dev group (for example), is getting the same pool of rewards.   Work expectations in terms of both time and competencies are supposed to be standardized across the firm, but it isn't even close to equal.   Recently my group interviewed a bunch of devs from another group whose project was finally cancelled (a rarety!) and none of them could make our hiring bar.   I'm starting to shop for the internally weakest group I can so that I can do less work for the same outcome.. it's really quite stupid.