Pros
-Most people are passionate to create good products and good experiences for the customer -Lots of different job opportunities. There are hundreds of teams in Microsoft. You can work on anything from games, to main stream products, to hardware, to research projects. I had jobs in many different groups over my years there because I decided I wanted to try a new product. Also, you can change disciplines. I've seen many people want to change disciplines and they started getting experience in there current group and either took over the role in there current group or moved to a new group. -The clique of there are lots of smart people there, and there are.
Cons
-Plans can change on an upper management whim. There's no good reason other then someone way up the food chain had a pet idea they wanted in the product. -Upper management expects everyone under them to provide schedules and such but they don't feel they should be held accountable to a schedule and we wait with no idea when the decisions that have major impact on our product will be made. -Schedules get made that everyone knows can't be made but will only report that as the official schedule until it's blown.