For the last 2 years, I’ve been a Guild Master at Wix Engineering. I often get asked about this title. When I’m too lazy to explain my role, I present myself as a tech-lead or an architect. Today I would like to share with you why I find this role important, what I do in it and why I love it.
What’s a guild and why does it need a master?
In small startups, all engineers know each other, share knowledge and ideas. As companies grow, they lose this ability. Each project uses separate technologies and in big corporates, you will find different projects built on different stacks and engineers that don’t know each other.
As Wix grew from a small startup to a big company, we tried to keep our engineering culture by applying a model we call Companies and Guilds.
A Company is in charge of a product (for example, WixStores or WixHotels), has its own board of directors and is run like a mini-startup. Each engineer belongs to the company of the product she’s working on.
At the same time, she also belongs to a guild of her specific engineering field, like Backend Guild, Frontend Guild, Mobile Guild. We have non-engineering guilds too, Product Managers Guild, UX Guild etc.
This model is inspired by the Medieval guild
In addition to the guild members from the companies, a guild has designated managers, some developers who work on core services, and Guild Masters. The main goals of the Guild are knowledge sharing, empowering personal growth, and keeping a shared stack of technologies for all projects.
I understand what a guild is. Why do you need a Guild Master?
Mentoring engineers and sharing knowledge are tough tasks. Senior engineers are often focused on their own work and don’t get time to drive these activities.
We found that it makes much sense to assign experienced Senior Engineers to handle these overlooked areas. It is a great opportunity for engineers who have been in the company for a long time and are looking for a leading role which is more technical than just managing a team.
The role isn’t strictly defined and it varies depending on the guild master’s personality and strengths. For me, it’s mainly about mentoring and helping other engineers improve. Helping them with planning their design, code reviewing, teaching them the best ways to communicate with other teams and make a good impression.
Usually, I get requests from projects that need some help and join their team for a few months. Whether they need help tackling a big project or they have a new team and want help mentoring them — I’m there.
What exactly do you do? Can you give some examples?
When we launched a redesign of one of the oldest Wix products, the Premium Services that handle all Wix subscribers, I joined the team to help design a microservice architecture.
While one of the engineers led the project, I helped him deal with design challenges like having old and new system active at the same time, migrating the data, interacting with other old systems. I contributed my experience to the project while mentoring the lead engineer to improve his design skills.
Another good example is a small reorganized team that has lost the backend expertize after their only backend engineer left and three new teammates joined. Some of the “new blood” was recently hired and did not know much about the internal technologies. I helped mentor them and since they were working on a big integration project, I was able to help move it forward by using my connections across the company.
So why do you love being in this role?
Each task I get is unique, but it’s always about the people. It’s about helping the team become better in what they do and enjoy their work. I love this role because I feel I make an impact on a lot of other developers thus making them and the company succeed.