Great place for diversified experience
Pros
Microsoft has a great variety of teams doing very different work. Where else can you switch from low level hardware drivers to game development to cloud without changing companies? The benefits are great too.
Cons
- You are penalized when you switch teams, nothing you did on the previous team counts anymore, even if it's withing the same division/org. - Politics is more important than technical ability and collaboration is not valued, it's better to redo something that get other team to adjust a library for example. - Review system gives too much power to leads, you have to do what they think is best, not what's best for Microsoft or the customers. - Some decisions come from above from nowhere and no explanation, a little transparency would be great for motivation.