Pros
* Lots of responsibility * You'll build big and exciting products * You'll work with some really smart people
Cons
* Lots of politics and bureaucracy. Managers take entire teams of employees with them when they leave. Poaching happens all the time. Attrition is a huge problem, even though the higher ups deny it publicly. Promising young engineers often end up getting frustrated and leaving. There are some good engineers who stick around, mostly for the stock. But it's much less stock than what you get at Google and Facebook. * There will be a lot of pressure to get stuff done but you'll not get the resources to get it done. There either won't be enough devs in your team or the systems you'll need to depend on will be complete crap and devs in the platform teams will be too overworked to help you out. Directors and VPs (and Bezos himself) care more about getting stuff out quickly as opposed to building things that will last. Yet they say the opposite in public. What a bunch of hypocrites. * Communication is very very hard. Other teams won't want to talk to you and won't want to help you, and you'll have a very hard time convincing them otherwise. Amazon will probably never care about its engineers. It has made too much money treating engineers badly. Do yourself a favor and don't work here. You might get lucky and join one if the very few good teams, but the chances are low.