Pros
- Mature tech environment with tools that don't exist at other companies - Good payout if you can handle staying 4+ years - Easy to transfer to other Amazon teams (people frequently move around the company)
Kontras
- You're limited to learning and using Amazon's build tools, which are often slow and painful to debug - If you're an acquired company running non-compliant legacy code, you will spend most of your time fixing bugs and working to maintain compliance with Amazon's strict security standards - Equity is worthless if you don't know that you'll stay 4+ years - Promotion process is the worst I've ever seen, and requires a combination of luck, timing, and a manager on your side for you to get the right projects to satisfy the requirements - It takes ages to get even small features released because of strict requirements on testing and documentation (good for customers sometimes; bad for developer sense of accomplishment)