Software Engineer III • Current Employee
Pros: Amazon's customer focus is the most genuine I've worked with to date, not like other companies who put some fancy words on the wall then do everything they can to ignore them.
Compensation is decent, especially signing bonuses which are huge. Relocation expenses are generous, especially for expat hires. The share plan is pretty decent, if weighted toward later years.
Teams are very small – usually around 10-20 people – so they are relatively agile groups working on thousands of different things all at the same time, so there's always something new and exciting being announced. Coordination between teams is mostly achieved through management, which leaves the engineers on the ground free to execute.
Amazon is really ideal for interns, junior, and mid-level developers. It's a great place to cut your teeth on big problems, get a lot of responsibility very quickly, and rack up those crucial years of experience for your CV with a company that looks great.
Amazon itself is clearly still on the way up. For a company that makes no money, it's growing super fast, doubling its full-time staff every couple of years, taking on more and more projects, and breaking into new markets and technologies. If there's a peak, Amazon is still a way from reaching it, and the stock price reflects this.
The head office is dog-friendly – you can take your dog to work with you, which is pretty cool.
Cons: You'll notice reading reviews here are very mixed, and the reason for this is those aforementioned small teams. While this creates agility, it also creates huge disparity.
The manager pretty much controls everything, so score a bad, ineffective, or incompetent one, and your life just became hell. Some teams have insane on-call demands, others crazy work hours and deliverable pressure, some dysfunctional processes and decision-making, and yet two floors away, there'll be a cluster of 100s with great work-life balance, competent management, and great processes. It really is hit and miss, and if you're unlucky, you're stuck for the next 12 months.
Management in general is also hit and miss. The general shortage in the sector has meant, especially in Seattle, a flood of ex-Microsoft employees jumping ship, bringing with them a mentality which is as alien to Amazon's original culture as you can get, and which is starting to show. Decision-making is increasingly pushed up the chain by deadlocked committees that have way too many people present. Project launches are pushed back. QA blindly executes thousands of test cases which no one has any serious faith in, but yet will still block releases, etc.
There is an element of shortest-path mentality to the customer focus (frugality, after all, is a core value). This isn't Apple; rarely is the "best possible experience" a factor in decision-making. Rather, they push it into production as quickly as possible and worry about coming back to fix it later, knowing full well that it actually never happens. The experience is patchy; some areas of the software will be amazingly tuned, while others barely function. Some teams won't do anything without data and an A/B test to back it up, whereas others will agonize for months over the right color background for the top-right corner in meetings that drag on for hours, way overloaded with senior management.
Benefits are pretty minimal. Sure, there's great insurance, commuter benefits, etc., but food is minimal, catering is non-existent, free drinks or entertainment a rarity, and leave entitlements are stingy. The technology they give you to work with is a joke when 32GB of RAM costs like $100 these days and laptops come with 4GB and weigh a tonne. Watch out: your 401k dollar matching is in Amazon stock that won't vest for 3 years, your RSU is heavily weighted to your 3-4 years, and most employees don't make it past 2. Pay rises are small and grudging, and bonuses are pretty much non-existent. Leave entitlements are really stingy.
Most mobility is lateral—individuals moving between teams—as getting promoted is really difficult, even from SDE I to II. Most senior positions that open up are filled from the market, and career mentoring is pretty much non-existent. Promotions are done by committees with managers fighting each other for a small number of slots, regardless of the merit of each individual, and "bar raisers" who will actively oppose anyone not performing above a bell curve that is disproportionately out of sync with the reality of the actual talent pool. For senior engineers, don't expect to move up the ladder past your initial hire level anytime soon.