Wix.com back-end engineering guild activities and culture manifesto describes our guild activities and culture that support a highly innovative and renowned engineering group
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.)
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 .
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
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 Retrospective
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
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
זה לא מספיק להיות מעורב, התרבות והפעילות חשובות לא פחות
It is not just development it is production maintenance