I loved working at Microsoft. From a management that actually cares and understands dev struggles to great code review practices that don't waste dev time with bs.
Plenty of opportunities to learn, switch teams if needed. I've seen people shift from team to team just because they wanted to add their expertise to another product.
I'll admit, if you're a startup kinda guy you might find things a bit slower than you're used to. Focus is kept on extreme quality.
I hate the fact that Microsoft gets a bad rep coz of the older practices from Gates and Balmer's time. As a company it's really changed and they've embraced open-source finally.