Pros
Amazon is still growing, and there are a lot of great teams to work on. If you pick the right team with the right manager, there's a lot of opportunity to work on fun things like AWS or Digital Services, and get recognized and rewarded for your achievements. Some of the other highlights include: weekly tech talks to educate engineers on what's going on in the industry or to talk about a cool new technology that a team is working with, "fishbowls" - where popular authors or artists come to talk about their latest books and albums and of course, all the benefits of working in downtown (or close to it) Seattle. The dreaded pager duty that many Amazonians complain about again depends on the team you work on. On a large team, you can foresee being on pager duty once every 6-8 weeks. If your software service is critical and has a penchant for going down, this can definitely be hell. For some teams, where the service is not critical (support for internal teams, for example) or not prone to outages, pager duty can be considered a mild inconvenience.
Cons
The benefits are OK, but not up to par with the other leading tech companies, like Google and Microsoft. Stock bonuses are great when the stock price is high, but if the stock market takes a dive, suddenly that 10k bonus you were looking forward to could be more like 5k through no fault of your own. Being a large company means there is a lot of information spread around the company (a lot of it wikified in the internal company wiki), but it also means it can be hard to find information when you need it. There also seems to be a growing trend towards attracting new hires with higher and higher salaries, while not maintaining a sufficient wage increase for current employees. This leads to new hires coming in with higher base salaries (excl. bonuses) than some of their teammates who have been there for two to three years!