Pros
Absolutely huge company with tons of weight in the business world.
Cons
What team you end up seems pretty random to an outsider and is a pretty opaque process. Does not invest in its people, so if you were dumped in a team that is a disaster, you'll have to wait a year to move within the company, but you probably won't stay longer than that. Work life balance is non-existent. If you're in a smaller team's on call rotation, you'll be on call for a good chunk of time (and weekends aren't counted as work time(!), even if you have to be within a half hour of logging in when you're on call). Civility is in short supply because the people that manage to last more than the median tenure (which depending on where you look is as low as a year, Amazon doesn't advertise that) have usually managed to do it by exploiting knife fighting and stack ranking. This short tenure plays into Amazon's stock vesting scheme to ensure that at least half of employees won't receive any stock options at all. If you want to do any modern development (outside of Java), prepare to fight the infrastructure for months. but, hey, they pay a lot for that first year, so maybe you'll be into that. Just don't leave before then, because there are a bunch of clawbacks to keep you stuck after you realize you've made a mistake.