Software Development Engineer • Current Employee
Pros: One thing you can count on is that your coworkers will be very intelligent people.
The culture encourages being objective, courteous, and precise. This goes a long way in making the day-to-day challenges seem solvable.
Where some companies are "too big to change," Amazon is constantly adapting to new knowledge and is improvising its strategies. Jeff is an awesome CEO. He truly propagates his influence through every aspect of the business, and he has a sharp eye for quality.
Cons: Morale is dismal. Amazon does not integrate people; it consumes them. You will be worked to death, mostly because the "development tools" need you more than you need them.
From the outside, and while interviewing, you will hear a lot about how Amazon prides itself on intelligent design and has the highest standards for software engineering. Once you get on the inside, however, everything is a hasty, hacky, brute-force solution, built on a long history of such solutions.
The result is that there are tools out the wazoo – tools for everything, hundreds of them. The ultimate outcome is that you will spend about 80% of your Amazon career trying to find your dependencies, trying to find documentation, and then writing new tools to make your tools work.
What Microsoft solved for by creating Visual Studio and the .NET framework, Amazon solves for by asking you to work until your eyes bleed.