*Microsoft can change your job title/function and rip your career out from under you whenever they feel like it (they completely did away with Software Engineer in Test which I have been for nearly a decade)
*Management does not provide good advice on how to advance your career in the company, you have to figure it out on your own
*The automation and code repository systems used by many parts of Microsoft are really out of date and cause significant delays in work
*After getting rid of the test role, Microsoft in-development software is extremely buggy, and you are expected to use it during your everyday work to find bugs, and they keep begging you to install it on your home systems. Not paid enough to put my data and personal systems at risk.