I really like amazon from the outside, but their internal business culture in the development teams is just poison.
I saw D players give B players scathing interview comments. It almost sounded more like they were scared of being replaced than actually evaluating the candidate.
I watched a teammate get promoted while I was putting out fires for and barely managing to keep running their horribly designed, over-complicated Java service, which really just needed to do CRUD.
I lasted 2 months before I started interviewing elsewhere, but I made it out in 8 months. I happily paid back the signing bonus and gave up the non-vested stock.
I started in a worse-off team, but I moved to one since that succeeds and is insulated from politics. We're on the margin of the dependency graph and own our whole stack from pageview to database. We also have end-user customers, which gives us a North Star that seems to help.
Without denying any of your experience, there are many Amazons inside this big umbrella. Probably hundreds of autonomous (more or less) teams. The good and bad about working at a place like this are not evenly distributed. From what I've seen, when it's bad, it's really bad. But it can be good too.
My advice to job seekers would be: get some inside scoop on the right/wrong teams to join. Failing a person you can talk to, ask about the level of pager activity and how independent your team is. With high visibility and high rewards come high pressure. It was wrong for me and it could be wrong for you too.
I did find a better team within Amazon. I had an offer from one of the groups in AWS to do something right up my alley. It was basically a dream job. My manager blocked it. I appealed to HR and they simply ignored the "rules" (as they are in the handbook) and wouldn't let me leave.
So, one of the things-- the claim that you can go to another team if your manager doesn't perform-- turned out not to be true.
Rather than stay with a company that wasn't keeping its promises, I left. So, I can't speak to other teams. [2]
[1] Though 3 of the sibling teams at the same level, who reported to my bosses boss, were also run by bad guys, which cut off most of the obvious lateral transfers.
[2] It is possible things have improved, as it has been more than 3 years.
I totally buy that there can be unhealthy leadership throughout an org. The story sounds familiar to me. It only takes one bad grand-manager to ruin the show for a lot of people.
If there's one thing that has gotten on my nerves at Amazon, it's this insensitivity to employee retention. I don't know you, but I'm confident Amazon would be better off with you having fun on the right team rather than poking you until you leave. Not letting you leave for greener pastures would be a huge red flag for me. I would ask for the manager logins to avoid.
I've seen other situations where a bad policy followed strictly caused good engineers to walk out the door. Not because they couldn't hack it, but because the policy was arbitrary, or restrictive. Maybe this is endemic to big companies in our industry. I know I prefer a little more anarchy and humanity.
My experience has been one of more regular movement. I had a somewhat unusual move early on, about six months into my tenure. I spent a couple years on a great team and then moved laterally to emerging projects in the same org.
I know our mileage has varied but I think these are two very recognizable portraits (including crisis management) of the company.
The thing is, they may well be right. I believe that Apple (whom I've never worked for) does things differently. For instance, individual departments don't have profit and loss statements, the whole company does. The product focus "religion" seems to have started with Wozniak and Jobs - both of whom helped form the company culture- and was hugely re-enforced by the traumatic experience of the 1990s and the lesson taught by their comeback. (But for all I know at the individual level they may also be stack ranking.) At Apple there's a third party to the table- designers- and they seem to be the ones with the upper hand in calling shots. Since everyone recognizes and respects the need for design at apple-- this being part of their culture- this may ultimately make Apple employees more focused on the product. But I'm going here on what I've read about the company, I don't have inside info.
Microsoft wants to protect their windows and office business, above all else. All competition is seen in light of "is this threatening windows?" But at the same time you have that drive "to increase visibility outside your team."
Amazon wants to just throw things at the wall and see what sticks. One of the ways to get visibility in Amazon (and thus a high stack rank) is to come up with something to throw at the wall... during it's flight and while it is still in contact with the wall, you do well and get promoted, and by the time it starts to slide down the wall and crash and burn (e.g.: A9, amazon catalogs, amazon menus, etc.) you've parachuted out to a nice well funded startup where you are a "big name". (EG OCP Corp from Robocop but with parachutes.) If you get lucky it actually sticks (e.g.: AWS) and then you have a license to throw things at the wall at will.
Apple on the other hand focuses on only a few things, and focuses on the customer experience and focuses on being super capital efficient, to the detriment of employees in the sense that they seem to have very high burnout (a lot is accomplished by a few, but the stress is immense.) But I think the inclusion or deference to design is the key advantage for them.
It would be interesting to know the dirt on what it is like to work for Google, as they seem to have at least tried to take a completely different approach, but everyone I know who has worked there hasn't remained there more than a couple years. So, I don't know what's going on there.
[1] though I can't empirically prove
This seems consistent with the personalities for both Gates and Bezos in that they are competitive people. They know it is difficult to compare people across disciplines, so they punt on the problem and just make it a contest.
I have to wonder if this is a case of applied fundamental attribution errors, where they see their own success not as a natural outcome of their own privileged circumstances, but as a contest they won due to their skills, knowledge, and ability to beat their competitors at their own game. This then becomes the organizing principle of their companies.
IBM also employed the 20/70/10% concept to employee reviews in the 90s.
For anyone who hasn't seen the movie: it doesn't end well.
With respect to employees, the point of a "forcing function" has less to do with motivation than with finding some way to make change possible in a crumbling organization of fiefdoms whose managers insist that, nevertheless, "all my children are above average." If I recall correctly, Welch even points out that "C" players often go on to be "B" or even "A" players in other organizations, which doesn't change the fact that everyone can't be doing everything right when the overall organization is underperforming, so there are either weak spots, or no alternatives to immediate liquidation.
Finally, I'm quite confident Welch would agree that "blindly applying a vague principle you read in some book, then sticking with it for years because 'it worked for $MEGACORP'" is a stupid idea, regardless of who wrote the damn book!
Another problem with any ranking system is that a ranking is static but actual performance is fluid. Just look at K1 results and then look at the records of the fighters. They've all fought each other and they've all lost to each other. So Hoost was better than his peers four times, but he also lost to those same people. You can say he is better in "win points", but this would never help you predict if he would win his next fight.
Therefore if a manager plays politics and promotes his inefficient pets, sooner or later he comes ranked last among his peers. So if though he wants, he can't.
He also says that the stack ranking system makes it very difficult for the managers in the 3-4 year after it was implemented, because now they may have to let go some good people to retain the very best.
However it did work to a large extent in GE. Jack Welch's immediate reportees all went on to become CEO's of top companies.
But things like this blind copied and applied don't fly much. You need to implement them in spirit and that's difficult.
Also stack ranking requires a great leader with courage in the top who actually has the vision to take things down to the last employee. For this you need to cut bureaucracy, bring in meritocracy. And do nearly every thing your traditional exec can't.
The reason this fails is some clueless MBA's in the name of case studies take it up and blindly without knowing the spirit behind it apply to anything and everything under the sun.
Each leader has his style you can take some lessons from it. But you can't be that leader copy cloned and template act everything he did. When you do, you only do it ritually and not in spirit.
Which is what cause things like Stack Ranking to no be viable else where. Because you are not thinking as Jack Welch did, you are trying to imitate his action and hope to get the same results.
It's worth noting that Welch himself almost got fired from GE early in his career-so he knows that performance evaluations aren't 100 just!
I can assure you that this description of the system doesn't begin to describe the hilarity involved. Any system where you have people proud to be ignorant of what their subordinates doing then being tasked to do meaningful evaluations is nonsensical in my mind. I guess its a 'growing pain' ... like how a heart attack is a growing pain.
What I saw was 95% of the middle management layer was thick. Practically of no use, and acted nothing more than an inefficient communication buffer between higher management and devs. They treated developers like tissues, choking innovation at every level. To make it look as though programmers are useless bunch of lot, and whatever good is happening in the organization it was because of them. The qualification of most these managers at best described was 'can write emails'.
Performance evaluation in such companies is a joke, Only managers pets get promoted. And company functions like gangs working for their survival rather than for the company.
I couldn't imagine anything worse that the Stalinistic "360 degree" reviews I've experienced. I was wrong.
TL;DR: At the end of writing this I realized I was burying my lead. Since the only way to advance at amazon is to create new stuff, and teams are constantly reformed in the chaos, there are often nobody left to keep past efforts running and things just break down. So at best someone is avoiding the pain of getting yelled at in the weekly site outages, while also being yelled at because they have to constantly churn out new features, all the time.
AWS has some really good solid engineering work in it, no question.
But Amazon is compromised operationally by their completely chaotic engineering practices, which are a result of the political culture and C people in management. (Another person said they knew good team managers, and I am sure this is true in other teams, I just had a bad batch.... but I think as you go up the chain the quality goes down.)
Thus you have people who are between the Sr. Manager and VP level who don't understand technology and are not making decisions based on uptime. Uptime is "important" and thus teams who get blamed for downtime (not always accurately) get pressure on them... but there is a significant lack of anyone empowered to architecturally build a stable system.
They're still using code from the 1990s, and I periodically go to the site and test a couple regression cases I'm aware of that were bugs that were fixed. They've become unfixed in the intervening years, in fact, it appears that the team I left (which had lost %60 of its members at that point, for the same reason I left) was probably disbanded and there simply is nobody in the company who is charged with making sure that this stuff works... or its a responsibility of a team that is forced to spend almost all of its time putting in new features.
Talented engineers don't only work at startups, most of the really interesting work isn't done by little companies, they just don't have the budgets to do much more than mashups of existing technology, it's big corps with deep pockets that do the really hard core CS.
Which is not to say that they're not perfectly servicable cameras; other than being mirror-reversed that folder I have is one of the most sophisticated of its type ever made, with a coupled rangefinder, a coated (!) Tessar-type lens and different masks in case you were mad enough to want more than 8 shots to a roll of 120. But what design aesthetics are present are almost the same as 1930s Zeiss cameras with perhaps some corners cut for manufacturing.
The Soviet aesthetic can sometimes look retro-cool but you have to admit it's not much of a hit with Western consumers.
Go here: http://www.ussrphoto.com/Wiki/default.asp?ParentID=1
Check out the GOMZ/LOMO sections.
Tetris is a concept, not an implementation, it can be made to look good or to look ugly, but that doesn't matter. Yes the Russians invented a bunch of stuff, that's not under discussion - the point was that socialism didn't put much of an emphasis on producing stuff that had an esthetically pleasing effect on people, to put it mildly.
(to add to the examples I gave in another post - the Trabant. Come on, that thing is (compared to its contemporaries in the West) fugly.
Besides, it's not like the lomo is a beauty to look at, either. It gets its cult status from being niche and having a low barrier to entry, not from its good looks.
It leads to un-appealing design, that consumers don't like. Products are bought simply because there is not alternative (say as a consumer, you really hate the spoons and forks they have at the store, but they only make one model, so you buy what they have or you don't have anything to eat with).
Designers sort of work and train a vacuum. Products (and thus design decisions) never compete and never pass consumer acceptance and feedback. For example, I remember really funky looking cassette tape players, they were ugly and broke a lot. I remember TVs that looked crappy compared to the Western models. It isn't that they didn't work, they did, but their looks and the overall aesthetic was ugly. Cars (all 5 types of them) were ugly compared to Western cars.
I suppose a designer got a job at one of the state owned factories. That factory was told to produce x number of widgets. The designer got to work, showed the prototype to some people in the bureaucratic chain of command, and then x widgets were made and put on the shelves. That designer probably never got to hear how much their work sucked. They just got another order and so it went on and on.
What a ridiculous thing to say. Remember Google when it was small? Two guys came up with better web search algorithms than all their deep-pocketed competition. Look at what Arista and Gnodal are doing in the LAN switching space. Hell, look at basically all of Cisco's new technology offerings for the past 10 years. They're all based on technology Cisco acquired via acquisitions of small companies. In aerospace look at Scaled Composites and SpaceX.
New technology comes from small companies, not big ones.
What a ridiculous thing to say, Some new technologies, of necessity, require deep pockets. E.g. pharmaceuticals, pretty much anything to do with semiconductors, aerospace, automotive engineering. Small companies are like teams within a large company, sometimes they get lucky and get bought out. Far more often, they don't.
Microsoft and Amazon both seem to think it is "scientific". It isn't really scientific when, in advance, you decide that %10 should be on a firing track, %70 should be warned and %20 should be promoted-- without regard to actual performance.
Bezos likes to run around claiming he only hires "A players", but what it ended up being was C & D[1] players who didn't know how to program or understand technology, ranking their teams, almost completely based on office politics[2] and ones ability to hype their work, rather than the actual technical quality of the work. Of course generalizations like this will have exceptions and I knew some groups who were lead by software developers who got promoted, and the AWS group seemed to be insulated from the amazon culture. But HR and Management at Amazon.com were absolutely atrocious. And that's in comparison to Microsoft (where I also worked) where this "metrics" religion was completely accepted as well.
If you're a talented engineer, work for a startup, but if you need a big company and you're in the northwest, pick Microsoft before you pick Amazon. (Maybe google is better than both, but I've not worked there.)
Edit to add:
In fairness I can compare myself to gates. I saw the Kindle at Amazon about a year(?) before it was announced and wanted to kill it on the spot. (not that I had any say in the matter) I thought it looked like it was designed in the USSR. Still do, but bad design can still make for a good product financially (and it has gotten better.)
[1] I'm being generous here. My boss and my bosses's boss and all the HR people I'd give an F. Absolutely the most incompetent people I've worked with in 20 years of mostly working with startups where even really competent people have to struggle with immense difficulties and uncertainty, neither of which was present at Amazon, except to the extent created by incompetence, though this incompetence went all the way to the top. I saw other people leading other teams who were C & D players, so I presume my team was just particularly bad.
[2] (Talking about amazon here, saw much less of this at MSFT. MSFT was more misguided than... evil.) In order of decreasing effectiveness: Kissing Bezos's ass, Kissing your manager's bosses ass, kissing your manager's ass, kissing your manager's peers ass, making up initiatives that sounded really effective, even if they had no actual effect and then propagandizing them around the company, sabotaging your co-workers products, knifing your co-workers in the back verbally, deliberately mistranslating instructions from your boss to others in the team, hyping yourself with other teams, conspiring with others at other teams, and just generally lying. I saw all of this occur. If I'm bitter it is because I was not smart enough to accept that this was the companies culture, and I gave them way too much benefit of the doubt. I should have left immediately after they broke a hiring promise to me (in the first month.)