Pros
I am a Software Engineer, and I love working at Amazon. There are a lot of smart people that work at Amazon. We are very focused on working on things that are very important to the company's core businesses, but willing to create new ways to expand the business. Not a lot of theory, all practical engineering. Most of the time, I am driven to complete projects because they are interesting and important. I very rarely don't care about what I'm working on and need to be pushed into doing something. Most people that work there can operate independently, and those that can't usually don't like it very much. I am very independent and self-motivated, so I love not having a boss tell me what needs to be done all the time. There is a flip side to that though- sometimes I feel like my boss doesn't necessarily know what needs to be done.
Cons
The culture has changed quite a bit in the last two years. A lot more project managers that aren't especially knowledgeable about software have come on. There can be a tendency for things to get political between organizations.