Pros
There are constant challenges, driven by the customer obsession culture. We really strive to deliver the best thing for our customers. Tnohe people that I work with are team players, very smart, some of them even inspirational and this keeps me enthusiastic. There are clear promotion guidelines, your management encourages career growth and there is enough flexibility and opportunities if you are not satisifed with your current team. I've also made a lot of great friends in here, there are opportunities to meet people and befriend them.
Cons
Amazon kind of takes from you as much as you are willing to give. Some people choose to do a lot of overtime work and this is not healthy in the long term, nor properly appreciated by the management. Some managers do not realize that the planning is too aggressive and the goals cannot be met in the normal working timeframe. This very possibly happens because devs do not complain about it, but actually hide it, in the desire to come across as extremely productive, even if this means working nights. Also, aggressive planning and deadline meeting leads to techical debt. Sometimes, we get the time to fix it afterwards, but not always. We are often requested to deliver feature after feature on a poorly written codebase. Also, there is not enough time spent on benchmarking new technologies. This might actually help us with frugality and productivity.