* Being on an on-call rotation and carrying a pager. The operational burden placed on developers varies significantly depending on what group you're in, but some groups are pretty horrific.
* Middle management is often woefully ineffective (of course there are exceptions)
* Compensation doesn't always correlate with performance, developers in the same level are almost always paid about the same regardless of how much they accomplish, promotion is the only guaranteed path to compensation increases.
* The hiring/interview process is a complete crap-shoot, bad people get in, good people get rejected, when things break there's almost never any attempt to look at what went wrong and how to prevent it in the future.
* RSU (stock) based compensation is highly variant depending on the stock price (when you are awarded the stock and when it vests can be separated by years). In some situations this is positive and some situations its negative, but cash based compensation would be more predictable. If the stock does go up one year your compensation the next year may go down in order to compensate.
* As inevitable with large companies, Amazon is becoming more process oriented, this means more pointless meetings (this is often exacerbated by poor middle management who care more about process than results, and rarely take a step back to see if what they're doing is actually adding value). The weekly metrics and change management meetings that some groups have typify this problem.