As an engineer, there is nothing more beautiful than opening up my calendar in the morning and seeing an entirely meeting-free day for coding.

In the past, I’ve sat in meetings that were entirely irrelevant to the work I was doing, as well as meetings that were entirely relevant but ended up down a rabbit hole covering only 1% of what really should have been discussed. Both are incredibly frustrating, especially when sprinkled across the week.

Now that I’ve been at Medium for almost a year now, I’ve come to realize that many of the painful aspects of a “conventional” workplace that people tolerate begrudgingly don’t necessarily have to be that way. Earlier this year, we adopted a new company structure called Holacracy, which is a distributed authority system that uses tensions to dynamically steer an organization. I know that is incredibly vague, but maybe that’s a topic for another post. The new system has affected many aspects of our work, but the one I appreciate most is the structure it enforces around meetings.


In our meetings, everyone has a chance to bring up “tensions,” which in Holacracy means something that you as an individual feel is hampering the true potential of your work. No one can tell you that a tension is invalid even if they themselves do not feel that tension. As an individual, you have a unique perspective into the company, so if you feel a tension, it is valid and needs to be processed to help the company achieve its potential.

All meetings have an appointed facilitator who is responsible for running the meeting. The facilitator helps the circle members come up with an agenda filled with short phrases; for example, a tactical meeting of the Engineering circle might have an agenda with items like “unit tests,” “style guide,” “deployment,” “hiring,” etc.

During meetings the facilitator ensures that tensions are strictly processed one-by-one and is responsible for keeping discussions (when allowed) on task and quickly seeking resolution of the tension.

The structure of our meetings is really significant for me as someone who feels uncomfortable interrupting other people to be heard, since it gives me explicit space to voice my opinions without interruptions and without having to yell over other people. Rather than being satisfied with the status quo, I feel empowered to bring things to the table that could be improved upon.

Processing Tensions in Tactical Meetings

Tactical meetings are usually held every week and are very much about getting the work done, unblocking roadblocks, and resolving practical issues. Because tactical meetings are very different from governance meetings (mentioned later), we use a different procedure to process the tensions.

For tactical meetings, processing a tension means getting to a next action that will address the tension-holder’s tension. It may not be the most optimal long-term solution, but rather a workable next step that moves us forward. If Alice brings up a tension such as “We need more consistent coding styles for javascript,” after a swift open discussion, a next action might be assigned to Bob to “Send a draft of a javascript style guide to circle members.”

But, you can easily imagine meetings where the discussion veers off-track. For example:

Billy: “This is related, but our html and css is a mess, and we don’t have consistency in buttons and our styles are not very reusable. We should do a sweep through the codebase to refactor that.”

This is where things get interesting. In a normal unstructured meeting, this is where two or three people might end up discussing philosophies on technical debt for half an hour, while everyone else sits impatiently until someone gets frustrated enough to jump in and say “um maybe we should move on” but feels like a jerk for cutting the discussion off.

When we process tensions in tactical meetings, the facilitator is responsible for detecting and stopping digressions, possibly even interrupting Billy mid-sentence:

“Well, that sounds like a separate tension, which you can add to the agenda at any point. Back to Alice—what do you need to resolve your tension?”

Processing Tensions in Governance Meetings

Governance meetings are more about how we are organized around the work, and can affect roles, accountabilities, and policies. For instance, recently we realized we did not have anyone officially responsible for monitoring developer happiness, so we created a role for this at a recent Engineering Governance meeting.

Processing a tension in governance meetings usually means getting a proposal accepted. As an example, let’s take a look at a tension of “It’s unclear what browsers we should support and who has the authority to make that decision.” I’ll only cover some of the parts of the process, but you can check out this handout for all the steps.

A proposal for the given tension might be “Create a role called Browser Supporter with the accountability ‘Decide what browsers we should support.’” During the reaction round, each person in the meeting has the time to give their reaction to the proposal, to voice all their concerns or opinions about it without any interruptions.

There are very few phases in these meetings that allow for open discussion. While this may seem limiting and unnatural initially, it explicitly prevents discussions that do not address the present tension.

Experiencing a well-facilitated meeting can be eye-opening. I fully expect and trust a facilitator to cut people off when appropriate and help us efficiently process tensions. Since the goal is purely to process tensions, the meetings actually often end before their allotted times, which lets us all get back to work.

Show your support

Clapping shows how much you appreciated Jean Hsu’s story.