SlideShare uma empresa Scribd logo
1 de 40
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

Mais conteúdo relacionado

Semelhante a QC Merge 2012: Growing community

Wishes or Woes: Santa Knows How to Help
Wishes or Woes: Santa Knows How to HelpWishes or Woes: Santa Knows How to Help
Wishes or Woes: Santa Knows How to HelpAllen Interactions
 
Presentation Redux @ Lanco Infratch
Presentation Redux @ Lanco InfratchPresentation Redux @ Lanco Infratch
Presentation Redux @ Lanco InfratchMohit Chhabra
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual DesignWhat Developers Need To Know About Visual Design
What Developers Need To Know About Visual DesignBen Hall
 
W jax wenn-code altert
W jax  wenn-code altertW jax  wenn-code altert
W jax wenn-code altertSven Peters
 
StartupLokal Presentation on 1st Anniversary
StartupLokal Presentation on 1st AnniversaryStartupLokal Presentation on 1st Anniversary
StartupLokal Presentation on 1st AnniversaryNatali Ardianto
 
7 Things: How to make good teams great
7 Things: How to make good teams great7 Things: How to make good teams great
7 Things: How to make good teams greatSven Peters
 
Passion For Software
Passion For SoftwarePassion For Software
Passion For SoftwareSven Peters
 
Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Cachet Software Solutions Ltd
 
What Designs Need To Know About Visual Design
What Designs Need To Know About Visual DesignWhat Designs Need To Know About Visual Design
What Designs Need To Know About Visual DesignBen Hall
 
Fantastic Customer Service
Fantastic Customer ServiceFantastic Customer Service
Fantastic Customer ServiceDerek Arden
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Railselliando dias
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsNicholas Cancelliere
 
Stash - We Code Together
Stash - We Code TogetherStash - We Code Together
Stash - We Code TogetherSven Peters
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today Rundeck
 
CLS Talk #5 - Loving Your Neighbor
CLS Talk #5 - Loving Your NeighborCLS Talk #5 - Loving Your Neighbor
CLS Talk #5 - Loving Your NeighborJulie Mae Chavez
 

Semelhante a QC Merge 2012: Growing community (20)

Agile Mashups
Agile MashupsAgile Mashups
Agile Mashups
 
Wishes or Woes: Santa Knows How to Help
Wishes or Woes: Santa Knows How to HelpWishes or Woes: Santa Knows How to Help
Wishes or Woes: Santa Knows How to Help
 
Presentation Redux @ Lanco Infratch
Presentation Redux @ Lanco InfratchPresentation Redux @ Lanco Infratch
Presentation Redux @ Lanco Infratch
 
What Developers Need To Know About Visual Design
What Developers Need To Know About Visual DesignWhat Developers Need To Know About Visual Design
What Developers Need To Know About Visual Design
 
W jax wenn-code altert
W jax  wenn-code altertW jax  wenn-code altert
W jax wenn-code altert
 
Monomobile
MonomobileMonomobile
Monomobile
 
StartupLokal Presentation on 1st Anniversary
StartupLokal Presentation on 1st AnniversaryStartupLokal Presentation on 1st Anniversary
StartupLokal Presentation on 1st Anniversary
 
Presentation Skills
Presentation SkillsPresentation Skills
Presentation Skills
 
Cvs
CvsCvs
Cvs
 
7 Things: How to make good teams great
7 Things: How to make good teams great7 Things: How to make good teams great
7 Things: How to make good teams great
 
Passion For Software
Passion For SoftwarePassion For Software
Passion For Software
 
Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1Andrew phillips three-pillars_of_continuous_delivery-1
Andrew phillips three-pillars_of_continuous_delivery-1
 
What Designs Need To Know About Visual Design
What Designs Need To Know About Visual DesignWhat Designs Need To Know About Visual Design
What Designs Need To Know About Visual Design
 
Fantastic Customer Service
Fantastic Customer ServiceFantastic Customer Service
Fantastic Customer Service
 
Lisa Sibley - Creating opportunities for real converstion to engage Essex - P...
Lisa Sibley - Creating opportunities for real converstion to engage Essex - P...Lisa Sibley - Creating opportunities for real converstion to engage Essex - P...
Lisa Sibley - Creating opportunities for real converstion to engage Essex - P...
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
 
Getting Up and Running with BDD on Rails
Getting Up and Running with BDD on RailsGetting Up and Running with BDD on Rails
Getting Up and Running with BDD on Rails
 
Stash - We Code Together
Stash - We Code TogetherStash - We Code Together
Stash - We Code Together
 
SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today SRE for Everyone: Making Tomorrow Better Than Today
SRE for Everyone: Making Tomorrow Better Than Today
 
CLS Talk #5 - Loving Your Neighbor
CLS Talk #5 - Loving Your NeighborCLS Talk #5 - Loving Your Neighbor
CLS Talk #5 - Loving Your Neighbor
 

Mais de LB Denker

Testing and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedTesting and DevOps Culture: Lessons Learned
Testing and DevOps Culture: Lessons LearnedLB Denker
 
Php|tek '12 It's More Than Just Style
Php|tek '12  It's More Than Just StylePhp|tek '12  It's More Than Just Style
Php|tek '12 It's More Than Just StyleLB Denker
 
Developer testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing FanaticDeveloper testing 101: Become a Testing Fanatic
Developer testing 101: Become a Testing FanaticLB Denker
 
PHP UK Conference 2012: Scaling Communication via Continuous Integration
PHP UK Conference 2012: Scaling Communication via Continuous IntegrationPHP UK Conference 2012: Scaling Communication via Continuous Integration
PHP UK Conference 2012: Scaling Communication via Continuous IntegrationLB Denker
 
Are Your Tests Really Helping You?
Are Your Tests Really Helping You?Are Your Tests Really Helping You?
Are Your Tests Really Helping You?LB Denker
 
Php com con-2011
Php com con-2011Php com con-2011
Php com con-2011LB Denker
 

Mais de LB Denker (6)

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

Último

Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URLRuncy Oommen
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIUdaiappa Ramachandran
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationIES VE
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesMd Hossain Ali
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfinfogdgmi
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfAijun Zhang
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1DianaGray10
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?SANGHEE SHIN
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UbiTrack UK
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemAsko Soukka
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...DianaGray10
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Adtran
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsSeth Reyes
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6DianaGray10
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfDianaGray10
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1DianaGray10
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum ComputingGDSC PJATK
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPathCommunity
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxGDSC PJATK
 

Último (20)

Designing A Time bound resource download URL
Designing A Time bound resource download URLDesigning A Time bound resource download URL
Designing A Time bound resource download URL
 
RAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AIRAG Patterns and Vector Search in Generative AI
RAG Patterns and Vector Search in Generative AI
 
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve DecarbonizationUsing IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
Using IESVE for Loads, Sizing and Heat Pump Modeling to Achieve Decarbonization
 
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just MinutesAI Fame Rush Review – Virtual Influencer Creation In Just Minutes
AI Fame Rush Review – Virtual Influencer Creation In Just Minutes
 
Videogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdfVideogame localization & technology_ how to enhance the power of translation.pdf
Videogame localization & technology_ how to enhance the power of translation.pdf
 
Machine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdfMachine Learning Model Validation (Aijun Zhang 2024).pdf
Machine Learning Model Validation (Aijun Zhang 2024).pdf
 
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1UiPath Platform: The Backend Engine Powering Your Automation - Session 1
UiPath Platform: The Backend Engine Powering Your Automation - Session 1
 
Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?Do we need a new standard for visualizing the invisible?
Do we need a new standard for visualizing the invisible?
 
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
UWB Technology for Enhanced Indoor and Outdoor Positioning in Physiological M...
 
Bird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystemBird eye's view on Camunda open source ecosystem
Bird eye's view on Camunda open source ecosystem
 
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
Connector Corner: Extending LLM automation use cases with UiPath GenAI connec...
 
Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™Meet the new FSP 3000 M-Flex800™
Meet the new FSP 3000 M-Flex800™
 
Computer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and HazardsComputer 10: Lesson 10 - Online Crimes and Hazards
Computer 10: Lesson 10 - Online Crimes and Hazards
 
UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6UiPath Studio Web workshop series - Day 6
UiPath Studio Web workshop series - Day 6
 
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdfUiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
UiPath Solutions Management Preview - Northern CA Chapter - March 22.pdf
 
Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1Secure your environment with UiPath and CyberArk technologies - Session 1
Secure your environment with UiPath and CyberArk technologies - Session 1
 
Introduction to Quantum Computing
Introduction to Quantum ComputingIntroduction to Quantum Computing
Introduction to Quantum Computing
 
UiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation DevelopersUiPath Community: AI for UiPath Automation Developers
UiPath Community: AI for UiPath Automation Developers
 
Cybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptxCybersecurity Workshop #1.pptx
Cybersecurity Workshop #1.pptx
 

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

Notas do Editor

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