SlideShare a Scribd company logo
Growing Community
     Learning !om Mistakes
LB Denker
QC Merge 2012: Growing community
QC Merge 2012: Growing community
Teams
“The most important component of
     The EtsyWay is culture
  and that is as difficult to teach
       as it is important.”

                    — Chad Dickerson, Etsy CEO
Disclaimer
Speaker does not have firsthand
experience with all the events in
       this presentation.
2007: Growing Traffic
Developers - Write Code

DBAs - Write SQL, Stored Procedures

Ops - Deploy Code and Maintain Production
“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
Developers - Write Code

DBAs - Write SQL, Stored Procedures

Ops - Deploy Code and Maintain Production
Sprouter

aka Stored Procedure Router

Per Web Server on Port 8010

Maps name/arguments to Postgres stored procedure

Cache

Supports Sharding (Theoretically)

Goal — Scale the Web Site
Forcibly Centralizes Database Access

Hides Data Store Implementation

“Clever” Automatic Caching

Prevents Developers from Writing SQL
Supported Organizational Silos

Enforced “Not Invented Here”

Increased Deployment Complexity

Database Was Still Single Point of Failure
Life and Death of Sprouter
 Fall ’07       First Discussed


Spring ’08   Alpha Version Released


 Fall ’08    Released in Production


Spring ’09    Sprouter Deprecated


Spring ’11     Sprouter is Dead!
QC Merge 2012: Growing community
2009: Growing Workforce
2005

Four Guys

  Founder

  One DBA

  Two Developers

Founder’s Apartment
2007

Maybe 10-15 Engineers

Partitioned by Role

  Developers

  DBAs

  Ops
2009

Etsy Growth Spurt

  Workforce Doubled

  Doubling Again

  4x Increase by 2010
How Do We Organize?


Ops — Five People

Search — Five People

The Rest??
QC Merge 2012: Growing community
QC Merge 2012: Growing community
QC Merge 2012: Growing community
Re p o e
        r a te u c e n
 S e p a o l r, L
Ja 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          S
S e p a rdp re                u by              l a, M
    Wo                     R              Sc a
What? Why?


Too Big to be One Team

SVN Repository was Too Big to be Just One

Solution: Split the Workforce, Split the Repository
QC Merge 2012: Growing community
SVN to Git in 1,000 Easy

Git Fans using git-svn

Git is Better Equipped to Handle the Mammoth Repository

Merge the Repositories Together

Devise a Workflow, Document It, Teach It

Do the Switch!
QC Merge 2012: Growing community
Divide and Merge


Break-up By Customer or Necessary Technological Difference

Create Constantly Changing Sub-Teams within Divisions

Make it Easy to Move Between Focus Areas
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 is
Le   gall                                              ngi n eerin
                                                   E
2010: Growing Continuity
DevOps
Culture
“Always Be Pushing”

Developer Happiness

We trust one another
Continuous...   Unceremoniously...   Initiated By...


                 Push Changes to
Deployment                              Anyone
                   Production


                  Apply Quality
 Integration                            Anyone
                    Process


                   Release New
  Delivery                              Product
                     Features
Continuous...   Unceremoniously...   Initiated By...


                 Push Changes to
Deployment                              Anyone
                   Production


                  Apply Quality
 Integration                            Anyone
                    Process


 o w?              Release New            ???
H Delivery                              Product
                     Features
QC Merge 2012: Growing community
Lessons Learned
Possible Takeaways

Look Back on History to Avoid Repeating the Bad Parts

Cultivating Culture Requires a Constant Concerted Effort

Don’t Optimize Too Early

Keep It Simple
Thank You!


Visit etsy.com

Learn at codeascraft.com

More on SlideShare
Etsy Shop Photos
TheSundayFlower *        DreamingInCraft
SavageJulietteJewels *   TKfindz
SewFab1 *                YouMeSittingInATree
JLMould                  SingleStoneStudios *
EllanaCouture            iSew
Cufflinks                 PreettySandHu
GimmCat                  ExLibrisJournals *
TwirlsWithPearls         ChalkStyle
                         * Shop Curated in Cincinnati

More Related Content

PPTX
Party xv
PPTX
ColdBox i18N
KEY
Developer testing 201: When to Mock and When to Integrate
PPTX
Instrumentos mas utilizados en la música metal
KEY
phpDay 2012: Scaling Communication via Continuous Integration
PDF
Passion For Software
PPT
Agile and SOA Comparing the Two
PDF
Kilroy and Novicell on changing CMS
Party xv
ColdBox i18N
Developer testing 201: When to Mock and When to Integrate
Instrumentos mas utilizados en la música metal
phpDay 2012: Scaling Communication via Continuous Integration
Passion For Software
Agile and SOA Comparing the Two
Kilroy and Novicell on changing CMS

Similar to QC Merge 2012: Growing community (20)

PPT
Agile Analysis on an Enterprise Scale
PDF
Elevated.com's 2018 General Capabilities Deck-We are growing!!
PDF
Application Lifecycle Management and Agile, friends... or foes? (Andrea Toma...
PPTX
Giving Customers What They Want: Integrating Content into the Customer LifeCy...
PDF
Alfresco day madrid john newton - key note
PDF
Alfresco Day Madrid - John Newton - Keynote
KEY
Get your Project back in Shape!
PDF
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
PDF
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
PDF
Ross Snyder, Etsy, SXSW Lean Startup 2013
PDF
Pervasive
PPTX
Agile for product owners v12
PDF
How to Adopt Agile at Your Organization
PPT
From Vision Statement to Product Backlog
PDF
How to enrich eRetail consumer experience | Iksula
PPT
How do i bring gene xus to my organization
PDF
Continuous Deployment at Etsy: A Tale of Two Approaches
PDF
researchreport_0521_dc_360_report_en_uk.pdf
PDF
Continuous Delivery to Continuous Operations, DevOps & SRE = Continuous Culture
PDF
Conversion Sciences Identifying Your Key Conversion Strategies
Agile Analysis on an Enterprise Scale
Elevated.com's 2018 General Capabilities Deck-We are growing!!
Application Lifecycle Management and Agile, friends... or foes? (Andrea Toma...
Giving Customers What They Want: Integrating Content into the Customer LifeCy...
Alfresco day madrid john newton - key note
Alfresco Day Madrid - John Newton - Keynote
Get your Project back in Shape!
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Continuously Deploying Culture: Scaling Culture at Etsy - Velocity Europe 2012
Ross Snyder, Etsy, SXSW Lean Startup 2013
Pervasive
Agile for product owners v12
How to Adopt Agile at Your Organization
From Vision Statement to Product Backlog
How to enrich eRetail consumer experience | Iksula
How do i bring gene xus to my organization
Continuous Deployment at Etsy: A Tale of Two Approaches
researchreport_0521_dc_360_report_en_uk.pdf
Continuous Delivery to Continuous Operations, DevOps & SRE = Continuous Culture
Conversion Sciences Identifying Your Key Conversion Strategies
Ad

More from LB Denker (6)

KEY
Testing and DevOps Culture: Lessons Learned
KEY
Php|tek '12 It's More Than Just Style
KEY
Developer testing 101: Become a Testing Fanatic
KEY
PHP UK Conference 2012: Scaling Communication via Continuous Integration
PDF
Are Your Tests Really Helping You?
KEY
Php com con-2011
Testing and DevOps Culture: Lessons Learned
Php|tek '12 It's More Than Just Style
Developer testing 101: Become a Testing Fanatic
PHP UK Conference 2012: Scaling Communication via Continuous Integration
Are Your Tests Really Helping You?
Php com con-2011
Ad

Recently uploaded (20)

PPTX
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
PDF
NewMind AI Monthly Chronicles - July 2025
PPTX
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
PDF
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
PPTX
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
PDF
Smarter Business Operations Powered by IoT Remote Monitoring
PPTX
CroxyProxy Instagram Access id login.pptx
PDF
Modernizing your data center with Dell and AMD
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
PPTX
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
Chapter 2 Digital Image Fundamentals.pdf
PDF
GamePlan Trading System Review: Professional Trader's Honest Take
PDF
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PDF
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PPTX
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
PDF
NewMind AI Weekly Chronicles - August'25 Week I
PPTX
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
PDF
madgavkar20181017ppt McKinsey Presentation.pdf
Telecom Fraud Prevention Guide | Hyperlink InfoSystem
NewMind AI Monthly Chronicles - July 2025
Comunidade Salesforce São Paulo - Desmistificando o Omnistudio (Vlocity)
[발표본] 너의 과제는 클라우드에 있어_KTDS_김동현_20250524.pdf
Detection-First SIEM: Rule Types, Dashboards, and Threat-Informed Strategy
Smarter Business Operations Powered by IoT Remote Monitoring
CroxyProxy Instagram Access id login.pptx
Modernizing your data center with Dell and AMD
Dropbox Q2 2025 Financial Results & Investor Presentation
breach-and-attack-simulation-cybersecurity-india-chennai-defenderrabbit-2025....
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
Chapter 2 Digital Image Fundamentals.pdf
GamePlan Trading System Review: Professional Trader's Honest Take
How Onsite IT Support Drives Business Efficiency, Security, and Growth.pdf
CIFDAQ's Market Insight: SEC Turns Pro Crypto
CIFDAQ's Market Wrap: Ethereum Leads, Bitcoin Lags, Institutions Shift
PA Analog/Digital System: The Backbone of Modern Surveillance and Communication
NewMind AI Weekly Chronicles - August'25 Week I
VMware vSphere Foundation How to Sell Presentation-Ver1.4-2-14-2024.pptx
madgavkar20181017ppt McKinsey Presentation.pdf

QC Merge 2012: Growing community

  • 1. Growing Community Learning !om Mistakes
  • 6. “The most important component of The EtsyWay is culture and that is as difficult to teach as it is important.” — Chad Dickerson, Etsy CEO
  • 7. Disclaimer Speaker does not have firsthand experience with all the events in this presentation.
  • 9. Developers - Write Code DBAs - Write SQL, Stored Procedures Ops - Deploy Code and Maintain Production
  • 10. “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
  • 11. Developers - Write Code DBAs - Write SQL, Stored Procedures Ops - Deploy Code and Maintain Production
  • 12. Sprouter aka Stored Procedure Router Per Web Server on Port 8010 Maps name/arguments to Postgres stored procedure Cache Supports Sharding (Theoretically) Goal — Scale the Web Site
  • 13. Forcibly Centralizes Database Access Hides Data Store Implementation “Clever” Automatic Caching Prevents Developers from Writing SQL
  • 14. Supported Organizational Silos Enforced “Not Invented Here” Increased Deployment Complexity Database Was Still Single Point of Failure
  • 15. Life and Death of Sprouter Fall ’07 First Discussed Spring ’08 Alpha Version Released Fall ’08 Released in Production Spring ’09 Sprouter Deprecated Spring ’11 Sprouter is Dead!
  • 18. 2005 Four Guys Founder One DBA Two Developers Founder’s Apartment
  • 19. 2007 Maybe 10-15 Engineers Partitioned by Role Developers DBAs Ops
  • 20. 2009 Etsy Growth Spurt Workforce Doubled Doubling Again 4x Increase by 2010
  • 21. How Do We Organize? Ops — Five People Search — Five People The Rest??
  • 25. Re p o e r a te u c e n S e p a o l r, L Ja 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 S S e p a rdp re u by l a, M Wo R Sc a
  • 26. What? Why? Too Big to be One Team SVN Repository was Too Big to be Just One Solution: Split the Workforce, Split the Repository
  • 28. SVN to Git in 1,000 Easy Git Fans using git-svn Git is Better Equipped to Handle the Mammoth Repository Merge the Repositories Together Devise a Workflow, Document It, Teach It Do the Switch!
  • 30. Divide and Merge Break-up By Customer or Necessary Technological Difference Create Constantly Changing Sub-Teams within Divisions Make it Easy to Move Between Focus Areas
  • 31. 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 is Le gall ngi n eerin E
  • 33. DevOps Culture “Always Be Pushing” Developer Happiness We trust one another
  • 34. Continuous... Unceremoniously... Initiated By... Push Changes to Deployment Anyone Production Apply Quality Integration Anyone Process Release New Delivery Product Features
  • 35. Continuous... Unceremoniously... Initiated By... Push Changes to Deployment Anyone Production Apply Quality Integration Anyone Process o w? Release New ??? H Delivery Product Features
  • 38. Possible Takeaways Look Back on History to Avoid Repeating the Bad Parts Cultivating Culture Requires a Constant Concerted Effort Don’t Optimize Too Early Keep It Simple
  • 39. Thank You! Visit etsy.com Learn at codeascraft.com More on SlideShare
  • 40. Etsy Shop Photos TheSundayFlower * DreamingInCraft SavageJulietteJewels * TKfindz SewFab1 * YouMeSittingInATree JLMould SingleStoneStudios * EllanaCouture iSew Cufflinks PreettySandHu GimmCat ExLibrisJournals * TwirlsWithPearls ChalkStyle * Shop Curated in Cincinnati

Editor's Notes

  • #2: TheSundayFlower\nSavageJullietJewels\nSewFab1\n
  • #3: \n
  • #4: Handmade, Vintage, Supplies\nHow Founded...\n15 Million Members\n>800,000 shops\n$525.6 Million in sales in 2011\n
  • #5: My First Etsy 2006\nMy Wedding Dress 2010\nMy First Halloween at Etsy\n
  • #6: Community at Large\nTop Tips for Etsy Sellers include:\nTeams!\nHome for the Holidays\n
  • #7: \n
  • #8: \n
  • #9: This is taking off\nEngineers excited to engineer\n
  • #10: 2005 only 3 Guys\nBoing, Boing August 4 Guys\n2006 and 2007... something like\n
  • #11: Conway’s Law\n
  • #12: \n
  • #13: Promises\nAbstraction can buy you flexibility, maybe this did\n
  • #14: The Good\n
  • #15: The Bad\n
  • #16: Took a Year to implement\nTwo Year’s to take down\n
  • #17: What Changed?\nCulture Shift\nChad Dickerson\nInvolved several engineers leaving\n
  • #18: Next battle\n
  • #19: Before alluded to Four Guys\n
  • #20: Partitioned roles that led to Sprouter\n
  • #21: 15 to 30 to 60\n5 people in the 3 partions\nbut 20?\n
  • #22: 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
  • #23: Can’t Just have a cloud\n
  • #24: First crack\n20 per team also hard\n5 to 7 is an ideal team size\n
  • #25: Something like this while we were at 40-50\n
  • #26: But we went further\n
  • #27: \n
  • #28: All depended on the core libraries anyways\nWrapper tools\n“Smelled of unicorn”\n
  • #29: Blog post on codeascraft.com\n
  • #30: Current attempt looks something like this\n-next-\n
  • #31: \n
  • #32: \n
  • #33: 2010 DevOps and Actual Continuous Deployment\nWhat we normally talk about...\n
  • #34: Our commandments\n
  • #35: What I usually explain\n
  • #36: Done with first Two\nHow to get the third\n
  • #37: I showed this earlier\nProduct is the third piece of the puzzle\nIncludes product management, design, quality\n
  • #38: Growing a community with the product\nGrowing a community structure similarly inside to maintain and create more\nThis was about learning lessons\n
  • #39: Possible Takeaways\n
  • #40: 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
  • #41: \n