The worst place ever!
Pros
good benefit package salary above avg in the area
Cons
Having 12 years of experience and world-level achievements, I was shocked how bad Microsoft is (at least the department I got into and its neighborhood). AGILE AND PRACTICES. It's just a fancy word - nobody knows what it is and how to use it. Within one team people say that we do Kanban and daily SCRUM. Some say that Agile means "no tests" - that's why they prefer TDD. People just have no idea what they are talking about and don't realize how ignorant they are. Every person works on it's own project - no team collaboration at all. TESTING. "Unit tests? Never heard of." They just don't know how to write testable code, and I haven't seen any unit test at all - everything just gets deployed to a test environment for testing, and full run of all tests for a product can take 3 days. No need to mention the complete absence of dependency injection. SOURCE CONTROL AND FLOW. Source Depot, TFS, no GIT. No branch-per-feature strategy.. That is complete mess - so many times other teams broke the entire codebase.. NO SDET POLICY. After they removed the SDET role all Senior SDETs became Senior SDEs. Ha ha - good luck with that. TOOLS AND FRAMEWORKS. Everything is internally developed at Microsoft, no documentation, just some people know little bit about how their internal crap works. Forget even about MSTests that is integrated to VS - they have another internal testing framework. The build system is horrible - it's designed to handle circular dependencies in projects!!! You are useless with your knowledge of most used frameworks, component, libraries when you get to MS, and it's opposite when you quit - all their internal crap will stay internal to MS. MOTIVATION. Most of people just do their job and don't really care about all of those details. I've spoken to other newcomers - they have similar opinion about working at MS, not exciting at all. WORK LIFE BALANCE. Forget about your life, slave. If you are on-call, that means that you need to get up at 3am on Saturday or Sunday and fix the issue, and you get nothing, just nothing for that - no extra vacation, no overpay - just nothing. I STRONGLY DO NOT RECOMMEND TO WORK AT MICROSOFT FOR ANYONE WHO WANTS TO TRULY SUCCEED IN HIS/HER CAREER.