Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Scaling Wix engineering

3,347 views

Published on

Working in a fast-growing company that doubles in size every year, maintaining the quality of products and engineers is a very challenging task.

In this talk I will describe how Wix corporate structure evolved from functional teams to gangs, cross-functional teams responsible for end-to-end delivery; guilds, professional groups responsible for methodology, best practices, and training; and mini-companies that serve as internal startups to support rapid growth while maintaining velocity. I will also discuss how we poured our culture into a game-like “guild day”, that helps us maintain alignment, keep the high quality of our work and people, share knowledge, recruit and preserve the best developers, and support a quality-based culture of innovation.

Published in: Technology
  • Be the first to comment

Scaling Wix engineering

  1. 1. Scaling Engineering by Hacking Conway's Law •www.linkedin.com/in/aviran @aviranm http://www.aviransplace.com Aviran Mordo Head of
  2. 2. @aviranm
  3. 3. Wix In Numbers  86M registered users from 190 countries  3 Data centers + 2 Clouds (Google, Amazon)  ~1200 people work at Wix  Of which ~ 400 in R&D http://www.calcalist.co.il/local/articles/0,7340,L-3660020,00.html The most searched work place (in Israel) by software engineers - 2015 Google search survey @aviranm
  4. 4. From 100 to 1000 in 5 Years http://indy100.independent.co.uk/image/19112-1y4vb9d.png @aviranm
  5. 5. http://p1.pichost.me/i/11/1339236.jpg In the Beginning
  6. 6. Functional Teams Client Team Server Team TL TM TL TM TM TM TM TM Products: 3 People: ~100 @aviranm
  7. 7. Shifting Resources @aviranm
  8. 8. Functional unit model Business unit model Structures for Scalability There are 2 key common structures in the industry @aviranm
  9. 9. Functional Model Disadvantages  Lack of product ownership  Lack of product level expertise  Hard to predict and plan product roadmap  Cross-function communication is hard  Less focus on delivery and time to market Client Team Server Team TL TM TL TM TM TM TM TM @aviranm
  10. 10. Disadvantages  Resource and work duplication  Architecture alignment is hard  Technology knowledge sharing is hard  Limited opportunity for professional development  Product integration is hard Project ProjectProject TL TL TM TMTM TM TL TM TM Business Unit Model Creates Silos @aviranm
  11. 11. Our Assumptions  There is no perfect model  It depends on the company’s current challenges, life cycle phase and culture  Every model should be tuned constantly and evolve with the company @aviranm
  12. 12. @aviranm
  13. 13. Wix’s Gangs & Guilds Model Products: <10 People: ~400 Client Team Server Team TL TM TL TM TM TM TM TM
  14. 14. Gang GangGang Wix’s Gangs & Guilds Model Products: <10 People: ~400 A Guild is a group of people that share expertise, knowledge, tools, code and practice Guild Guild GMGL GL GM TL TL TM TMTM TM TL TM TM A Gang is a group of people that work on related products, composed of all required resources from different disciplines.
  15. 15.  Independence of the product Gang  Technical power of the Guild  Healthy balance between product and tech  Product features and technical equal in priority Gangs & Guilds – Why? No Silos Gang GangGang Guild Guild GMGL GL GM TL TL TM TMTM TM TL TM TM How
  16. 16. Wix’s Gangs & Guilds Model Products: <10 People: ~400 A Guild is a group of people that share expertise, knowledge, tools, code and practice A Gang is a group of people that work on related products, composed of all required resources from different disciplines. Gang GangGang Guild Guild GMGL GL GM TL TL TM TMTM TM TL TM TM Team Lead / Product Team Members Guild Lead Guild Masters Guild Core Teams
  17. 17. Guild’s Role  Recruitment (hiring and firing)  Assignment to product teams  Setting the professional guidelines and methodologies.  Training.  Setting compensation.  Professional development / career. @aviranm
  18. 18. Next Step Even Bigger Products: >10 People: >800
  19. 19. Managing Large Product Segments Guild Guild Gang GangGang Gang Products: >10 People: >800
  20. 20. Wix’s Company Model  Company focus on large segment  Has all the resources it needs to be independent  People within the company are aligned with the Guilds Company CEO VP R&D Guild Guild Company Gang GangGang CEO CTO Gang Product Product Company mgr Tech mgr Products: >10 People: >800
  21. 21. Wix’s Company Model Each head of company reports to a chairman on the management board. All products share the same infrastructure Company Guild Guild Company Gang GangGang Gang Product Product Cross-Engineering Teams
  22. 22. Guild for Companies A helping hand 
  23. 23. Company Guild Guild Company Gang GangGang Gang Product Product Cross-Engineering Teams Guild’s Additional Roles  Align between “Companies”  Support the engineers working in “Companies”  Review and guidance  Develop shared infrastructure  Improving development velocity  Temporary help “Companies” in need with additional resources from the Guild @aviranm
  24. 24. How?
  25. 25. Architecture
  26. 26. Remember Conway’s Law “Organizations which design systems ... are constrained to produce designs which are copies of the communication structures of these organizations” Conway, Melvin
  27. 27. How many Engineers can Work on a Single Project ? http://cdn.wp.sunmotors.co.uk/get/2014/03/cars.28.620x413.jpg
  28. 28. Microservices = Engineering Scale https://upload.wikimedia.org/wikipedia/commons/6/67/Broken_glass.jpg
  29. 29. Minimize Architectural Dependencies  Independent product lifecycle  Loose coupling  Independent scale  Grow / build teams as needed @aviranm
  30. 30. Polyglotic System?
  31. 31. Limit your Stack = Sharing Knowledge  Code reuse  Cross cutting concerns (session, security, auditing, testing, logging…)  Faster system evolution  Development velocity @aviranm Over 200 microservices; Deploying ~100/Day
  32. 32. Microservices = Small Teams Small Teams = Small Rooms @aviranm
  33. 33. Culture that ROQS R O Q S esponsibility wnership uality haring @aviranm
  34. 34. What Is The Common Denominator?  Product manager  Project manager  QA  Operations  DBA Develpers can do these jobs @aviranm
  35. 35. Developer Product QA ManagementOperation BI Dev Centric Culture – Involve The Developer  Product definition (with product)  Development  Testing (with QA engineers)  Deployment / Rollback (with operations)  Monitoring / BI (with BI team)  DevOps – to enable deployment and rollback, fully automated Support Circle @aviranm
  36. 36. Production State Changes Every 5 min
  37. 37. @aviranm
  38. 38. @aviranm Quality = Better Engineers Better Engineers = Professional Growth Professional Growth = Investment in People / Training Enter the Guilds
  39. 39. Guild Day  Engineers work 4 days with their company  Thursday is Guild day.  Developers conduct quality enhancing activities with the Guild. @aviranm
  40. 40. Guild Day Goals  Builds cross-team relationships  Shares knowledge  Assimilate the culture  Lesson learned  Continuous improvement  Promotes innovation  Professional development @aviranm
  41. 41. Guild Day Schedule 10:00-11:00 Open Space 11:00-11:15 Break 11:15-11:40 Project spotlight 11:45-13:00 Tech talk or Workshop @aviranm
  42. 42. Open Space
  43. 43. Guild Week – Games of Gangs One week each quarter Pair programming with a person from another company Enhancing infrastructure Building tools Helping companies Work on open source @aviranm Goal #1 – Improve engineering skills and quality
  44. 44. Transparency @aviranm
  45. 45. Communication Channels  To company wide activities  To knowledge centers  To key personnel @aviranm
  46. 46. Growing New Teams
  47. 47. It is All About the People @aviranm
  48. 48. Do Not Compromise on Hiring  Hire only good people  Fit the culture  Excellent technically  Candidates can be dropped  By anyone  At any time  If there is any doubt, then there is no doubt @aviranm
  49. 49. Seeds new Teams with Ambassadors  Train “ambassadors” that practice dev-centric culture from the Guild  Seed new teams with at least one dev-centric ambassador to assimilate new employees.  Beware of hiring more people than you can train / assimilate successfully into your culture @aviranm
  50. 50. Hiring Team Leads can Mess Up Your Culture  Do not hire people directly into team lead position  Hire potential team leads  Only after a person can be a dev-centric ambassador she can become TL @aviranm
  51. 51. Elements to a Healthy Growth @aviranm Transparency Quality Trust & Collaboration Independence Growth
  52. 52. @aviranm Don’t leave quality and velocity to chance, create a system that balances quality, growth and velocity Guilds Companies http://www.psdgraphics.com/file/gold-scales.jpg Fast Features Better Quality
  53. 53. Read some more: http://goo.gl/c3WLsz - Building engineering culture http://goo.gl/fGUSZe - Building a Guild What happens if we invest in developing our people and they leave us? “ CFO asks CEO: CEO: “What happened if we don’t and they stay? “ “ @aviranm
  54. 54. Q&A http://goo.gl/F8yWa3 http://engineering.wix.com @WixEng Aviran Mordo Head of •www.linkedin.com/in/aviran @aviranm http://www.aviransplace.com

×