Pros
The only pros i can see is, the work experience at microsoft helps in finding jobs at other companies.
Cons
- You would be like a frog in well, oblivious of any other developments going on in the industry. - Very bad work/life balance, often overworked just to impress the manager and almost all managers expect this. Ironicaly, the overwork does not result in better product, since only grunt work paths are choosen and smart work is not valued. Every manager treats his reports as his slaves and thats across the company at all levels - Even in the some of the best divisions, product groups in the company, where use of 'advanced algorithms', 'distributed computing paradigms' are mandatory, the engineers are very incompetent and most of them think like an application developer. - 'large scale computing' at microsoft is a big joke. - Promotions are completely random, highly political compared to any of the companies in silicon valley. - In short you are treated like a daily wage blue collar worker, with some good health insurance. - All the good rating for microsoft here seem to be either of people who have not realized yet that they are stuck in a mire or who have benefited a lot with corporate politics. For those who dint realize, there would a very hard way out if you work there too long, when you want to get out, since the technologies used, quality of work, analytical skills learnt at microsoft will hardly enable you to find a role even at a mediocre silicon valley company.