Software Development
SDWest 2004 / Show Daily / Day One /
How Amazon Does It
CTO Allan Vermeulen enumerates six habits of highly effective dot-coms, as demonstrated by his own developers.
By Alexandra Weber Morales
“One of the consequences of moving really fast is that we occasionally introduce bugs on our site. Ruben found an off-by-one error when indexing into an array in a piece of code around our catalog structure. The beautiful thing is, here’s the entry that triggered this bug: [the book listing for] ‘C Pointers and Dynamic Memory Management,’” said Allan Vermeulen, CTO of Seattle online retail giant Amazon.com in his March 16, 2004, keynote at SD West. In a unique and highly effective approach, throughout his talk on innovation Vermeulen flashed his own snapshots of his development team, describing how each individual had contributed to the company’s success.
Allan Vermeulen, Amazon.com CTO: Hire the best, raise the bar, don’t treat engineers as order takers, empower teams, remove friction, and know when to buy and when to build. |
Because its needs are unique in the retail space, the company has built its own supply chain, forecasting and demand planning software. Another focus is on making fulfillment centers hum: “We actually sell $5 billion of stuff to people in increments of $50.” Amazon engineers ultimately reprogrammed the Crisplant sorter machine they use—designed primarily for UPS and luggage handling, not thousands of small orders—so that instead of batches or even overlapping batches, the sorter can handle a continuous flow of inventory.
“The fulfillment centers are fascinating. When I joined in 1999, at Christmas they used to get swamped, and it was all hands on deck. Management would be working in the fulfillment centers, going through this process called picking: Pulling items off shelves and using a handheld scanner,” Vermeulen said. The scanners are essentially X terminals running Unix shell—not exactly user friendly. “For the temporary workers in Kentucky, this was suboptimal. We’ve since innovated to menu systems. But the funniest command was when workers would type e, which started emacs. We had to show them that you press Control X, then Control C to close emacs.”
Returning to the online portion of the business, Vermeulen defined the website as absolutely strategic—so much so that “the only way to keep up a site this fast and rich is to build the page-rendering system ourselves. It’s now in place for about half our sites.” All servers can be invoked asynchronously. For the component layer, the team uses Mason with some customizations.
Amazon is well known as having mastered personalization technology, recommending items consumers might want to buy—but going beyond best sellers to suggest increasingly obscure items that match a user’s tastes and personal purchasing history. The approach is to combine slow-moving, or historical, data and combine it with fast-moving data, such as more recent activity.
“Personalization is full of areas where it’s useful to be innovative. Otherwise, you end up recommending Harry Potter 5 to everybody,” Vermeulen said. To arrive at such solutions, the team evaluates personalization algorithms against control and test groups.
The area that may hold the greatest promise, Vermeulen opined, was Web services. Though attempts in 1999 to serve up XML and XSLT to render device-specific formats of Amazon Web pages did not really take off in the U.S., he said, but was popular in Japan. Nevertheless, “the Web services interface to the Amazon platform could be our business in the next five years. We’re letting the outside world work on our platform.”
In a follow-up interview, Vermeulen explained that, contrary to popular belief, Amazon Web services are not all directed to the company’s affiliate vendor program.
“One of the apps I like is Grokker, by Groxis. It lets you visualize search results, using Amazon Web services to get back all results. It’s an interesting, rich graphic—you get concentric circles with different categories represented and you click to go deeper.”
Another is a joint project with Microsoft for the next edition of Office, which will offer the Office research pane. Right-clicking on a phrase will present a list of search results from Amazon. If you find a book, for example, you’ll be able to select from the actions menu and have the complete bibliographic reference inserted into the document.
Monsoon, a Portland, Ore.-based software firm, has built a system for booksellers looking to liquidate inventory, while allconsuming.net sifts through blog streams in search of product references to determine the hottest products du jour.
From a technical standpoint, Amazon’s approach is to “pay attention to the standards and use them where they make sense.”
For instance, Amazon offers both SOAP- and REST-based Web services. In other words, the simple object access protocol, most notably implemented by Visual Studio .NET’s “Web method” keyword, is one option for developers who download the SDK, but 85 percent of developers use the representational state transfer, or simple HTTP publishing, approach. What does the absence of demand for SOAP mean? Is the protocol doomed?
“It tells me that the programming tools are not mature yet. Visual Studio .NET is the most mature tool out there for dealing with Web services. Once you have a tool like that, you can do anything,” Vermeulen said.
The SDK currently comprises such methods as a seller engine, product search, access to customer reviews and wish lists, inventory and listing management, but the long-term goal, according to the chief technologist, formerly of Rogue Wave Software, is anything available on the website.
What differentiates Amazon’s Web services SDK from that of its best-known dot-com brethren? “It’s very hard to define the lines of Google, it’s very amorphous. But our search is very different, it’s an all-around product search, so there’s a different end-game in mind. Botega looks at the downstream results of what you’ve done after your search.” As for eBay, “the tool is more for sellers trying to use their marketplace.” Jokingly, he added, “Ours is better.”
The company claims 50,000 downloads of the SDK since July 2002, but isn’t sure who’s done what with it. “We’ve deliberately kept it very open,” Vermeulen said.