How To Keep Your Developers Refreshed with Guild Week
In my last blog post, I described Wix’s structure of Guild and Companies.
Today I would like to tell you about Wix’s “Guild Week”.
What is a guild week?
As part of a guild’s activities, each developer spends 1 week per quarter working on tasks outside of your day-to-day responsibilities.
As you will read those tasks change over time but their aim stayed the same: Get better acquainted with systems, teams, and people outside your day-2-day domain, learn & improve and help others learn.
Why is that good for Wix?
It helps us reduce our backload of tasks, and it gets the developers more involved in the guild.
What’s in it for the developers?
Working on the same project for a long time can be exhausting, It’s hard to keep developers focused and energized. This is a great opportunity to let them work on something different while learning the framework better and improving their programming skills.
How It all started
As the company grew we had to dedicate a team to work on our shared code. We call it the framework team. The downside was that not all the developers knew the framework code anymore. Developers started raising issues with the framework, but the dedicated team didn’t have the time to deal with the entire backlog. So What can we do? The traditional way is to add more engineers to the team. We tried a different approach: involving all the developers in maintaining the framework.
Our first attempt
We decided that every Thursday (It’s the last day of the work week in Israel), all the developers will spend half a day working on shared tasks.
To make people more involved there was an attempt to gamify it and have points per task.
At the end of the year, we checked the results: There were a few engineers that gained a lot of points and were very engaged, but there were some good engineers that stopped working on those tasks. Why?
1. Most of the tasks take more than half a day and it’s very hard to context switch into the tasks each week.
2. There was pressure by the companies to skip the half day, there were always more urgent tasks on the projects.
Back to the drawing board
So we tried a different approach: We accumulated all the half days and came up with one week per quarter. This way there is no context switch, you can get a proper task done in 5 days, and the companies know you are unavailable for the full week and it goes into the planning.
Working together is better
Another great feature we added is doing the guild weeks in pair programming. This has a few advantages:
1. It’s more fun :)
2. You get to meet other engineers, Our rule is that you have to pair with someone from a different company. A big part of the guild is sharing knowledge and that works best when the engineers know each other.
3. You learn a lot from seeing how other developers write their code. It can challenge the way you work, maybe you’ll like it and maybe not but it’s good to challenge your habits.
Expanding our tasks
This was a great success: The backlog of the framework decreased dramatically and the developers loved having a break for a week from the everyday tasks.
We decided to expand the type of tasks that are available for guild weeks. Here are a few:
1. Tasks on the framework of infrastructure
2. Join a team for a week. In this option, you work on a small task in a different project. It helps projects that have a big workload and a shortage of developers, and the engineers like seeing how other projects operate and work.
3. Work on improving our CI. An opportunity to work on easing the life of the developers by improving the CI/CD tools
4. Contribute to Wix Open Source projects. We take pride in sharing our knowledge with the community and this is a big opportunity to be part of the effort.
5. Working on writing talks, blog posts or other training material. We see great value in sharing knowledge and this lets people have the quiet time they need for writing.
There are many more options and they keep changing as our needs change.
There will always be hiccups
Managers focus on shipping features that help our company succeed and make money. Although they all see the benefits of Guild Weeks in principal, in reality, They prioritize those business tasks and don’t always want to let their engineers go for a full week.
This is why this initiative is (and has to be) backed by the managers of Wix and of the R&D. The rule we have in place is that if you skip a Guild Week this quarter you have to give 2 next quarter. It’s a big incentive not to Skip them.
freshen up your work routine
Our Guild Weeks are a big success! Our engineers love them, they break the day to day of working on one project, give them the opportunity to see how other engineers and projects work and keep them up to date with the infrastructure.
They are ever evolving (Our tasks might have changed by the time you read this), that’s the secret for keeping the success.