Continually Growing Your Engineering Skills While Scaling the Organization — The Unique Wix Engineering Culture

Aviva Peisach
Wix Engineering
Published in
7 min readOct 2, 2019

When you’re part of something extraordinary on a daily basis — you tend to forget, how extraordinary it actually is…

This is why I’ve decided to put on paper, or in a blog post in this case, the story of the extraordinary Wix Engineering culture, which I feel lucky to be part of and have helped shape over the last 3 years.

I’m Aviva Peisach, Head of backend engineering at Wix. With over 20 years experience of Engineering management and VP R&D roles in various startups and enterprise size organizations I can fully appreciate Wix’s unique investment in engineering and want to share some of our secret sauce with you.

I will not cover all of our engineering practices, since there are too many to fit in a blog post and since they are continually changing and evolving to adapt to our growth and needs.

Instead, I want to focus on our unique formula for investing 20% of our engineering time in professional and community growth.

Not familiar with Wix? Haven’t heard of our amazing website building platform, helping over 160M users fulfil their dream online presence? Visit us here

Want to learn more about guilds and our org structure? Read here

20% of your time to grow your professional skills

Wix is an engineering-focused company: Our founders are engineers and about 50% of Wix’s staff is R&D. Since engineering is the heart and soul of Wix (as well as most of our muscle and brain power), we significantly invest in keeping our engineering in the best shape, by allocating 20% of every developer’s time to enhance their software engineering skills and build a strong, innovative and collaborative engineering community both within and outside of Wix.

Can you imagine having 1 day a week, every week, allocated to growing your engineering skills? We do so since we genuinely believe, and also see daily proof that investing this time, makes us better engineers, and significantly increases our velocity, productivity and daily joy of creation.

So how does it work? How do we invest this valuable time allocation?

Guild days

Every Thursday, all engineers per site and profession (e.g. Server, Front End, Mobile, Data science, and QA) meet for half a day of training, knowledge sharing and community building activities.

If we zoom into the server guild for example, which happens to be the guild I head, every guild day is different, but will typically include:

Project spotlights: where developers share their recent projects, product, architecture, technologies and challenges they faced and talk about their lessons learned.

Themed trainings: every 3–6 months we select engineering topics we’d like to focus on, for example in 2019 we picked Performance, API first, JVM Internals, and TDD.

Every topic then evolves into a full syllabus which includes talks, workshops, live coding sessions and related use-cases demonstrations.

Taking the Performance training for example — we had:

  • Talks about Performance-oriented design
  • Performance pitfalls demos
  • Discussed eventual consistency, product tradeoffs, and scale issues to consider for high performance
  • Shared tools for monitoring and performance tuning
  • Shared war stories on Performance related issues and lessons from our day-to-day

Now everyone are more of a performance expert.

By engineers, for engineers

All guild activities are created by our engineers for our engineers, hence every developer gets to contribute content to our guild days. You do not necessarily need to be an expert of a specific subject, you just need to be passionate about learning and sharing your gained knowledge.

Then we have Tracks: this is an hour and a half where we have dozens of different activities you can choose from. Typically, in every guild day you get to select one of 4 different track options. A few examples of the variety of our tracks:

Mob programing (pair programming on steroids) — where you get to code in a group and get to hear and voice your coding standards, refactoring practices, Intellij tricks and incremental thinking, and finish off with a working program.

Design track — where you share a design dilemma (typically one you’ve faced and solved for one of your products) and do a group design for it, discuss considerations, debate on tradeoffs, provide new perspectives and reach suggested design alternatives.

Town Halls — these are mini unconferences where you can raise any issue / dilemma on your mind, e.g. Mocks vs Stubs, how do I effectively estimate my tasks? how should we effectively enforce deprecations? and have a group discussion to hear other people’s experiences and insights, town halls will often suggest guidelines or areas to be addressed by the guild.

Building your professional brand track — where you get to invest and consult on your brand presence — this is a sounding board for your next idea for a tech talk or blog post. Where you get feedback from other engineers helping to shape your idea into reality and get more tips on how to grow your engineering brand presence.

Learn a new coding language — where you get to learn (group guided or self guided) together. We had Node, Python, GO, Haskell and more to come.

Pairing & sharing — where you pair with a developer who’s not in your team and share a recent dilemma or recent project and either do mutual code review, design brainstorming, or prepare for post mortems. The point is to gain and provide a fresh perspective on your day-to-day dilemmas.

And since tracks change on a weekly basis — so much more, any dream you have on something you’d like to learn and practice together — easily becomes a track.

Guild weeks

Every quarter you get to go on a guild week. This is a week away from your team — where you get to pair with engineers who are not in your group and work together on tasks and initiatives outside of your regular backlog.

You can pick a guild week track, a few examples for popular tracks are:

Infrastructure track — where you get to contribute and build the next generation Wix infrastructure, framework & tools, thus both helping to boost overall dev velocity, give your perspective on usability of the framework — adjusting it to actual needs while becoming more proficient and knowledgeable on how Infra works under the hood.

Join a team track — where you join a different team and work with them for a week. This allows you to gain and provide a different perspective on code, developer practices design and production challenges. Learn another part of our huge product & gain new friends in the guild.

OSS track — Where you help open source our products and infrastructure to contribute to the entire engineering community.

Academy track — where you get to work on your next guild talk / workshop or next conference talk (many Guild talks tend to become talks you give in global tech conferences) or work on your blog post. Accompanied by our Wix Academy great minds and mentors — helping to boost your talk graphics, stage presence & delivery skills, dry-run and create stunning outcomes.

Bring your own track — Have an idea or initiative you’re dying to work on and never got the time for? You can bring it to a guild week, pair up with someone and make it happen.

So many options to choose from, so many worlds and perspectives to explore, all allowing us to break the routine, grow our engineering skills and experience while innovating, contributing and helping others. A perfect Win-Win-Win.

— —

The Wix Engineering community and guilds live and evolve beyond the scope of guild-days and guild weeks — with active slack channels, newsletters, shared boards and more — we continually share knowledge and lessons learned. People are always willing to help and consult which eliminate the fear or uncertainty about who or where to ask.

Having a lively and vibrant engineering community gives each and every member an opportunity to grow and have access to the brilliant minds and experience of our hundreds of talented and passionate engineers.

Want to learn more about Wix’s unique culture? Want to join in on the fun, challenge & growth? Feel free to reach out to me on avivap@Linkedin

--

--