Avantages
Super-smart and very competent coworkers make it a great place for driven people to work. The CEO is not afraid to take risks and invest for the long-term, and all of the senior management are superb. The pay is relatively high, and it is possible to find a good work-life balance with some effort and setting of boundaries. Amazon runs a tight ship, which means there's always work to get done, but it also means a developer has a wide scope to do far more than write code, from helping to make business decisions to managing projects.
Inconvénients
Burnout takes hold quickly for many employees, leading to high turnover in some departments. Amazon loves to celebrate all the new people who have joined since the last company meeting, when most are just replacing others who have left. Finding a good manager to work for is the key, but you can expect a new manager every six months to a year, which means you'll inevitably end up working for someone you don't like. The company used to be fun to work for when it was younger. Amazon now only hires the best of the best, which seems to have driven out all the interesting people on its way to become a well-oiled corporate machine. The average age of the company is still very young, and Amazon likes ambitious new college graduates. For those a little older, learning new skills to stay relevant in the company is something you'll have to do on your own time and money. Pager duty is a major pain. Smaller teams can expect to be on-call at least one week per month, while larger teams spread out the pain longer. Getting paged in the middle of the night for a high-severity problem that take eight hours of investigation to fix is enough to drive many to quit.