Coderific

rating for Amazon.com

1.0 Work hard, have fun, MADE history posted on December 23, 2006

Amazon's semi-official recruitment motto used to be "Work hard, have fun, make history." I joined in 2001, and even then it seemed that the "make" should have been "made". I didn't really care about that much then, but now more than ever, Amazon is HISTORY. Specifically all the glory years are behind it. The stock performance has been floating at about the same price for the last 3 years, no major gains, indicating that no one is really excited about the company anymore.

And neither should you. Amazon has no unique scaling problems that aren't either larger or executed better elsewhere. The internal technology is not impressive. The engineering dicipline is best summed up as: "you can engineer all you want, until you have to hack it to make a deadline." Code reviews are a joke - not required to check in. There are few global code policies or suggestions.

All of these things are obstinately due to the desire to provide individual teams autonomy, but the end result is you have a bunch of mini-fiefdoms. Moving to a different one is practically like changing companies, in terms of code quality, testing coverage (As low as 0%), culture, manager/director caring about employees, and practically every thing else you can imagine.

Some teams are ok, but ask yourself: are you willing to change companies in a year or two when you want a move? Do you feel ok knowing the rest of the company is crap? Knowing that the CEO was personally, in PERSON informed about a serious attrition problem, but has done nothing?

Amazon's corporate motto is "customers rule". Which is GREAT as a Customer. But as an employee, you are lower than anyone else. At least investors can short-sell AMZN (company policy prevents you from short selling AMZN), but you get nothing out of the decline in share price after every quarterly announcement. And with RSUs, not only are your shares variable, you get less compares to NQO, and thus less upside.

In terms of who is left, the thing to remember is it's always the smartest, oldest and most experienced developers who leave first. This leaves only new-hires, either people that don't understand the politics enough, who are not wiling to make bold strides, new college hires who are still idealistic, etc. Basically anyone who might say "NO" to the upper managment.

Speaking of which, upper managment is surprisingly arrogant. They generally don't address or resolve anything that doesn't personally affect them. That includes professional development for devs, and other professional developers. Politics is rampant, and amazing. If your manager is good, they'll sheild you from it, at the expense of their own personal sanity. My own manager threatened to leave and managed to get a ok architect role.

Of course the company doesn't really like spending big bucks on redesigns, after all why bother when hacking will do? It's easy to become disillusioned when you never have as much effect as you should have. When you can't make improvements as you want to, why bother trying anymore?

Ok so someone said, "quit whining and quit already". I already did that. Some of my coworkers did as well. We're all much happier for it. But here is my position:
- I want to rescue my coworkers
- I don't want new people suffering

Hence my post. Don't waste your life by going to Amazon! If you can get hired at Amazon, you can get hired at Microsoft or Google - go elsewhere.

See 22 more ratings for Amazon.com!

0 comments

Write a comment!
    scores in this rating

    development process

    clear requirements 1.0
    design and planning 1.0
    quality assurance 1.0
    automated testing 1.0
    peer review 1.0
    development environment 1.0
    development hardware 1.0
    physical workspace 1.0
    infrastructure and support 1.0
    issue tracking 1.0
    source control 1.0
    product quality 1.0

    culture

    cultivation of creativity unrated
    mitigation of risk unrated
    reasonable workload 1.0
    prevention of crunch time 1.0
    hitting deadlines 1.0
    taking responsibility unrated
    development autonomy unrated
    keeping ego in check unrated

    compensation

    salary unrated
    health coverage unrated
    paid time off unrated
    snacks unrated
    other perks unrated

    organization

    advancement opportunities 1.0
    employee retention 1.0
    hiring process 3.0
    quality of development management 1.0
    quality of upper management 1.0
    quality of developers 4.0
    team-to-team communication 1.0
    internal team communication 2.0
    management-developer communication unrated

    general

    location 4.0
    nearby food 4.0
    business model 3.0
    cool technology 1.0
    vision and strategy 1.0
    warm fuzzy feeling 1.0
    overall 1.0

    preferences

    casual dress code unrated
    use of Free Software unrated
    development of Free Software unrated
    use of GNU/Linux unrated
    use of Mac OS unrated
    use of Solaris unrated
    use of Windows unrated
    use of BSD unrated
    use of Python unrated
    use of Perl unrated
    use of Ruby unrated
    use of Lisp unrated
    use of Java unrated
    use of C# unrated
    use of Objective-C unrated
    use of C unrated
    use of C++ unrated
    use of PHP unrated
    use of ASP unrated
    use of legacy languages unrated