When someone contacts Wix Engineering about job opening, or we share the info with our friends-developers, the inevitable question is: “What are the next steps?”. The answer is: “Well, the next 5 steps are…” Wait, what? 5 steps? Why would we do that to ourselves and the candidates? There is a short answer for the impatient ones:
TL;DR In Wix Engineering, we hire people who like what they do, care about their code and the product they deliver. Our goal is to build strong teams that last.
Company structure and culture
Back in 2013, Wix adopted a company structure, a bit similar to the one used in Spotify. On the one hand we’ve got Guilds (a group of people sharing the same profession) and on the other we’ve got Companies (a group of people working on the same product). When a new person is hired, she (or he) joins her product Company as well as her professional Guild. To join the guild, one must meet certain criterias (master required skills and have relevant knowledge) - just like in old times. In our case, the “entry threshold” for a guild is the technical task and technical interview, conducted by the guild members.
The result of such a structure, is that, for example, a junior server developer from one team and a seasoned server developer from another team will belong to the same guild. Now, you might ask yourself, why do that? Amongst many things, it helps us to balance the teams, share the knowledge across the entire company and all teams, thus making sure our people keep growing professionally.
The guilds are not limited to engineering, meaning, we have UX and Product guilds, as well as others. Head of Engineering at Wix, Aviran Mordo, wrote about the motivation that lead us to build such a structure 3 years ago, and it feels even more relevant nowadays. This structure works well for Wix, however, it’s only one ingredient in the “How to build successful teams” recipe. A fitted culture is a must in order to support it.
At Wix Engineering, we share and value 2 core principles that drive successful teams to deliver innovative products. It’s Ownership and Freedom.
Wix gives developers ownership of the product, which means that your input actually matters and is appreciated. If you propose a feature or a technical improvement which, for instance, leads to better performance or development experience, it will be taken into thoughtful consideration. If there are no obstacles, like a conflict with the long-term strategy to deprecate X or move towards Y, it will be implemented.
Moreover, our developers help to shape the product in its early stages. They’re encouraged to ask questions or raise concerns about potential blockers, integration issues or even the product scope before the product managers and UX designers get to the final flows and UI screens. We’ve had cases when minor changes to the flow resulted in a huge decrease of development time. As a developer at Wix Engineering, you rarely get the spec to implement. The preferred way is to present a problem and let the engineer figure out the ways to solve it.
The second key thing at Wix is the freedom that the teams have. For example:
Teams can pick their tools for planning the tasks: Jira, Asana, Trello, Github, shared text document - you name it. Whatever works for the team members is fine.
Teams decide on the work process: will you have daily stand-ups? Weekly meetings? How long is the sprint? Should there be a dedicated person each week to take care of user reported issues? These are the questions that don’t have definite answers: what works for some, is not going to work for others. If people in the team see the value in having daily meetings, they make those meetings happen. Want to estimate using story points? Great, as long as your teammates sign up for it.
Flexible working hours. Some people are really productive in the morning, while others want to avoid traffic and come in later. You decide on your own schedule (within reasonable limits).
Any developer in the team can introduce something new to the stack of the product. Of course, it should be done for a reason, and fellow team members must be OK with it. One example would be switching to TypeScript when the project is already in production.
Having workflows that are not bound to the same processes enables teams in Wix to have autonomy and let the people figure out their preferred ways of working together. It’s challenging though: the lack of strict accountability (as in time tracking) can be abused, the ability to pick the tools freely might lead to the unmaintainable zoo of technologies, etc. To avoid these pitfalls, we need the right people that could work effectively in our environment. How do we find them?
We intend to provide an objective evaluation and equal start for every candidate. You can meet 6 or more people during the hiring process. So, what are the 5 steps? How long does it take? Let’s see:
Screening. It’s usually a phone call from our HR. The primary goal is to figure out the candidate’s prior experience in the field and identify the expectations that the candidate has.
Technical task. You meet two Wix engineers and, depending on the position, you either do a coding task in Wix office or at home. The purpose is to see your approach to the given problem and how you get things done: your choice of language and tools, the way you prioritize the tasks and organize the code. The result of this task provides Wix interviewers some insights for the second stage.
Technical interview. You meet two Wix engineers, different from the two who talked to you on the previous stage, for an open discussion with topics like the software engineering concepts (design patterns, SOLID, DRY etc), tools and languages you’re familiar with, projects you’ve worked on. We will discuss your take on the technical task and the decisions you made. Depending on the result, we may ask you to do some extra tweaks to your code on the fly, such as add missing functionality or fix a bug. We may ask you to design a system or ask your opinion on a language framework. The topic of the question depends on your background. The goal for Wix engineers is to learn about your technical skills and experience.
HR interview. Be yourself! The goal is to know what kind of person you are, what you like, and what makes you happy at work. At this stage, we want to understand how do you see the world around you. Your way of thinking determines your behavior and actions, how you interpret, depict and respond to different situations. Knowing it helps us to find the team that fits you best. It also tells us more about your future onboarding and the areas which we should focus on. Wix helps you grow personally. For example, if you would like to try public speaking in meetups or conferences, Wix can help you with content, presentation, and public speaking training. Feel free to join our meetups at TLV and Beer-Sheva, Kyiv, Dnipro or Vilnius!
Manager interview. In this meeting, the manager will tell you more about your team and the product you will work on. Feel free to ask any questions about day to day tasks, meetings, release process. Mention your preferences or challenges you’re looking for so that your expectations may be addressed when you join the team.
It can take anywhere from a few days to a few weeks to get through all of these steps, depending on your availability as well as those from Wix. You’re probably thinking “That sounds like a huge waste of time, why don’t Wix merge all that to a single interview with a few relevant people”? First of all, we want to have an objective process and get feedback from people of multiple skills and perspectives.
Each meeting you have with someone from Wix has different focus - first, it’s all about the technical skills, then we try to understand what kind of person you are, later on we find the best match within the teams and lastly, the manager gives some insights about the team, product, daily work and answers the questions you have. Ideally, at this point, we know what would make you happy at work and make sure the current team matches your expectations.
On the other hand, talking to people from various departments helps you, the candidate, to get a good glimpse of company culture, people and what it’s like working at Wix. Both parties are equally interested in finding something that fits best, right?
As it happens, sometimes there’s no match between the candidate and what we’re looking for. Don’t worry - it doesn’t mean the door is closed, check our job site from time to time - we may soon have an open position that fits you!
This post was written by Donatas Dautartas
You can also follow him on Twitter
For more engineering updates and insights: