Nothing special, really. An advantage is that you can push hard for something, and if you're willing to put in the time, you will be able to get it done. If you've got the energy, drive, and chutzpah, you can do well here, but this is a production environment, don't expect cutting edge. Pay is good.

Cons

Amazon is basically a big store with a huge web presence. Don't expect anything really exciting to happen here. Although, occasionally, something may pop out. When you work here, consider yourself a cog. The catch-phrase is something like "a good software developer can do anything." What this means, in practice, is that everyone seems to be working on stuff they are not particularly good at. If there is a need to deal with a web scalability problem, there may be someone two desks down who may be an expert on server scalability, but is instead working on UI. No effort seems to be made to fit people with their strengths. Amazon's emphasis on frugality makes it so the work environment is not particularly pleasant. Be prepared to work in a "start up" work environment with power cords hanging from the ceiling, cheap desks, no partitions, etc. A real issue with the frugality mindset is that Amazon tries to develop on a shoestring. The build procedures are poorly planned, and tools are pretty primitive. Most infrastructure groups are woefully understaffed and it shows. Because the infrastructure is so poor, developers can expect to spend more time dealing with infrastructure issues (such as build issues) than in other companies. So much time is wasted dealing with issues like this, that you can expect to work overtime just to get a normal amount of work done. Lastly, benefits are not great.