Pros
Microsoft is the new government job with better pay, better benefits, nicer offices, free starbucks coffee, flexible hours and fewer hours overall ... as long as you don't actually want to build software that serves a purpose, or make it work for customers. If you really just don't care about software or customers, this is the software company for you. Microsoft today is an exercise in political correctness run amok, with leaders desperate for approval and well-sold (note I did not say GOOD) ideas and happy to throw money at them. If you understand that kind of environment and want to either run at the new-style Brass Ring or simply surf along the edges - this is the company for you. Go for it. If you can sell it, Ballmer will buy it. (If you need a primer, buy a copy of "Big Blues, the unmaking of IBM".) Now, if you are a marketer and believe that actually building product is "someone else's problem" then this is absolutely the right place for you. Because Mr. Ballmer and all of his directs - believe the same thing. (unfortunately all the "someone else's" left with Bill). It's also a fantastic place for HR and PR, with it's high turnover and need to pretend to be an upscale software company and a great place for technical people to work, and nirvana for corporate lawyers. Check out the close links between Microsoft and Odell Guyton - the lawyer trying hardest to make "ethics" mean "legal compliance". (ie, if you're not actually breaking a law - right now, exactly - it must be ethical, right?) To recap, MS is a great place for anyone in the business of PRETENDING to build software. Sad but true.
Cons
What? You actually have to build the things you advertise and make them work? If you're a technologist and can't get hired directly into a research group - you really don't want to work for Microsoft today. Microsoft has suffered horribly since Ballmer took over. He's a marketer. He was always the guy who'd come stomping down the hallway going "I WANT WHAT I WANT". We'd explain that the products couldn't actually do that and the reaction would be along the lines of "AND WHAT DOES THAT HAVE TO DO WITH ANYTHING?" If it was important, we'd take the technical facts to Bill, and Bill would intervene and shut him down. It was a decent balance of power. Ballmer's drive to do the impossible would get Bill to do things he wasn't inclined to do, but only if they were POSSIBLE. Yes, there was a time when I loved Microsoft and worked with great enthusiasm in that niche of the "not technically impossible". I did a lot of risky things knowing that I could always count on Bill to rein things in when I could prove they weren't technically possible, or so difficult they simply weren't practical. But Bill is gone now. Since taking over, Ballmer has promoted other similarly-minded marketers around him, so now he's completely cocooned in layers of marketing fluff with absolutely no basis in reality. He doesn't know the difference between an actual product and a picture of a product. And just to improve the whole customer-focus and employee-focus thing - he's imported old IBM (Kevin Johson) and legacy Wal-Mart (Kevin Turner). The company used to be better and simpler. Everything asking for millions of $$ went in front of Bill, who would look skeptically at everything at a technical level and go "um, I don't understand how this actually gets built at all, never mind on time or on budget. SHOW ME. CONVINCE ME." People dreaded Bill's reviews but he weeded out the crap and he fired the liers. Ballmer's a marketer. He believes the crap and promotes the liers. After 8 years of Ballmer, you get Vista, Office 7, and Yukon (SQL2005) ... a suite of products that took 5-6 YEARS to release and on seeing them, users are waiting for the next releases on the feeble hope that they'll be better. If you recognize this environment and you know how to manipulate it - you'll be in your element. But if you wanted to build software or do something positive, look elsewhere.