Good experience in general
Pros
Smart people, cool problems, bottom-up decision-making If you are young and aggressive, this is a place you can make real difference. Just make sure you get into a good team with a good manager.
Cons
Most Devs have to spend a significant amount of time in operation and supportive work, which can be a big distraction sometimes. The operation mentality gets in the way of innovation too. Some managers are so afraid of making mistakes or causing customer complains, that they'd rather take mediocre baby steps rather than addressing the root causes. The company has a slogan: Amazon does not believe in Big Bang, which is totally understandable, but this is sometimes used as excuses for taking short cuts, making safe bets, and rewarding mediocre. If Amazon pays so much attention to operation, you'd imagine that they would put much focus on QA, but ironically, QAs virtually do not exist at Amazon. The end result is that many Devs spend so much time fighting with the legacy system rather than building the new ones. I simply cannot understand the rationality of hiring top-notch Devs to push buttons, handling customer requests, and trivial bug fixes with over 6-digit salaries. Sure, any SDE job would come with a list of not-so-interesting tasks, but I haven't felt so mundane at my previous jobs, so I don't know. Finally, the immigration service at Amazon is horrible. That only costs you a few thousand dollars, which is a tiny fraction of a SDE salary and your operation cost. Why don't you fix it so your International employees can spend less time worry about their GC and spend more time working for you?