Welcome!

AJAX & REA Authors: Marek Miesiac, Loraine Antrim, Liz McMillan, Yeshim Deniz, Chris Fleck

Related Topics: AJAX & REA

AJAX & REA: Article

Secrets to Amazon's Success

Teams are small and they are assigned authority and empowered to solve a problem as a service in anyway they see fit

David Heinemeier Hansson's Blog

High Scalability offers some secrets to Amazon’s success based on interviews and writings of early employees. Some of the choice bits are below.

Teams are small. They are assigned authority and empowered to solve a problem as a service in anyway they see fit.

Work from the customer backward. Focus on value you want to deliver for the customer.

Force developers to focus on value delivered to the customer instead of building technology first and then figuring how to use it.

Start with a press release of what features the user will see and work backwards to check that you are building something valuable.

End up with a design that is as minimal as possible. Simplicity is the key if you really want to build large distributed systems.

Take it for granted stuff fails, that’s reality, embrace it. For example, go more with a fast reboot and fast recover approach. With a decent spread of data and services you might get close to 100%. Create self-healing, self-organizing lights out operations.

Open up your system with APIs and you’ll create an ecosystem around your application.

Only way to manage as large distributed system is to keep things as simple as possible. Keep things simple by making sure there are no hidden requirements and hidden dependencies in the design. Cut technology to the minimum you need to solve the problem you have. It doesn’t help the company to create artificial and unneeded layers of complexity.

There’s bound to be problems with anything that produces hype before real implementation.

Use measurement and objective debate to separate the good from the bad. I’ve been to several presentations by ex-Amazoners and this is the aspect of Amazon that strikes me as uniquely different and interesting from other companies. Their deep seated ethic is to expose real customers to a choice and see which one works best and to make decisions based on those tests.

Getting rid of the influence of the HiPPO’s, the highest paid people in the room. This is done with techniques like A/B testing and Web Analytics. If you have a question about what you should do code it up, let people use it, and see which alternative gives you the results you want.

Create a frugal culture. Amazon used doors for desks, for example.

People’s side projects, the one’s they follow because they are interested, are often ones where you get the most value and innovation. Never underestimate the power of wandering where you are most interested.

Have a way to rollback if an update doesn’t work. Write the tools if necessary.

Look for three things in interviews: enthusiasm, creativity, competence. The single biggest predictor of success at Amazon.com was enthusiasm.

Hire a Bob. Someone who knows their stuff, has incredible debugging skills and system knowledge, and most importantly, has the stones to tackle the worst high pressure problems imaginable by just leaping in.

continued...

About David Heinemeier Hansson

David Heinemeier Hansson, a partner in 37signals, has been working with the Net with varying levels of success since 1996 - in the fields of game journalism, marketing, project management, design, and development. In July 2004, he released the framework Rails (also known as Ruby on Rails) and has been managing that as an open-source movement ever since. He is one of the software luminaries on the faculty of SYS-CON's "Real-World AJAX" Seminar, a faculty that also includes the Father of the "term" AJAX, Jesse James Garrett (http://www.ajaxworld.com).

Comments (1) View Comments

Share your thoughts on this story.

Add your comment
You must be signed in to add a comment. Sign-in | Register

In accordance with our Comment Policy, we encourage comments that are on topic, relevant and to-the-point. We will remove comments that include profanity, personal attacks, racial slurs, threats of violence, or other inappropriate material that violates our Terms and Conditions, and will block users who make repeated violations. We ask all readers to expect diversity of opinion and to treat one another with dignity and respect.


Most Recent Comments
Amazon News Desk 09/17/07 12:17:30 PM EDT

Teams are small. They are assigned authority and empowered to solve a problem as a service in anyway they see fit. Work from the customer backward. Focus on value you want to deliver for the customer. Force developers to focus on value delivered to the customer instead of building technology first and then figuring how to use it. Start with a press release of what features the user will see and work backwards to check that you are building something valuable.