What is the Wix model?
The Wix model is a form of team topology in which the organization is split on 2 axis: one axis along product lines (‘Companies”) and on the other axis into Roles (“Guilds”). Each employee works on a particular product line as part of a Company 80% of the time and spends the other 20% of the time advancing their craft together with their Guild. Spotify also uses a similar model.
Why the Guild Model
As with many large companies, Wix offers a wide range of products. We have the e-Commerce platform, the blogging platform etc.. One of the challenges we faced as the amount of product lines grew was how we keep running efficiently? Many large companies are slowed down by bureaucracy and gangly processes. How do you align and sync up with many employees? We asked ourselves “Which are the companies that run the fastest? Which ones are most nimble” Startups. So we modelled our company as a collection of start-up companies. We made each product line its own company. So every company is responsible for a single product line. The e-Commerce Company is solely responsible for the e-comm (i.e. Stores) product. The Booking company is responsible for the scheduling product etc.
Each company has its own “Head of Company” - the equivalent to a CEO of a startup. If the company is big enough, it can have its own engineering manager (like the VP Engineering of a startup). We have about 50 such companies. But how do we align them all?
Using Companies for Strategy and Product Alignment.
When a company builds its product roadmap it needs to balance out 2 concerns:
- Aim for the best in the industry (i.e. competitive). The mission is to ‘make your product the best’. For example, the e-Commerce company needs to be the best in the e-Commerce sales world.
- Aligning with the overall Wix strategy. Wix tries to give each company as much independence as possible but there are some things that would go against the big picture.
So how do they satisfy both company and Wix’s overallconcerns?
Here is a very far-out example to show this. Let's say the Head of Company (the equivalent to a startup’s CEO) for the e-Commerce company decides that in order to ‘be the best’ and compete as an e-Commerce platform, they need to use their own domain and break away from the Wix.com domain. That really doesn't go well with Wix's strategy which centers around an all-in-one platform - a one-stop-shop.
How does the company align with the big corporate organisation? Well, just like any startup, the company has a Board of Directors. The Chairman of the company’s Board of Directors is someone from the Wix corporate management team who knows Wix's overall strategy.
By working together, the Chairman of the Company and the Head of Company can probably reach 95% of decisions on their own without a complex decision-making process that requires them to bring decisions up the chain. This mechanism allows for fast decision-making, allowing the company to be as nimble as a start up while still fitting with the overall organization strategy.
What is a Guild in Wix’s model
Everybody that works in a company also belongs to a guild. Guilds group together all employees with the same skill, for example,all back-end developers belong to the back-end guild. Guilds are centers of excellence for certain topics, each steered by a Guild Hat.
The Wix Guild model is more of an operational guild than the educational guild that most people think about when they think about guilds. The Guilds at Wix are involved in the day-to-day life of everyone from hiring to professional development to promotions and compensation.
Hiring and Recruitment at Wix
If the Head of a Company needs more manpower, they request it from the appropriate guild. They tell the guild about the open positions and tell them their budget - each company has their own budget. Then the guild starts to recruit someone for the postition.
People are recruited by guild standards. Interviews are done by guild members - perhaps the interviewer might even be someone from the same guild but not the same hiring company. Of course, someone from the hiring company will be part of the interviewing process to ensure a good fit with the manager but other than that, the guild sets the standards. Once the potential employee passes the interview and is evaluated by the guild to have the right level of knowledge - then they are assigned to the hiring company. The new employee will now be a member of that guild and the guild is responsible for the onboarding and training.
Being hired by a company is not limited to new employees. An employee might also apply to an open position at a different company. The same interview process would take place.
A developer can also ask the guild to move them to a different company. The guild knows them and decides based on their skill level and what they are looking for which other companies may fit them and helps to organize the move.
The Guild’s Involvement in Promotions and Compensation
The Guild is also involved in compensation. If someone wants to go from, let's say, a mid-developer to a senior developer, the guild needs to agree on that. There needs to be an agreement between the Head of Company and the Guild Manager on whether this person actually deserves to be promoted. This way there’s alignment between the requirement to contribute to both the company/product and the guild. If either the Head of Company or Guild Manager says that the person does not meet expectations, this will probably delay the promotion or raise. This works both ways. We can’t have someone who is so busy with guild activities that he does not deliver for the company. There needs to be a balance between, contributing to the community and also performing their day-to-day job, which is to produce products.
How does the Guild know the person well enough to measure performance? Let's say you have someone who's very active in the day-to-day and who now wants to get a salary increase and this has to be approved by the gGuild. But the guild doesn't know so much about this person's performance. How can the guild properly evaluate?
It really depends on the size of the guild. When we were small, the guild actually knew most of the people, so that wasn't an issue. Especially because we had the Guild days, Guild weeks,and interviewsthat allowed for a lot of interaction. Once we got to a certain size, we knew it would be hard to know everybody, but we try to make sure that we know at least the senior employees.
We also have a lot of knowledge about the developers from the infrastructure team that is responsible for building the platform. The infrastructure team often works within companies, pairing programming with developers to understand the day-to-day job of a developer in order to create better infrastructure.
But really, most of the information comes from the Guild Master.
What role does the Guild Master play?
The Guild Master is a person who is trained by the guild (they know all the best practices of the field) but actually works for the company, not the guild. They have been certified as a Guild Master by the guild and are basically the ambassador of the guild inside the company. Since they work in the company, they also know the people in the company, because they work with them on a daily basis and they can provide feedback about employees.
Guild-based Professional Development
Companies know to expect only 80% of their employees’ working hours and take that into account in roadmaps and in sprint planning. The other 20%t of the time is dedicated to professional development with the employee improving their craft with their Guild
Once a week, we have a Guild Day. Employees come in and we teach them and train them on new stacks, new technologies, etc.
Every quarter, we have something called a Guild Week, where you get out of your company and you join a different company to do something else in order to improve your skills or diversify them. You can learn something new, or you can work with different teams. There are many activities you can do during that week off from your day-to-day responsibilities. You can contribute to open source, prepare training sessions for the Guild, or you can work on your interview skills.
At Wix, the Platform track is also quite popular - you can opt to contribute to the platform. (Note, the platform is the responsibility of the platform team. Other guilds have no obligation to contribute to it, but if a member of another guild wants - they can contribute to the platform during Guild Week.)
It should be noted that one needs to work for a different company during Guild Week. The idea is to expose the developer to new things that are not part of their daily job. The developer cannot use that time to work on their own company’s backlog or agendas. What they could do is work with a different team to help something that will help their company - for example, if there's a missing feature from the platform that the developer’s own company needs, then they can build it during Guild Week with the Platform Guild because it will help others - not just their company. Most times, the task someone does during Guild Week is not random. The Guild Managers and Guild Master help employees pick a task that is suitable from the tasks that are available.
Let's say someone wants to work at a specific company, like the Payments, but they also want to improve their testing skills. We will pair them up with someone from that company who is good at testing and also on-the-job training. During the peer programming activity, both will learn something new and also improve their testing skills.
When do you tackle tech debt?
Tackling legacy code and tech debt is part of the day-to-day job at the company and is not part of Guild Week activities. There is no additional time reserved for getting rid of tech debt and legacy. If there is tech debt, the R&D Manager allocates time for the developer to fix it because it's their product. They build it. They fix it. The developer is responsible for making sure there is no huge tech debt.
Mentorship within the Guild
We promote mentorship in guilds. This is something we are still figuring out. We have not nailed it quite yet. We tried to promote mentorship between companies for subject experts. We built a mentorship portal for employees to announce their expertise (e.g. TDD) and say they are open to mentor. This one didn't quite take off, although we tried to promote it several times in different ways.
The reason why it didn't really work is because people need to find the time to be mentored. While someone might want to be mentored, they are also under pressure to deliver on their day-to-day work. It's hard to put time aside to be mentored.
This is why Guild Weeks are so useful. It gives people dedicated time. The company says “We as a company said okay, this is your time, it's your week. You decide what you want to do, and what you want to learn, and you do it hands-on. You go and join someone.”
Guilds get together in person and virtually. We try to combine both local and global and virtual ones so that everybody can join
Physical Guild Meetings We have both physical uild Days in each location. For example, the Wix office in Vilnius has its own Guild Days once or twice a month.
Remote Guild Meetings We have a dedicated Slack channel for each guild, since we are globally distributed. This helps with communication alignment. We have also had virtual Global Guild Days where everybody connected via Zoom.
What the KPIs of the Guild
The KPI of a guild is the success of the companies. Can the company be successful? Can our development velocity be faster?
Improving the Guild with Feedback
Guilds are something that is constantly being evolved based on frequent evaluations. Every year, we send out surveys and we talk with employees and managers and ask:
- How can the guild bring better value?
- Does it bring value to the activities that we do?
- What would you like us to do? What is missing for you?
It is something that is very alive and dynamic. We change activities. We change the way that we work according to scale, according to demand and according to the feedback that we get. Yes, sometimes we totally screw up and change things and the things that are work, that we keep doing, but every time we ask for feedback.
Conclusion In this article, we discussed how a large tech organization can work nimbly while upskilling developers using the Wix Model which splits the organization into companies and guilds. We also discussed the various activities guilds do and how the guilds operate the day-to-day life of all its members.