Amazon

Moving from a high-speed little to a low-speed giant

Get it by tomorrow for FREE. Or rather looking for same-day delivery? Amazon knows how to make customers happy, and my team is the lucky messenger. We're a 4 people team with an insane amount of servers running to provide delivery information on the various pages on the retail website. Our aggregator communicates with many internal services to provide real-time delivery estimates. For any product being viewed at Amazon.com, we aggregate multiple delivery options - carriers, speeds, shipment locations, etc -, filter out inferior ones, and determine the default that makes the most sense for the customer.

Having co-founded an ecommerce startup, I jumped from one side of the company spectrum to the other end: as, in all likelihood, one of the most complex websites ever built, the scale is mind-blowing and the complex internal interactions hard to fully grasp. As one of the pioneers in Software Oriented Architectures - or, as I like to call it, macro-services - the company has grown to an enormous network of services, built and maintained by semi-independent teams. This is both very powerful and quite worrisome. Powerful, because in theory those systems are loosely coupled, reusable, and owned by dedicated teams. Worrisome, because 20 years of organic improvements by independent teams is an effective recipe for reaching local maxima, and ones that are very hard to escape. Changing a massive plane while in flight, then, turns out to be very different from jumping off a cliff and building your own small plane on the way down.

All in all, being an Amazonian is a very educational experience. I'm learning a lot about incredibly big systems, intertwined services, maintaining "legacy" while moving "fast", personality differences between startup and corporate developers, and company politics. Everything is slower, but has a huge multiplier. I'm just still looking for the internal service that would provide us with FREE same-day feature development.

 

        -------------------------------------
        |                                   |
        |           related graph           |
        |          /             \          |
        |       graphs         relations    |
        |                                   |
        -------------------------------------