Company: Microsoft
Date: 2009-03-26
Overall rating: 3/5
Employment status: former

It all depends on your manager
Pros: If you are in a good group and have a good manager, Microsoft can be a great place to work.  Newly formed product groups especially have a fun 'start up' atmosphere with a lot of cross-discipline collaboration and everyone working together to get the job done.  Full-time employees get very good health insurance.  Cafeteria food is good and there is a reasonable variety, though as with anything it does get old after a while.  The various campuses are generally nice and most of the buildings have enough windows to avoid the feeling of working in a basement.  Depending on which group you are in, you may get to work on interesting new products.  Most managers are extremely flexible with regard to the time of day you work.  Working attire is essentially "come as you are."
Cons: I have worked at Microsoft for many years, first as an FTE then as a contractor (v-) so I have seen both sides of the coin.

Middle management is made up almost entirely of engineers instead of managers.  While it can be nice to have managers understand the technical aspects of a project, very few good engineers go on to become good managers.  Unfortunately, Microsoft almost never puts managers back into an individual contributor role unless the person specifically requests it, meaning bad managers get shuffled around leaving discontent in their wake.

Work-life balance can be seriously out of whack in some groups.  This goes beyond the normal crunch-time chaos; multiple projects + hardware development builds every 4-8 weeks can easily lead to 6-12 months of 60+ hr weeks.  Expectations for FTEs are always increasing, making it that much harder to maintain a work-life balance.  Whatever you did to go "above and beyond" in the last review period becomes the minimum bar for the next review.  

The review system fosters a competitive, rather than collaborative, environment.  There is little incentive to help peers succeed as each person is stack ranked relative to the others in the group as "assists" aren't tracked or measured.  If something goes wrong everyone scrambles to find somebody to blame instead of figuring out what happened and pull together to fix it.

With the economic downturn, MS cut contractor pay by 10-20% across the board.  At the same time, most groups have limited contractors to 40 hrs/wk, putting lots of people under financial stress.  Some managers are expecting their hourly contractors to put in an extra 10-20 hrs/wk, unpaid, to get the job done.  There is definitely a sense that MS is using the current job market to take advantage of people.