Pros
Amazon has a fast paced environment. You get to work with recent technologies but can also manage well with older ones. SDEs are encouraged to gain knowledge in ML and regular sessions are held to help. As an SDE, you work on everything from designing, coding, reviewing, deploying and maintaining your service. You get overall development experience. Provides a good launchpad for career growth. People are independent to work and grow. There is no micro-management of people.
Kontras
You might end up spending a lot of time in office though that does not mean you'll always work. Oncall policy can disturb your sleep once a month. Not many fun activities are organized like that in Microsoft (from what I have heard and seen). Your interaction is mostly limited to your team though no one is actually stopping you from approaching a senior SDE from other team.