Pros
Microsoft is a huge organization. Your experience would depend on which group you work for and your immediate manager. With risk of generalization, I'll try to describe certain common themes that run throughout the company. * Good Pay and benefits. * Employees are valued and taken care of. * Exciting opportunities available within the company if you get bored of current job. You can live you entire professional life changing teams and jobs to stay motivated or get promoted! * There are a lot of smart people work for this company. They have, arguably, the best talent pool in the industry. * You can maintain work/life balance. Although it is optional. Some people give it up to move up the career ladder like any other company. Staying mediocre is an option which may not be available at many other tech companies and especially not in startup.
Cons
* Firstly, On the day of joining you would feel lost. * Old company set in it's ways and hard to affect any changes. * "Not my job" mentality with little sense of ownership. * Little sense of continuous process improvement. Developer productivity is abysmal with broken tools and processes. * Fight for visibility to get promoted and move up the career ladder. * Lots of Engineers choose to remain mediocre because they are still getting promoted! If you want to get motivated to join or start your own startup, join Microsoft! Here you would see worst of malaise of large corporation.