Pros
Starting right out of college, Amazon provided me with a great environment to grow core team software development skills like writing design docs well, escalating where appropriate, clean code, etc. Teammates are intelligent and helpful, seldom had a bad collaborative experience. There exist opportunities for job growth, if you actively look for them. Management does a pretty good job of giving those opportunities to promising underlings.
Cons
AWS generally prefers to use proprietary internal tooling instead of industry standard solutions. Devs use totally-not-Docker package management, totally-not-Asana scrum planning tools, and a totally-not-GitHub collaborative review interface. These tools are all fully functional, but they don't always have the best user interfaces, making onboarding to them a bit of a hassle for new devs. These proprietary tools also silo existing AWS devs into the AWS infrastructure.