QC Merge 2012: Growing community


Published on

Etsy is an online bazaar for handmade goods, and one for the key aspects for the site itself is the Etsy communities and sub-communities that have and continue to form and grow. The Etsy development community is the group of smart engineers that grow and maintain the site that helps to facilitate these amazing Etsy communities. While these engineers are very smart, you should recall the old adage, "A stupid person is someone who never learns from his mistakes, a smart person is someone who learns from his mistakes, and a wise person is someone who learns from other mistakes." At Etsy we embrace learning from mistakes and sharing with others so that they may learn from these mistakes as well because we also know that no one is perfect. Here, I will share several of the bumps along the way that took us from being small to large and still growing with more community and emphasis on culture, all while maintaing that small startup feeling.

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • TheSundayFlower\nSavageJullietJewels\nSewFab1\n
  • \n
  • Handmade, Vintage, Supplies\nHow Founded...\n15 Million Members\n>800,000 shops\n$525.6 Million in sales in 2011\n
  • My First Etsy 2006\nMy Wedding Dress 2010\nMy First Halloween at Etsy\n
  • Community at Large\nTop Tips for Etsy Sellers include:\nTeams!\nHome for the Holidays\n
  • \n
  • \n
  • This is taking off\nEngineers excited to engineer\n
  • 2005 only 3 Guys\nBoing, Boing August 4 Guys\n2006 and 2007... something like\n
  • Conway’s Law\n
  • \n
  • Promises\nAbstraction can buy you flexibility, maybe this did\n
  • The Good\n
  • The Bad\n
  • Took a Year to implement\nTwo Year’s to take down\n
  • What Changed?\nCulture Shift\nChad Dickerson\nInvolved several engineers leaving\n
  • Next battle\n
  • Before alluded to Four Guys\n
  • Partitioned roles that led to Sprouter\n
  • 15 to 30 to 60\n5 people in the 3 partions\nbut 20?\n
  • Ops - Hardware\nSearch - Acquired Adtuitive, Java stack\nThe other 50?? and growing??\nHow to organize is a question that plagues every company at some point\n
  • Can’t Just have a cloud\n
  • First crack\n20 per team also hard\n5 to 7 is an ideal team size\n
  • Something like this while we were at 40-50\n
  • But we went further\n
  • \n
  • All depended on the core libraries anyways\nWrapper tools\n“Smelled of unicorn”\n
  • Blog post on codeascraft.com\n
  • Current attempt looks something like this\n-next-\n
  • \n
  • \n
  • 2010 DevOps and Actual Continuous Deployment\nWhat we normally talk about...\n
  • Our commandments\n
  • What I usually explain\n
  • Done with first Two\nHow to get the third\n
  • I showed this earlier\nProduct is the third piece of the puzzle\nIncludes product management, design, quality\n
  • Growing a community with the product\nGrowing a community structure similarly inside to maintain and create more\nThis was about learning lessons\n
  • Possible Takeaways\n
  • Visit Etsy, checkout the 60 pages worth of local artisans\nSee how code is our craft on the product engineering side\nView our previous slide decks for more information on these topics\n
  • \n
  • QC Merge 2012: Growing community

    1. 1. Growing Community Learning !om Mistakes
    2. 2. LB Denker
    3. 3. Teams
    4. 4. “The most important component of The EtsyWay is culture and that is as difficult to teach as it is important.” — Chad Dickerson, Etsy CEO
    5. 5. DisclaimerSpeaker does not have firsthandexperience with all the events in this presentation.
    6. 6. 2007: Growing Traffic
    7. 7. Developers - Write CodeDBAs - Write SQL, Stored ProceduresOps - Deploy Code and Maintain Production
    8. 8. “Any organization that designs a system(defined broadly) will produce a design whose structure is a copy of the organization’s communication structure.” — Melvin Conway, 1968
    9. 9. Developers - Write CodeDBAs - Write SQL, Stored ProceduresOps - Deploy Code and Maintain Production
    10. 10. Sprouteraka Stored Procedure RouterPer Web Server on Port 8010Maps name/arguments to Postgres stored procedureCacheSupports Sharding (Theoretically)Goal — Scale the Web Site
    11. 11. Forcibly Centralizes Database AccessHides Data Store Implementation“Clever” Automatic CachingPrevents Developers from Writing SQL
    12. 12. Supported Organizational SilosEnforced “Not Invented Here”Increased Deployment ComplexityDatabase Was Still Single Point of Failure
    13. 13. Life and Death of Sprouter Fall ’07 First DiscussedSpring ’08 Alpha Version Released Fall ’08 Released in ProductionSpring ’09 Sprouter DeprecatedSpring ’11 Sprouter is Dead!
    14. 14. 2009: Growing Workforce
    15. 15. 2005Four Guys Founder One DBA Two DevelopersFounder’s Apartment
    16. 16. 2007Maybe 10-15 EngineersPartitioned by Role Developers DBAs Ops
    17. 17. 2009Etsy Growth Spurt Workforce Doubled Doubling Again 4x Increase by 2010
    18. 18. How Do We Organize?Ops — Five PeopleSearch — Five PeopleThe Rest??
    19. 19. Re p o e r a te u c e n S e p a o l r, LJa v a, S epo epo rm R a te R p l o y P l at f o MP S e p a r t De LA Di f fe re n epo Re p o Re p o ate R oDB e p a r o ng r a te s s S e p a r a te SS e p a rdp re u by l a, M Wo R Sc a
    20. 20. What? Why?Too Big to be One TeamSVN Repository was Too Big to be Just OneSolution: Split the Workforce, Split the Repository
    21. 21. SVN to Git in 1,000 EasyGit Fans using git-svnGit is Better Equipped to Handle the Mammoth RepositoryMerge the Repositories TogetherDevise a Workflow, Document It, Teach ItDo the Switch!
    22. 22. Divide and MergeBreak-up By Customer or Necessary Technological DifferenceCreate Constantly Changing Sub-Teams within DivisionsMake it Easy to Move Between Focus Areas
    23. 23. or k , e tc. t ac k Ex pe rt ise Jav a S a re , Ne t w H a rd w ome r C us t ome r C us t e the e the rs a r rs a r B u ye Se l le C us t ome r u i re d Si lo the y Re q g isLe gall ngi n eerin E
    24. 24. 2010: Growing Continuity
    25. 25. DevOpsCulture“Always Be Pushing”Developer HappinessWe trust one another
    26. 26. Continuous... Unceremoniously... Initiated By... Push Changes toDeployment Anyone Production Apply Quality Integration Anyone Process Release New Delivery Product Features
    27. 27. Continuous... Unceremoniously... Initiated By... Push Changes toDeployment Anyone Production Apply Quality Integration Anyone Process o w? Release New ???H Delivery Product Features
    28. 28. Lessons Learned
    29. 29. Possible TakeawaysLook Back on History to Avoid Repeating the Bad PartsCultivating Culture Requires a Constant Concerted EffortDon’t Optimize Too EarlyKeep It Simple
    30. 30. Thank You!Visit etsy.comLearn at codeascraft.comMore on SlideShare
    31. 31. Etsy Shop PhotosTheSundayFlower * DreamingInCraftSavageJulietteJewels * TKfindzSewFab1 * YouMeSittingInATreeJLMould SingleStoneStudios *EllanaCouture iSewCufflinks PreettySandHuGimmCat ExLibrisJournals *TwirlsWithPearls ChalkStyle * Shop Curated in Cincinnati