SlideShare a Scribd company logo
1 of 41
Back-end Guild Manifesto
Guild Objectives
• Dev velocity & developer productivity
• Ensure products meet Wix production quality
• Promote code quality and maintainability
• Be the glue between the different groups.
• Teach and promote Wix culture
• Promote transparency
• Enabling the overall alignments
• Knowledge share
• Provide professional guidelines & tool-set
• Responsible for the professional development of the guild members
(training, workshops, conferences etc.)
esponsibility
wnership
uality
haring
• Software architecture
• Data architecture
• Scalability
• Performance
• Availability
• Fallbacks
• Monitoring
• Maintenance
• Deployment
• Networking
• Recovery
Back-end engineer’s responsibilities
Help groups to be more efficient
Understand developer’s time wasters and solve
them.
Provide feedback on infrastructure & dev
experience.
Manage dependencies (system & organization).
Smart use of shared infrastructure and code
base.
Dev velocity
Build tools for developers
Development infrastructure improvements (build
tools, deployment system…)
Platform infrastructure & framework
Looking into the future
Code quality.
Shared lesson learned.
Code maintainability.
Support company growth.
Knowledge share and alignments
1 on 1 mentoring
Develop training courses content
Mentoring
Workshops
Tech talks
Ensure production level quality
Best practices.
Post-mortem.
Peer review.
Production debuging .
Teach and share best practices
Project spotlight
Retrospective
Bug Hunts
Post mortems
Attract & Keep top talent
Build and enhance R&D Brand.
Engineers professional development .
Professional development & R&D brand
Tech talks
Blog posts
Pair programing
Meetups
Open source
When do you meet the guild
Before coming
to Wix
• Attract and recruit talent
When you join
• New employee training (Kickstart /
Pairing)
Daily
• Dedicated “guild masters” working
continuously with the teams
Dedicated time
• Guild day
New Employee Training
Culture
Knowledge gaps (TDD, Scala, Java, Design…)
Production scale (Patterns, Best practices…)
Continuous delivery
DevOps
Guild Masters
• Distribute knowledge cross teams
• Teach best practices
• Help in execution
• Help in education
• Review architecture
Guild masters are the guild’s top engineers dedicated to support
different groups
Guild Day
• Engineers work 4 days for their company
• Thursday is Guild day.
• Developers conduct quality enhancing
activities with the Guild.
Guild Day – Why?
• Builds cross-team relationships
• Shares knowledge
• Assimilate the culture
• Lesson learned cross teams
• Continuous improvement
• Promotes innovation
• Professional development
Weekdays guild activities:
Sun,Tue,Wed 10:15-10:30 – Representatives daily​
Mon 10:15-10:45 - Weekly meeting + Bug hunt
​Thu - Guild day​
​Guild day schedule:
10:00-11:00 Retrospec​tive
11:00-11:15 Break
11:15-11:30 Project spotlight
​11:30-13:00 Tech talk or Workshop
13:00- End of day: Lunch + Guild tasks (Games of
Gangs)
Production Bug Hunt
• Service owner picks a service running on production
• Open the monitoring system
• Explains the service to all Guild’s members
– What the service does
– Exceptions thrown in production
– Performance matrix
– Build warnings
• Get a list of AI from group feedback (sometimes for
dependent services)
Production Bug Hunt - Why?
• Improve service stability
• Teach developers about services they don’t own
• Understand how services behave on production
• Open discussion and ideas from guild members
• Discover unexpected use patterns
• Find bugs on production
• Lessons learned from other teams experience
Retrospective
• Main tool for continuous improvement
• Share lesson learned.
• Solve problems
• Suggestions on how to improve:
– Our team
– Quality of products
– Process
– Effectiveness of the R&D organization.
Retrospective – How ?
• Whenever developers encounter issues /
dilemmas, they are encouraged to post them
on a board (daPulse) for public discussion
• Topics posted on the board during the week
constitute the agenda for the retrospective
Retrospective – Board
Tech Talks
• Developers give a tech talks every week
• People from other departments in the company
• Guest speakers
• Open to anyone from Wix
• Using Meetup http://www.meetup.com/at-wix/
to invite outsiders to our internal talks (if
appropriate)
• Talks videos http://goo.gl/IDqXTi
Tech Talks – Why ?
• Training employees
• Knowledge sharing
• Educating about other activities at Wix
• Professional development
• Recruitment funnel
Project Spotlight
• Team presents an interesting project
• Present the new product
• Present the challenges
• Share interesting patterns / architecture
• Lessons learned
Empower a Company (Group)
• When a company/group needs help it can
request the Guild members to help in:
– Reviews
– Tests
– Infrastructure enhancements
– Training
– Extra manpower
Games of Gangs – Guild Tasks
• Build tools that help developers
• Enhance platform / framework
• Pay legacy technical debt
• Improve tests
• Research something new for your company
• Work on a task for a different group
• Work on an open source project
• 1 on 1 mentoring
Games of Gangs Objectives
• Improve code quality
• Improve developer productivity
• Find repeating patterns across projects - generalize
a solution or improve the infrastructure
• Learn other projects (easier to step in if necessary)
• Unbiased review of other projects
• Learn about problems and solutions other teams
faced and solved that you may also encounter.
• It fun and breaks the day to day routine
How it is Done
• Tasks are being done in pair programing (pair
with a developer from a different group)
• For each task you make you get bragging points
• Tasks are being suggested on a public board by
the developers
• Tasks need to meet one of the following
motivations (Improve quality, productivity, help
on a different project or knowledge sharing).
Games of Gangs Task Board
0pt - Single person task
1pt - Blog post or other branding activities
2pt - Pair with someone in your team
3pts - Pair programming with a person from a different group
3pts - Tech talk for the guild
4pts - Tech talk in dedicated meetups and conferences
4pts - Pair with off-shore developer
Project Rotation within company
• Team usually has more than one project
• Avoid having one developer working on same
service for long period of time
Project Rotation within company– Why?
• There is no single person with a knowledge on
a specific component
• Ongoing review
• Keep it interesting
• Team is the 24/7/365 production focal point
• Everybody owns everything
CFO asks CEO: “What happens if we
invest in developing our people and they
leave us?”
CEO: “What happened if we don’t and
they stay?”
Wix.com Back-end Engineering Guild Manifesto

More Related Content

What's hot

91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅Rick Hwang
 
Building ZingMe News Feed System
Building ZingMe News Feed SystemBuilding ZingMe News Feed System
Building ZingMe News Feed SystemChau Thanh
 
Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering CultureUri Nativ
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計Andrew Wu
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsKumar Shìvam
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integrationdrluckyspin
 
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介ricksoftKK
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationKeith Pleas
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucketSumin Byeon
 
Recruitment And Selection Process PowerPoint Presentation Slides
Recruitment And Selection Process PowerPoint Presentation SlidesRecruitment And Selection Process PowerPoint Presentation Slides
Recruitment And Selection Process PowerPoint Presentation SlidesSlideTeam
 
如何讓一個敏捷團隊,同時執行多個專案
如何讓一個敏捷團隊,同時執行多個專案如何讓一個敏捷團隊,同時執行多個專案
如何讓一個敏捷團隊,同時執行多個專案Paddy Huang
 
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...Jon Stevens-Hall
 
SAFe® PI Planning - 4 locations - but how?
SAFe® PI Planning - 4 locations - but how?SAFe® PI Planning - 4 locations - but how?
SAFe® PI Planning - 4 locations - but how?Silvio Wandfluh
 
Radhika Gupta Resume
Radhika Gupta ResumeRadhika Gupta Resume
Radhika Gupta ResumeRadhika Gupta
 
經營實戰『勝』經 大膽想、出狠招
經營實戰『勝』經 大膽想、出狠招經營實戰『勝』經 大膽想、出狠招
經營實戰『勝』經 大膽想、出狠招林 秀銘
 
Webinar: Defining your Employee Experience
Webinar: Defining your Employee ExperienceWebinar: Defining your Employee Experience
Webinar: Defining your Employee ExperienceYouEarnedIt
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Agile Tour Beirut
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのかKazuto Kusama
 

What's hot (20)

91APP API Gateway 導入之旅
91APP API Gateway 導入之旅91APP API Gateway 導入之旅
91APP API Gateway 導入之旅
 
Building ZingMe News Feed System
Building ZingMe News Feed SystemBuilding ZingMe News Feed System
Building ZingMe News Feed System
 
Building an Awesome Engineering Culture
Building an Awesome Engineering CultureBuilding an Awesome Engineering Culture
Building an Awesome Engineering Culture
 
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
大規模微服務導入 - #2 從零開始的微服務 .NET Core 框架設計
 
CICD Pipeline Using Github Actions
CICD Pipeline Using Github ActionsCICD Pipeline Using Github Actions
CICD Pipeline Using Github Actions
 
CV KMBundhoo, August 2016
CV KMBundhoo, August 2016CV KMBundhoo, August 2016
CV KMBundhoo, August 2016
 
Continuous Integration
Continuous IntegrationContinuous Integration
Continuous Integration
 
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介
「Redmine」、「Trac」から「Atlassian JIRA」への移行紹介
 
DevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the AutomationDevOps-as-a-Service: Towards Automating the Automation
DevOps-as-a-Service: Towards Automating the Automation
 
Git with bitbucket
Git with bitbucketGit with bitbucket
Git with bitbucket
 
Recruitment And Selection Process PowerPoint Presentation Slides
Recruitment And Selection Process PowerPoint Presentation SlidesRecruitment And Selection Process PowerPoint Presentation Slides
Recruitment And Selection Process PowerPoint Presentation Slides
 
如何讓一個敏捷團隊,同時執行多個專案
如何讓一個敏捷團隊,同時執行多個專案如何讓一個敏捷團隊,同時執行多個專案
如何讓一個敏捷團隊,同時執行多個專案
 
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...
Rethinking Site Reliability Engineering for ITSM - SDI virtual event "New Way...
 
SAFe® PI Planning - 4 locations - but how?
SAFe® PI Planning - 4 locations - but how?SAFe® PI Planning - 4 locations - but how?
SAFe® PI Planning - 4 locations - but how?
 
Radhika Gupta Resume
Radhika Gupta ResumeRadhika Gupta Resume
Radhika Gupta Resume
 
經營實戰『勝』經 大膽想、出狠招
經營實戰『勝』經 大膽想、出狠招經營實戰『勝』經 大膽想、出狠招
經營實戰『勝』經 大膽想、出狠招
 
Webinar: Defining your Employee Experience
Webinar: Defining your Employee ExperienceWebinar: Defining your Employee Experience
Webinar: Defining your Employee Experience
 
Heart of Agile: What is Agile?
Heart of Agile: What is Agile?Heart of Agile: What is Agile?
Heart of Agile: What is Agile?
 
Bitbucket
BitbucketBitbucket
Bitbucket
 
Cloud Foundryは何故動くのか
Cloud Foundryは何故動くのかCloud Foundryは何故動くのか
Cloud Foundryは何故動くのか
 

Viewers also liked

Microservices - it's déjà vu all over again
Microservices  - it's déjà vu all over againMicroservices  - it's déjà vu all over again
Microservices - it's déjà vu all over againArnon Rotem-Gal-Oz
 
Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Aviran Mordo
 
Microservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteMicroservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteChris Richardson
 
Building reliable systems from unreliable components
Building reliable systems from unreliable componentsBuilding reliable systems from unreliable components
Building reliable systems from unreliable componentsArnon Rotem-Gal-Oz
 
Scaling Wix engineering
Scaling Wix engineering Scaling Wix engineering
Scaling Wix engineering Aviran Mordo
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Chris Richardson
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Aviran Mordo
 

Viewers also liked (7)

Microservices - it's déjà vu all over again
Microservices  - it's déjà vu all over againMicroservices  - it's déjà vu all over again
Microservices - it's déjà vu all over again
 
Scaling wix.com to 100 million users
Scaling wix.com to 100 million users Scaling wix.com to 100 million users
Scaling wix.com to 100 million users
 
Microservices and Redis #redisconf Keynote
Microservices and Redis #redisconf KeynoteMicroservices and Redis #redisconf Keynote
Microservices and Redis #redisconf Keynote
 
Building reliable systems from unreliable components
Building reliable systems from unreliable componentsBuilding reliable systems from unreliable components
Building reliable systems from unreliable components
 
Scaling Wix engineering
Scaling Wix engineering Scaling Wix engineering
Scaling Wix engineering
 
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
Handling Eventual Consistency in JVM Microservices with Event Sourcing (javao...
 
Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015Scaling wix with microservices architecture devoxx London 2015
Scaling wix with microservices architecture devoxx London 2015
 

Similar to Wix.com Back-end Engineering Guild Manifesto

Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityAviran Mordo
 
Steve loos agile operationalizing your org
Steve loos   agile operationalizing your orgSteve loos   agile operationalizing your org
Steve loos agile operationalizing your orgPaul Ellarby
 
Design thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratchDesign thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratchBecky Todd
 
DevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsDevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsPerforce
 
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...Publicis Sapient Engineering
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareDevOps for Enterprise Systems
 
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365SharePoint Saturday Cambridge 2017: Training your organisation on Office 365
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365Marijn Somers
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - UXPA International
 
Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013AgileSparks
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandranAbhilash Chandran
 
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...Information Development World
 
Design your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process ServicesDesign your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process ServicesPiergiorgio Lucidi
 
Progettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process ServicesProgettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process ServicesCommit University
 
Just Married: User Centered Design and Agile
Just Married: User Centered Design and AgileJust Married: User Centered Design and Agile
Just Married: User Centered Design and AgileMemi Beltrame
 
Gearing Startups for Success through Product Engineering
Gearing Startups for Success through Product EngineeringGearing Startups for Success through Product Engineering
Gearing Startups for Success through Product Engineering99X Technology
 
How to scale product development when you no longer fit in one room
How to scale product development when you no longer fit in one roomHow to scale product development when you no longer fit in one room
How to scale product development when you no longer fit in one roomMatthias Luebken
 
Lightweight Documentation
Lightweight DocumentationLightweight Documentation
Lightweight DocumentationStephen Ritchie
 

Similar to Wix.com Back-end Engineering Guild Manifesto (20)

Scaling r&d org while maintaining quality
Scaling r&d org while maintaining qualityScaling r&d org while maintaining quality
Scaling r&d org while maintaining quality
 
Agile ux fullday-uxpa2016
Agile ux fullday-uxpa2016Agile ux fullday-uxpa2016
Agile ux fullday-uxpa2016
 
Steve loos agile operationalizing your org
Steve loos   agile operationalizing your orgSteve loos   agile operationalizing your org
Steve loos agile operationalizing your org
 
Design thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratchDesign thinking: Building a developer experience from scratch
Design thinking: Building a developer experience from scratch
 
DevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving LessonsDevTalk: The Road to Continuous Delivery: Driving Lessons
DevTalk: The Road to Continuous Delivery: Driving Lessons
 
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
XebiCon'17 : //Tam-tams// Voici l’histoire de la disparition des dinosaures d...
 
Agile
AgileAgile
Agile
 
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems SoftwareLessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
Lessons Learned from Large Scale Adoption of DevOps for IBM z Systems Software
 
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365SharePoint Saturday Cambridge 2017: Training your organisation on Office 365
SharePoint Saturday Cambridge 2017: Training your organisation on Office 365
 
Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience - Pre-Conference Course: UX and Agile: Making a Great Experience -
Pre-Conference Course: UX and Agile: Making a Great Experience -
 
Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013Transition to feature teams - Gil Wasserman - Agile Israel 2013
Transition to feature teams - Gil Wasserman - Agile Israel 2013
 
Intro agile development methodology abhilash chandran
Intro agile development methodology   abhilash chandranIntro agile development methodology   abhilash chandran
Intro agile development methodology abhilash chandran
 
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
[Case Study] Adopting an Agile Content Development Process with Debra Brinson...
 
All Apps, What About Suport
All Apps, What About SuportAll Apps, What About Suport
All Apps, What About Suport
 
Design your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process ServicesDesign your own BPM Program Strategy with Alfresco Process Services
Design your own BPM Program Strategy with Alfresco Process Services
 
Progettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process ServicesProgettare la propria strategia di BPM per Alfresco Process Services
Progettare la propria strategia di BPM per Alfresco Process Services
 
Just Married: User Centered Design and Agile
Just Married: User Centered Design and AgileJust Married: User Centered Design and Agile
Just Married: User Centered Design and Agile
 
Gearing Startups for Success through Product Engineering
Gearing Startups for Success through Product EngineeringGearing Startups for Success through Product Engineering
Gearing Startups for Success through Product Engineering
 
How to scale product development when you no longer fit in one room
How to scale product development when you no longer fit in one roomHow to scale product development when you no longer fit in one room
How to scale product development when you no longer fit in one room
 
Lightweight Documentation
Lightweight DocumentationLightweight Documentation
Lightweight Documentation
 

More from Aviran Mordo

Platform as a Runtime - PaaR QCON 2024 - Final
Platform as a Runtime - PaaR QCON 2024 - FinalPlatform as a Runtime - PaaR QCON 2024 - Final
Platform as a Runtime - PaaR QCON 2024 - FinalAviran Mordo
 
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Aviran Mordo
 
Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Aviran Mordo
 
Mircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comMircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comAviran Mordo
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Aviran Mordo
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comAviran Mordo
 
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Aviran Mordo
 
Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Aviran Mordo
 
The Art of A/B Testing
The Art of A/B TestingThe Art of A/B Testing
The Art of A/B TestingAviran Mordo
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...Aviran Mordo
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Aviran Mordo
 
Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Aviran Mordo
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryAviran Mordo
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocolAviran Mordo
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring ProductionAviran Mordo
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous deliveryAviran Mordo
 
Scaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix StoryScaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix StoryAviran Mordo
 

More from Aviran Mordo (17)

Platform as a Runtime - PaaR QCON 2024 - Final
Platform as a Runtime - PaaR QCON 2024 - FinalPlatform as a Runtime - PaaR QCON 2024 - Final
Platform as a Runtime - PaaR QCON 2024 - Final
 
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022Scaling Engineering by Hacking Conway’s Law - Geecon,2022
Scaling Engineering by Hacking Conway’s Law - Geecon,2022
 
Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018Arrested by the cap devoxx uk 2018
Arrested by the cap devoxx uk 2018
 
Mircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.comMircoservices, dev ops and Engineering best practices at Wix.com
Mircoservices, dev ops and Engineering best practices at Wix.com
 
Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015Scaling wix with microservices and multi cloud - 2015
Scaling wix with microservices and multi cloud - 2015
 
Road to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.comRoad to Continuous Delivery - Wix.com
Road to Continuous Delivery - Wix.com
 
Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015Advanced A/B Testing - Jax London 2015
Advanced A/B Testing - Jax London 2015
 
Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015Scaling wix with microservices architecture jax london-2015
Scaling wix with microservices architecture jax london-2015
 
The Art of A/B Testing
The Art of A/B TestingThe Art of A/B Testing
The Art of A/B Testing
 
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 Scaling Wix with microservices architecture and multi-cloud platforms - Reve... Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
Scaling Wix with microservices architecture and multi-cloud platforms - Reve...
 
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
Experimenting on Humans - Advanced A/B Tests - QCon SF 2014
 
Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014Wix Architecture at Scale - QCon London 2014
Wix Architecture at Scale - QCon London 2014
 
Wix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous DeliveryWix Dev-Centric Culture And Continuous Delivery
Wix Dev-Centric Culture And Continuous Delivery
 
Introduction to HTTP protocol
Introduction to HTTP protocolIntroduction to HTTP protocol
Introduction to HTTP protocol
 
Lessons Learned Monitoring Production
Lessons Learned Monitoring ProductionLessons Learned Monitoring Production
Lessons Learned Monitoring Production
 
Strategies in continuous delivery
Strategies in continuous deliveryStrategies in continuous delivery
Strategies in continuous delivery
 
Scaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix StoryScaling up to 30M users - The Wix Story
Scaling up to 30M users - The Wix Story
 

Recently uploaded

Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - GuideGOPINATHS437943
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsSachinPawar510423
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEroselinkalist12
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...Chandu841456
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptSAURABHKUMAR892774
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the weldingMuhammadUzairLiaqat
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionMebane Rash
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncssuser2ae721
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...VICTOR MAESTRE RAMIREZ
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm Systemirfanmechengr
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgsaravananr517913
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substationstephanwindworld
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvLewisJB
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptMadan Karki
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.eptoze12
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catcherssdickerson1
 

Recently uploaded (20)

young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Serviceyoung call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
young call girls in Rajiv Chowk🔝 9953056974 🔝 Delhi escort Service
 
Design and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdfDesign and analysis of solar grass cutter.pdf
Design and analysis of solar grass cutter.pdf
 
Transport layer issues and challenges - Guide
Transport layer issues and challenges - GuideTransport layer issues and challenges - Guide
Transport layer issues and challenges - Guide
 
Vishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documentsVishratwadi & Ghorpadi Bridge Tender documents
Vishratwadi & Ghorpadi Bridge Tender documents
 
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETEINFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
INFLUENCE OF NANOSILICA ON THE PROPERTIES OF CONCRETE
 
An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...An experimental study in using natural admixture as an alternative for chemic...
An experimental study in using natural admixture as an alternative for chemic...
 
Arduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.pptArduino_CSE ece ppt for working and principal of arduino.ppt
Arduino_CSE ece ppt for working and principal of arduino.ppt
 
welding defects observed during the welding
welding defects observed during the weldingwelding defects observed during the welding
welding defects observed during the welding
 
US Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of ActionUS Department of Education FAFSA Week of Action
US Department of Education FAFSA Week of Action
 
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsyncWhy does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
Why does (not) Kafka need fsync: Eliminating tail latency spikes caused by fsync
 
Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...Software and Systems Engineering Standards: Verification and Validation of Sy...
Software and Systems Engineering Standards: Verification and Validation of Sy...
 
Class 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm SystemClass 1 | NFPA 72 | Overview Fire Alarm System
Class 1 | NFPA 72 | Overview Fire Alarm System
 
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfgUnit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
Unit7-DC_Motors nkkjnsdkfnfcdfknfdgfggfg
 
Earthing details of Electrical Substation
Earthing details of Electrical SubstationEarthing details of Electrical Substation
Earthing details of Electrical Substation
 
Work Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvvWork Experience-Dalton Park.pptxfvvvvvvv
Work Experience-Dalton Park.pptxfvvvvvvv
 
Indian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.pptIndian Dairy Industry Present Status and.ppt
Indian Dairy Industry Present Status and.ppt
 
Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.Oxy acetylene welding presentation note.
Oxy acetylene welding presentation note.
 
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
🔝9953056974🔝!!-YOUNG call girls in Rajendra Nagar Escort rvice Shot 2000 nigh...
 
POWER SYSTEMS-1 Complete notes examples
POWER SYSTEMS-1 Complete notes  examplesPOWER SYSTEMS-1 Complete notes  examples
POWER SYSTEMS-1 Complete notes examples
 
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor CatchersTechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
TechTAC® CFD Report Summary: A Comparison of Two Types of Tubing Anchor Catchers
 

Wix.com Back-end Engineering Guild Manifesto

  • 2. Guild Objectives • Dev velocity & developer productivity • Ensure products meet Wix production quality • Promote code quality and maintainability • Be the glue between the different groups. • Teach and promote Wix culture • Promote transparency • Enabling the overall alignments • Knowledge share • Provide professional guidelines & tool-set • Responsible for the professional development of the guild members (training, workshops, conferences etc.)
  • 3.
  • 5.
  • 6.
  • 7. • Software architecture • Data architecture • Scalability • Performance • Availability • Fallbacks • Monitoring • Maintenance • Deployment • Networking • Recovery Back-end engineer’s responsibilities
  • 8.
  • 9. Help groups to be more efficient Understand developer’s time wasters and solve them. Provide feedback on infrastructure & dev experience. Manage dependencies (system & organization). Smart use of shared infrastructure and code base.
  • 10. Dev velocity Build tools for developers Development infrastructure improvements (build tools, deployment system…) Platform infrastructure & framework
  • 11. Looking into the future Code quality. Shared lesson learned. Code maintainability. Support company growth.
  • 12. Knowledge share and alignments 1 on 1 mentoring Develop training courses content Mentoring Workshops Tech talks
  • 13. Ensure production level quality Best practices. Post-mortem. Peer review. Production debuging .
  • 14. Teach and share best practices Project spotlight Retrospective Bug Hunts Post mortems
  • 15. Attract & Keep top talent Build and enhance R&D Brand. Engineers professional development .
  • 16. Professional development & R&D brand Tech talks Blog posts Pair programing Meetups Open source
  • 17. When do you meet the guild Before coming to Wix • Attract and recruit talent When you join • New employee training (Kickstart / Pairing) Daily • Dedicated “guild masters” working continuously with the teams Dedicated time • Guild day
  • 18. New Employee Training Culture Knowledge gaps (TDD, Scala, Java, Design…) Production scale (Patterns, Best practices…) Continuous delivery DevOps
  • 19. Guild Masters • Distribute knowledge cross teams • Teach best practices • Help in execution • Help in education • Review architecture Guild masters are the guild’s top engineers dedicated to support different groups
  • 20.
  • 21. Guild Day • Engineers work 4 days for their company • Thursday is Guild day. • Developers conduct quality enhancing activities with the Guild.
  • 22. Guild Day – Why? • Builds cross-team relationships • Shares knowledge • Assimilate the culture • Lesson learned cross teams • Continuous improvement • Promotes innovation • Professional development
  • 23. Weekdays guild activities: Sun,Tue,Wed 10:15-10:30 – Representatives daily​ Mon 10:15-10:45 - Weekly meeting + Bug hunt ​Thu - Guild day​ ​Guild day schedule: 10:00-11:00 Retrospec​tive 11:00-11:15 Break 11:15-11:30 Project spotlight ​11:30-13:00 Tech talk or Workshop 13:00- End of day: Lunch + Guild tasks (Games of Gangs)
  • 24. Production Bug Hunt • Service owner picks a service running on production • Open the monitoring system • Explains the service to all Guild’s members – What the service does – Exceptions thrown in production – Performance matrix – Build warnings • Get a list of AI from group feedback (sometimes for dependent services)
  • 25. Production Bug Hunt - Why? • Improve service stability • Teach developers about services they don’t own • Understand how services behave on production • Open discussion and ideas from guild members • Discover unexpected use patterns • Find bugs on production • Lessons learned from other teams experience
  • 26. Retrospective • Main tool for continuous improvement • Share lesson learned. • Solve problems • Suggestions on how to improve: – Our team – Quality of products – Process – Effectiveness of the R&D organization.
  • 27. Retrospective – How ? • Whenever developers encounter issues / dilemmas, they are encouraged to post them on a board (daPulse) for public discussion • Topics posted on the board during the week constitute the agenda for the retrospective
  • 29.
  • 30. Tech Talks • Developers give a tech talks every week • People from other departments in the company • Guest speakers • Open to anyone from Wix • Using Meetup http://www.meetup.com/at-wix/ to invite outsiders to our internal talks (if appropriate) • Talks videos http://goo.gl/IDqXTi
  • 31. Tech Talks – Why ? • Training employees • Knowledge sharing • Educating about other activities at Wix • Professional development • Recruitment funnel
  • 32. Project Spotlight • Team presents an interesting project • Present the new product • Present the challenges • Share interesting patterns / architecture • Lessons learned
  • 33. Empower a Company (Group) • When a company/group needs help it can request the Guild members to help in: – Reviews – Tests – Infrastructure enhancements – Training – Extra manpower
  • 34. Games of Gangs – Guild Tasks • Build tools that help developers • Enhance platform / framework • Pay legacy technical debt • Improve tests • Research something new for your company • Work on a task for a different group • Work on an open source project • 1 on 1 mentoring
  • 35. Games of Gangs Objectives • Improve code quality • Improve developer productivity • Find repeating patterns across projects - generalize a solution or improve the infrastructure • Learn other projects (easier to step in if necessary) • Unbiased review of other projects • Learn about problems and solutions other teams faced and solved that you may also encounter. • It fun and breaks the day to day routine
  • 36. How it is Done • Tasks are being done in pair programing (pair with a developer from a different group) • For each task you make you get bragging points • Tasks are being suggested on a public board by the developers • Tasks need to meet one of the following motivations (Improve quality, productivity, help on a different project or knowledge sharing).
  • 37. Games of Gangs Task Board 0pt - Single person task 1pt - Blog post or other branding activities 2pt - Pair with someone in your team 3pts - Pair programming with a person from a different group 3pts - Tech talk for the guild 4pts - Tech talk in dedicated meetups and conferences 4pts - Pair with off-shore developer
  • 38. Project Rotation within company • Team usually has more than one project • Avoid having one developer working on same service for long period of time
  • 39. Project Rotation within company– Why? • There is no single person with a knowledge on a specific component • Ongoing review • Keep it interesting • Team is the 24/7/365 production focal point • Everybody owns everything
  • 40. CFO asks CEO: “What happens if we invest in developing our people and they leave us?” CEO: “What happened if we don’t and they stay?”

Editor's Notes

  1. זה לא מספיק להיות מעורב, התרבות והפעילות חשובות לא פחות
  2. It is not just development it is production maintenance