Learning to game the system

My 2 years at Amazon showed me that the managers that have been around for any meaningful amount of time are only there because they learned to game the system. They do not care about anything but creating the perception that they are doing a good job. This means they make sure that specific metrics that upper management reviews are high, even if they have no real impact on code quality or efficiency. This translates to you not getting to spend time doing the right things or creating quality processes. You'll be drowning in technical debt from the last guy that quit (or was fired) and you'll never get your head above water. Management will use you like kleenex - you are utterly dispensable. 

Every year, at least 20 percent of all teams are let go for no good reason based on the stupid performance metrics system. You are forced to do peer reviews which say negative things about your coworkers. I tried to turn in glowing reviews for some of my peers who have no real negative points, but I had those reviews returned along with being told that I had to write some negative comments about their work habits. 

In other words, management arbitrarily fires fully competent programmers. This results in an environment that discourages cooperation and creates enormous unnecessary stress that burns most everyone out within a couple of years. Worst of all, it causes politics: people backstab and throw subordinates and coworkers under the bus. They also use (or misuse) the anonymous feedback tools to do their best to not be the lowest rated employees. 

The ultimate result is that anyone that has been at Amazon more than a couple of years is therefore a snake (or possibly a unicorn - there were a few great folks, but this was very rare). Most long-term Amazonians are most likely some kind of venomous snake who has taken human form. 

Please do not accept a job at Amazon unless you truly have no other options.