Vantaggi
I'm a career software developer, so my review will be slanted toward the environment Amazon provides for engineers. I can't speak to what it's like to work in the operations, retail or other areas of the company. The single best reason to work here is that Amazon has done a good job hiring smart people. I'm surrounded by people with a variety of different talents, whether it's design skills, algorithms knowledge or general programming skills. I am consistently stretched in my development by being exposed to different, intelligent viewpoints. That's mixture of DNA is vital to a thriving environment where people continue to learn and stay engaged. One of Amazon's other key strengths is its ability to remain focused on customers and building long-term value. I've worked here for over 10 years, and we've consistently found innovative ways to improve the experience for customers. Many projects don't reap immediate profit or cost savings rewards, but because they're the right long-term move for the company, we do them anyway. That's great to see as a long-term employee.
Svantaggi
Amazon started out with a huge focus on software and technology, but over time, that has given way toward operations and retail. We are not a software company, if we ever were. Software quality is not a priority in any meaningful sense of the term. Software projects are driven by operational and project deadlines. We're slowly starting to realize that short-siding quality hurts in the long term, but software development is still incredibly focused on the short-term. Any project that requires coordination across multiple teams (most do) becomes a nightmare, as we have lost most of our previously-effective project management talent. The culture here as become infected by turf wars, something I saw change as the company grew quickly and hired senior management from other companies. Many teams now focus on "their" projects and are reluctant or unwilling to help others. It's a shame to see this become part of the company DNA, as most software teams I've worked with seem biased toward cooperation. The fierce competition for resources and constant bottomless list of scaling and growth projects leaves very little room for discretionary projects. Part of this is the result of successful growth at the company, so it could be worse. Round-the-clock support is also expected of software engineers. Although there is good coverage from support teams, someone is on-call 24-7 on most teams. You are expected to be no more than 15 minutes away from a dial-in/VPN location at all times when on-call. That doesn't even give me time to go to Costco, and makes commuting a pain.