Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Scaling Happiness Horizontally

Scaling Happiness Horizontally

This talk will discuss how Gilt has grown its technology organization to optimize for engineer autonomy and happiness and how that optimization has affected its software. Conway's Law states that an organization that designs systems will inevitably produce systems that are copies of the communication structures of the organization. This talk will work its way between both the (gnarly) technical details of Gilt's application architecture (something we internally call "LOSA") and the Gilt Tech organization structure. I'll discuss the technical challenges we came up against, and how these often pointed out areas of contention in the organization. I'll discuss quorums, failover, and latency in the context of building a distributed, decentralized, peer-to-peer technical organization.

Presented at RICON|East 2013

Mark Wunsch

May 13, 2013
Tweet

More Decks by Mark Wunsch

Other Decks in Technology

Transcript

  1. Conway’s Law “Organizations which design systems…are constrained to produce designs

    which are copies of the communication structures of these organizations.”
  2. Conway’s Law? “Organizations which design systems…are doomed to produce designs

    which are copies of the communication structures of these organizations.”
  3. ‣ Front End Engineer ‣ Back End Engineer ‣ UX

    Designer ‣ Visual Designer ‣ Product Manager ‣ Project Manager ‣ QA Engineer
  4. Fallacies of Distributed Computing Organizations 1. The network is reliable.

    2. Latency is zero. 3. Bandwidth is infinite. 4. The network is secure. 5. Topology doesn’t change. 6. There is one administrator. 7. Transport cost is zero. 8. The network is homogeneous. http://en.wikipedia.org/wiki/Fallacies_of_Distributed_Computing
  5. Appendix 1. http://www.melconway.com/Home/Conways_Law.html 2. http://en.wikipedia.org/wiki/Dining_philosophers_problem 3. http://en.wikipedia.org/wiki/Sleeping_barber_problem 4. Scaling Agile

    at Gilt → http://tmblr.co/ZcvzqxsOM8 5. Code as Craft: Coda Hale → http://livestre.am/3ZHDH 6. The Eight Fallacies of Distributed Computing → http:// nighthacks.com/roller/jag/resource/Fallacies.html 7. http://codahale.com/you-cant-sacrifice-partition-tolerance/ 8. http://tomayko.com/writings/adopt-an-open-source-process- constraints