Pros
-Great benefits -Good pay -Looks great on resume -The part of Microsoft that I work in (Business Application Groups) is growing very rapidly, and so there are lots of opportunities for learning -It doesn't feel too much like I'm working at a massive company because of all of the responsibility I got as an entry level engineer, and the opportunities to work closely with customers -Great culture, cool people
Kontras
-Particularly where I work, we are rapidly developing. There's always some fire to put out. Sometimes I feel overworked, and end up working significantly more than 40 hours a week (closer to 50-55 range) -There are other companies that'll probably pay you better (not that Microsoft's compensation is bad by any means) -Depending on your team culture, you might be overwhelmed by meetings