How to start a professional community at work?

Tips, tricks and lessons learned in 2 years of managing a community of 30+ server developers

Nir Orman
12 min readOct 4, 2022

What will you learn in this blog?

  1. Why do you need a small professional community at work?
  2. How to hold an effective reoccurring meeting of the community members?
  3. How to make sure new community members feel welcomed?
  4. How to effectively follow up on meetings’ action items?
  5. What’s an Indian Talking Stick? How will it help your community members feel understood?
  6. What’s the power of the community outside of the reoccurring meeting?
  7. Tips and tricks for building a professional community

At Wix, we have several professional guilds; Server guild, Front End guild, UX guild etc.

We also have an organizational structure of companies (basically it’s business units within Wix). For example, Wix Stores (the e-commerce solution that allow users to build their online stores) Wix Restaurants, Wix Hotels, Wix Blog, etc. (You can read more about that structure in Dalia Simons’s blog).

The Server guild, has over 1,000 engineers world wide.

Wix Engineering is a global community, spanning across 8 countries and 16 locations worldwide, each focusing on engineering excellence and cutting-edge technology.

Within WixStores we try to keep another smaller community of the Server Guild within Wix Stores.

1. Why do you need a small professional community at work?

A group of a thousand people around the globe is very powerful, but can also feel a little distant. Asking questions in guild days with over 400 people might not feel comfortable for some people (not even if it’s on Zoom). You also might feel that the challenges you’re facing in your day to day work, might not be relevant to such a big group of engineers.

You might feel like you don’t really know anybody.

This is why having an additional smaller community is really important.

Allowing people to have a space where they can feel safe to ask questions, raise debatable topics, and really feel that they know each other, creates a safe space. In such a smaller group, you can also make decisions and commit to keeping them as a group, take action items and share knowledge that is more domain specific.

It allows to create a communication channel and increase the community’ engagement.

2. How to hold an effective reoccurring meeting of the community members?

At first, it was unclear why we are doing this meeting every 2 weeks. Then, I started with asking the people — what is the value that you see in this meeting? What makes you come? what would make you keep coming?

It was very clear that people are coming to hear other people’s dilemmas, difficulties, solutions. they want to be heard, and they want to listen to others.

The format has to be very easy. So, we have a private slack channel just for this meeting, in which everyone can just write topics that they want to raise (you don’t even have to elaborate what exactly you plan to talk about, you can give just a simple title in one line). This makes the interface very easy. All you have to do is write one line. It could be a question you wanna ask, a debate you want to hear more opinions about or knowledge you learned and think could be useful to more members of the group.

On the day of the meeting, a couple of hours before the meeting starts, I remind people that the meeting is coming up, in order to increase engagement. I send out the meeting’s agenda and most importantly — I mention that they are welcomed to add any additional last-minute topics, and remind them that the meeting’s goal is to hear as many voices as possible. This usually increases people’s participation by 200%!

I then gather all the topics that were raised and list them in a table. The table can be built in any app, we use Confluence that integrates with our task management system (Jira) but it really doesn’t matter). What matters is that you know who are the people and what are the topics.

During the meeting itself, the facilitator gives the stage to each of the speakers in turn and makes sure to allow everyone who wanted to speak up have enough time for their topic. If there isn’t enough time to cover all the topics, just add the topics that were not discussed to the agenda of the next meeting.

What?

Simon Sinek mentions in his book “Start with Why”:

“For values or guiding principles to be truly effective they have to be verbs.”

And:

“Only when the WHY is clear and when people believe what you believe can a true loyal relationship develop.”

This is why at the very TOP of every meeting’s agenda, we have the meeting’s goal/inspiration:

At the top of every meeting’s agenda, we keep the goals — WHY are we having this meeting?
  • Share knowledge, best practices and conventions in order to ensure code reuse and aligned working processes across groups and backend teams.
  • Ask questions
  • Raise debatable topics
  • Follow up on action items
  • Create a communication channel and increase developer’s engagement

In order to measure engagement, it’s possible to keep track of who are the people who attended the meeting (I usually do this quickly and quietly, it shouldn’t waste anybody’s time. If I can’t find the time to do that I just take a screen shot of the list of the Zoom participants and tag all the people who attended once the meeting is over). Tagging people means they get emailed about it, and can go back to read again what we talked about after the meeting (in case they wish to reuse some idea or contact a person who raised a certain topic). This is also a way for the facilitator to measure the engagement of the meeting (check the trend over time — how many participate join every time?). If you notice that people are starting to ditch the meeting to do other tasks instead, or they lose attention during the meeting, that’s your sign to ask the members of the group once again:

“What can we change to make sure it’s an effective use of your time?”

“What would YOU like the meeting to be like?”

During the meeting itself, make sure to take notes and write down the summary of each topic. Take screenshots of relevant explanations, add useful links that were shared, for the sake of the organizational memory.

When we first started out, people mentioned they feels topic are repeating every few months because people don’t remember what we already discussed. Now, we have a way to search through the previous meetings’ summaries and find any topics or decisions that were made in the past.

3. How to make sure new community members feel welcomed?

This is a very important part of creating a community and a safe space. Sometimes, new members that join the group find this meeting very technical and can hardly understand a word. It’s important they introduce themselves to the existing group members for 2 reasons:

  1. When you introduce yourself- it make you talk. This makes the next time you want to ask something easier, since the second time is always less embarrassing than the first, and you already feel people know who you are.
  2. When people know you’re new, they are more likely to help you out afterwards, and not feel like they should have known you but missed your introduction and feel bad about asking who you are, which team you’re on etc.

Whenever a new member joins the community, it’s worth briefly explaining to them the format of the meeting, and tell them to write down their questions during the meeting and have their buddy fill in the gaps after the meeting in depth.

Also, it’s worth going over the goals of the meeting so that it’s clear to them which topics can and should be raised. It takes just 2 minutes and it’s a great reminder for the rest of the members to why they keep coming to the meeting themselves.

4. How to effectively follow up on action items?

One of the issues raised when I first asked the group what do they lack in the existing meeting format, was a way to follow up on action items. Sometimes people volunteered to take care of an action item that was raised, but in the midst of the sprint, and the on-going tasks, they forgot about it, and if it’s not written anywhere, it’s very hard to keep track. If no one is holding you accountable, you just don’t do it (remember being a student? in some courses homework don’t get checked. Most likely you’ll invest your time in doing the homework for the courses that do get checked, it’s human nature).

Whenever you feel an action item arrises from a certain topic that was raised (something needs to be further investigated/ some topic needs to be raised with the whole server guild, etc.) Immediately create a task for it during the meeting and assign it to the person who feels the most passionate about taking care of it. The action item needs to be added to their team’s sprint board so their manager can follow up on it too, and help prioritize it. The task should be labeled with the “server-weekly-meeting” tag, so all tasks that are raised in the meetings are easy to track in one place. You will go over them at the beginning of the next meeting.

At the end of the meeting, briefly go over the action items that were assigned and make sure people are fully committed to doing them. If there’s an action item which we find is “hard” to assign (no one volunteers), it might just not be important enough, and probably means we can just knowingly decide to dismiss it.

The first item on the agenda of every meeting should always be going over the list of action items from previous meetings (you can add it to the meeting’s template). Sometimes there aren’t any action items, sometimes you’d have to ping those who got action items about them, and most importantly — be sure to encourage those who completed action items for their contribution to the community.

5. How to make community members feel that they were understood? (The Indian Talking Stick)

As mentioned in the previous paragraphs, it’s sometimes hard to follow the very technical conversation. The person who’s sharing knowledge might forget what it was like to be a new member of the group, or the topic could be highly technical even for the most experienced people of the group. This might cause people to feel like they were not understood.

You talk for a few minutes and then you get the awkward silence. “Any questions?” you ask, but again — silence.

In order to make sure people feel understood, you can try a cool exercise called The Indian Talking Stick. You bring in some special stick (or just use a white board marker, no need to buy anything!) and you give it to the person who’s speaking. The other people can only ask questions to better understand what the speaker is explaining, but nothing else (no stating anything, no agreeing or disagreeing, etc.) All you can do is communicate until you feel understood. As soon as you feel your point was understood, you pass the stick (or the pen or whatever) on to the next person. (see the youtube by Steven Covey)

The Indian Talking Stick

6. What’s the power of the community outside of the reoccurring meeting?

  • Learn — if there is a new tool the group needs to know, doing a workshop together can be both fun and educating. For example, when new infrastructure was introduced at Wix, we did a 3 days coding in pairs workshop together. This was so much more effective than each individual learning by themselves.
3 days Nile Workshop especially for the WixStores Server people
  • Do Meetups/physical Guild days together — taking people out of their zoom-squared-comfort-zones can be challenging in the post-corona era, but there’s nothing quite like coding together (for example, you could do the amazing open-sourced regex workshop built by our very own Nachshon Schwartz)
Regex Workshop by Nachshon Schwartz
  • Special missions — have a full day in which you gather together in one place to tackle a certain common challenge (for example, we gathered forces for a special Code Care Day, to tackle the problem of flaky tests)
WixStores Code Care day (where we tackled the mission of flaky tests in our code repository)
  • Invite visitors (external to the community) to teach new knowledge to the community that the group members want to know more about (for example we asked our infrastructure team to share with us a demo and deep explanation about the new infra feature coming up).
WixStores Server people learning from Savva about a new feature provided by Wix’s amazing Infra team

Ok, so to give you the gist of it let’s answer the most practical question of all:

What does the meeting summary looks like?

It has a few constant parts and a few changing ones:

  • High level goals of the meeting — as mentioned, it’s best to keep this in every meeting.
  • Participants list — fill it in every meeting
  • Going over action items — this should be constant in your template with a link to the task board.
  • Going over the topics that are raised: It’s a table with a few columns: Speaker name, topic title, summary, action items, and assignee. This is the main dish.
  • Feedback — to your consideration, raise it when you feel a change is needed.

Last but not least — some last tips for community building:

7. Tips and tricks for community building

  1. Listen, Listen, and Listen some more — make sure to listen and get feedback all the time by simply asking people how they feel and what they think. You could add “feedback” as the last topic of the meeting to ask everyone what they think as a group, or catch individuals after the meeting to hear what they think.
  2. Continuity is key — Keep the meeting in the same hour and the same place every time, it will make people know this is an anchor they can plan around. I found that once the Corona was over and we started doing the meeting in the office, people chose the day of the meeting as the day in which they physically come in to the office. One by one people understand it’s the day in which they’ll get to meet everyone at the office. Which makes more people come :)
  3. Lead — if you take on yourself the responsibility to be the facilitator, make sure to show up, be there on time, ready with the agenda to welcome the community members that arrive. If you won’t inspire others, the community will dissolve very quickly. The secret is, you do not need any official title to do that! just do it.
  4. Iterate — It takes time to find a format that works. Don’t assume the first format you’ll come up with will be a successful one. Keep changing it till you feel it flows. There is no “right” template, there is only trial and error till you find the template that fits the community you are building. Even when you find it, it will require change over time. The organizational structure changes, people leave and join, and the format needs to be updated from time to time or else it will get outdated and irrelevant.

To summarize, I’d like to share with you a quote by Sir Gustav Nossal, a great Australian community leader, scientist, thinker and former Australian of the Year once said:

“Community leadership is the courage, creativity and capacity to inspire participation, development and sustainability for strong communities”.

So, go build your professional community at work!

The more you listen, the more you encourage others to speak up, the more effective the community will become. There’s nothing more elevating then a community finding out it’s purpose.

Feel free to follow me on Medium, LinkedIn and Twitter. Reach out if you have your own tips to share about building a professional community at work. See more of my lectures and blog posts at nirorman.com

Thanks for reading!

--

--

Nir Orman

Innovation lover, Technology geek, Enthusiastic Software Engineer