Coderific

rating for Amazon.com

2.0 It's Still Day One posted on September 06, 2006

This is one of Bezos favorite sayings. I think he means to imply the positive connotations, like, uhm, you can still make a lot of money, there's still room to innovate and change the web. It also seems to ring true of the negative connotations, like, let's all work day and night, we have no reliable process to repeat successes and we don't learn from failure.

Amazon does have some things going for it. It's downtown Seattle (or Beacon Hill) location. It's largely a Linux, Apache, Oracle and Perl shop. Developers are involved in every aspect of the development process, from requirements gathering to testing, database design and query optimization, documentation, design reviews, code reviews, and yes, even coding. Good design practices generally win out due to the vetting process. Even so, trust project managers to muck things up at the last minute. There are LOTS of things to work on, from front-end web development to back-end order processing, supply-chain, distribution, customer service applications, SDK's, search, content management, and on and on.

On the downside, developers are involved in every aspect of the development process. Requirements are generally incomplete and often poorly specified, forcing developers into a more active project management role. Launch dates are usually signed-off on without any input from development. Q.A. resources are woefully inadequate, forcing developers to test their own code. Intra-team dependencies are poorly managed. Legacy systems require constant feeding and care (pager-duty anyone?). It's not unheard of for a developer to spend 10 or 15 hours a week in meetings. At the end of the project lifecycle, a post-mortem usually takes place where the familiar failings are enumerated and promptly forgotten.

Additionally, compensation is not that great. Stock options were replaced with stock grants recently. The distinctions between junior, mid-level, and senior developers is fairly vague and the requirements needed to advance are lacking. Talented developers are often coaxed into managerial roles for which they have no observable skill.

Oh yeah, one last positive. They're ALWAYS hiring.

See 22 more ratings for Amazon.com!

0 comments

Write a comment!
    scores in this rating

    development process

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

    culture

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

    compensation

    salary 2.0
    health coverage 4.0
    paid time off 3.0
    snacks 1.0
    other perks 3.0

    organization

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

    general

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

    preferences

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