Great place to work if you're high level (5+) and land on a good team with a good manager. Mind numbingly boring if not.
It might be a nice thing to avoid them, but you're always working with legacy code, and I've literally had "I need to add a button to accept new permissions" blow up into "I need to refactor our entire class structure across 200 files because I'm not allowed to add a new test that follows our old patterns nor commit this code without coverage, and oh yeah, nobody wants to review that CL in one go so I have to figure out how to break it into 20 bite sized changes. There goes my quarter...". That's just dumb, and that type of dumb is very fashionable at Google.
My two cents on Google and Amazon: Both companies are large enough that making blanket statements about company culture is a dangerous game. What you need to do is find out which silo you would be working in, and try to figure out what the culture is like in that silo.
One thing you can grill the recruiters about is what the employee review process looks like. Both Google and Amazon use stack ranking, which is about the most brutal system there is. At Google, feedback from fellow engineers factors heavily into your performance reviews. Amazon seems to be more focused on measurable performance goals and demonstrable contributions to the company's bottom line.
This isn't really true (at least at Google, IDK about Amazon). "Stack ranking" historically has two components:
1. Being rated relative to your peers as opposed to a rubric.
2. (Usually fast) removal of the lowest performing individuals.
When combined, these become "fire and replace the bottom 3% of people on every team every year." The downsides to this approach are that if you're on a strong team, you may be a median employee, but be the weakest on your team, and be forced out for this reason. It's clearly problematic.
IDK about amazon, but the first is only half present at Google, and the second isn't really at all.
In some sense you are rated to your peers, not a rubric. But only in the sense of at aggregate (that is, in an organization of 1000 people, you'd expect ~30 people to be in the "worst 3%" category, so if only 10 are, that may raise some questions.) This removes the competition and potential animosity with your direct peers and aligns more with the rubric based idea, though it is possible that a an organization may have across the board above-average (or below) performance on occasion.
For the second, people with NI ratings aren't immediately fired (I know of a few people who got NI and found new teams and much more happiness), though obviously consistent NI could result in that.
Amazon has a more singleminded focus on succeeding in the business and making money. This can be good or bad depending on your personality and goals.
I want to say I would fit more with Amazon based on the vibe I got and my personality/goals.
It's good to know that Google isn't totally out of the question though (provided I would pass interviews etc).
It really seemed like there was a "fiasco" every year or so regarding politics and that's sorta my worst nightmare in the workplace lol
As long as I can work in peace I think I'll be happy.
Thanks again for your response!