Vantaggi
Ironically, the best perk for me is being able to bring my dogs to work. On my team, we've got a solid codebase to work from, a fantastic manager, amazing coworkers, and even our interns can create products that are seen by millions of people. Being able to work on really highly visible projects that have a significant impact is awesome. There is some *really cool stuff* to work on, and a lot of interesting problems to solve.
Svantaggi
Amazon doesn't really give a feeling of warm fuzzy caring for its developers. Makes sense, since the profit margin is pretty low and we have to make it up in volume, but the lack of perks and decent developer hardware makes us feel kind of unloved at times ("frugality" is even one of our core leadership principles). I try to think of it as making us morally superior to companies that splurge on pampering the developers, but I do get jealous on occasion. Also, depending on the team... there can be a lot of obnoxious interference from business managers, randomization, and terrible codebases (we're moving away from Perl as the main language for website templating, but it's not happening nearly fast enough.) And sometimes teams are just meatgrinders - Amazon has a hard time hiring enough to keep up with project growth, much less to keep up with maintenance and OE. I'm also not a huge fan of future-vesting stocks in the place of actual money for bonuses/part of salary.