Our industry is centered around community. Which is funny given our origins as basement-dwelling, anti-social nerds.
But here we are. In the throws of CDD: Community Driven Development.
Think about it. We've got language communities. And open source communities. DevOps communities. Even companies manage the communities around their APIs and tools.
My job, as a developer advocate, is largely communicating and engaging with communities of developers.
Communities in tech.
So imagine you've got a pool of developers. (The engineers pictured are obviously frontend developers because of their smart dress.)
Every developer belongs to many communities within the greater industry.
Don't believe me? Let's break this down visually.
Language communities
Engineers typically identify with a specific language or stack. You've got some Ruby guys. Some React gals. Some stubborn Ember folks.
And if you're thinking, "But what about full-stack engineers?" First, I think that's largely bullshit. Second, even engineers who call themselves full-stack are part of a full-stack community.
Women in tech
Due to the disparity between genders — folks who identify as male and folks who don't — women have begun to group together on teams. And for large part, this is AWESOME. Women can amplify other women and people who identify as another underrepresented group.
People of color
If you think there's a gender disparity, hold onto your butts. People of color are woefully underrepresented in tech. And, rightfully, have begun to band together and support each other.
Management + Individual contributoRS
CTOs, VPs, project managers, product owners, team leads. These roles have different challenges than those of individual contributors. And often, due to shared perspective, managers of all types form their own community in tech.
OPS + Dev Communities
This is a division as old as time. Well, at least in Unix time.
You've got the folks who build the thing and the folks who make it run. While DevOps culture is taking hold, many teams still divide themselves into groups like this.
Just kidding. Zero teams have five operations folks for ten developers. Like, zero. In the whole world. Null. Nil. Nada.
But that's a whole other blog.
REALISTIC OPS + DEV TEAMS
People who hate frank
My apologies to the Franks reading this. Hugs.
There are communities whose bond is as simple as a shared hatred for a manager or colleague. Or even a popular persona in the industry.
BEST FRIENDS + CLIQUES
And then there's the most insidious form of human grouping: cliques.
The best friends. The "work wives." The moms. The grumps. The people who like to work in the dark and the people who want the freakin' lights on like professionals.
(Not that I've literally had this argument. Did you know OSHA requires offices to have 30 candle-feet of illumination? Ask me how I know that.)
Best friends in communities serve a critical purpose. We need people to talk to, confidentially. And no, at work that's not your manager. Having a buddy does wonders for making the occasional slogs bearable.
Cliques start to become a problem when two powerful people within the community become enemies. Or, make a personal feud public.
And then people take sides. It compounds. And suddenly the community is split. Each member defending the person for whom they've taken up the flag.
This is where community management bleeds into crisis management.
What makes a great manager.
A lot of people who are smarter than I am — and many who are dead — have written at length about what makes a great manager.
These are my personal beliefs cultivated by my experience as a manager and as an employee and validated by the many people I've talked to about a variety of crap situations through which they've endured. Feel free to rail on me in the comments below.
Every manager has faults. We're all human. No one is coming in and making everyone happy while also managing a rewrite and increasing sales by 400% year over year. If someone says they can do that, they're either a liar or have a wildly inaccurate view of themselves and their capabilities.
The best managers have faults they can hire for.
If you don't have 15 years of architecture experience, guess what? You can hire someone who does. If you've never strangled a monolith and deployed containerized microservices, guess what? You can hire someone who has. If you hate running standup every morning and JIRA makes you want to take your eyes out with a hot spoon, guess what? You can hire someone who hops out of bed every morning bright-eyed and ready to write 53 user stories.
If you're managing a community, you're usually not hiring anyone. But you do recruit volunteers and contributors.
You can't hire for leadership and you can't hire for communication. And that's what distinguishes a great manager from a mediocre one.
Leadership comes in a few shapes and sizes. There's not one prescription. But the result is loyalty and respect. And the gift of leadership is wrapped in the skill of communication — tailoring your words and message to your audience.
The triad of community management.
There are three central components to community management. What I have very cleverly named the "3C's: Cheerleading, Conflict Resolution and Curation."
- Cheerleading: Get out your pom-poms. Because encouraging folks and being the most excited and enthusiastic person on the team is your job. The moon reflects the sun's light. You aren't a moon. You are the goddamn sun. Which means you need to make your own energy and spread it like a virus. (Kinda like conference plague.)
- Conflict prevention and resolution: Guess what? People fight. A lot. We rub each other the wrong way. We disagree. We feud. Grab your gavel. You are the Judge Judy of your community. This is possibly the most critical role you'll play as a community manager. Because even the most tight-knit communities will war inwardly. It's your job to control the blast radius.
- Curation: I'll only speak for myself, but a community manager shouldn't be the smartest person in the room. That's a shitty community manager. Your job is to recognize talent, amplify it and create space for people to shine.
The 5 rules of managing communities.
1. Remember that everyone is a human.
Humans have feelings. Humans have wounds. Humans aren't rational.
Many times when I've had conflict with a friend or colleague, there's much more than the current argument fueling the fire. Often — and this should never be used to undermine someone's position — there are other experiences acting as triggers.
Perhaps you attacked someone who had been bullied as a child by someone who looked like you. Perhaps you made a joke that brought back hurtful memories of a previous experience.
Acknowledge that people are flawed, broken and wonderfully made.
2. Validate feelings. (Even when you don't think they're valid.)
Here's the thing. Feelings aren't rational. They're not accurate. Sometimes they're not even legitimate. But there is no greater way to undermine communication in conflict than to invalidate feelings.
All feelings are valid. Because they're just that. Feelings.
It wasn't until the start of the scientific revolution in 1543 that "truth" began to be aligned with "fact." But it's not.
Hume's fork builds on David Hume's 1748 work, An Enquiry Concerning Human Understanding.
All the objects of human reason or enquiry may naturally be divided into two kinds, to wit, Relations of Ideas, and Matters of fact. Of the first kind are the sciences of Geometry, Algebra, and Arithmetic ... [which are] discoverable by the mere operation of thought ... Matters of fact, which are the second object of human reason, are not ascertained in the same manner; nor is our evidence of their truth, however great, of a like nature with the foregoing.
— David Hume, An Enquiry Concerning Human Understanding
Hume's fork divides statements into two groups:
- A priori: Knowledge independent of experience.
- A posteriori: Knowledge dependent on experience.
A fact is a priori, but a truth can be a posteriori. Feelings are truths dependent on experience and must always be validated. Regardless of the facts of the situation.
3. Practice empathy and kindness.
People remember kindness. I can list off a dozen times I've been in a position of weakness and someone extended kindness to me — without expectation of reciprocation. That grace earned my loyalty. And you can bet when those people need help, I will be first in line.
There is a difference between niceness and kindness. Niceness is a state of being. Kindness is a characteristic. To be nice is to be pleasant. To be kind is to be considerate.
Not everyone who is kind — including myself — is always nice. In fact, sometimes my words can cut deep. Often in defense of people or causes I care about. And bullies? Well, bullies will never be spared my harsh words. Because I don't mind going toe-to-toe with an asshole. And I will never tolerate repugnant behavior in my communities.
You can choose to be unkind. To be uncaring. But there's a price. You may never make a mistake. Because the minute you do, the moment you falter, people will gladly watch you fall and revel in your loss of reputation.
4. Set clear expectations and consequences.
Conferences have codes of conduct not to be punitive, but to clearly state the behavior expected of attendees. Communities require a similar standard. I don't think every community needs something as formal as written rules. But if you manage a group of people, you must be consistent in the behavior you find acceptable.
Life is nuanced so some level of subjectivity can be expected. But make your expectations as objective as possible.
"Treat others with respect" can be interpreted in many ways.
Instead, try something more direct.
Before you submit a pull request or comment on someone else's code, think to yourself, 'How would I feel reading this about something I built?' Then think to yourself, 'How would I feel reading this in my first engineering job?'
If the language you use — verbally or in writing — is derogatory, belittling or harmful, you will be put on probation for three months during which your communications will be reviewed prior to publication.
Give everyone a fair shake. Before I put my daughter in time out, she receives a warning. A clear statement of the behavior I find unacceptable and the consequences that will follow. "You've chosen to not pick up the toys when asked. If you continue to not pick up the toys, you will be put in timeout."
The only offense that is exempt from a warning is physical violence. When my daughter hits the dog, it's an automatic timeout. Go directly to Jail. Do not pass Go.
We're certainly not toddlers, but the same basic structure works — even for adults. If someone acts like a jackass for the 657th time, but has still not been given a clear warning, you are failing to manage your community.
Even though they have behaved inappropriately hundreds of times, disabling their access to your community is not the right course of action. This will breed resentment, instill in folks a fear that they could be cut off without warning and create a sense of unfairness.
5. Engage in direct conflict
This feels weird, right? Wouldn't happy communities never have conflict? No. Negative. Absolutely false.
Do you know a single healthy marriage that doesn't have it's fair share of conflict? Have you never fought with your best friend — the person you trust most in this world? Is your Thanksgiving table free of side eye and people shifting in their chairs when your crazy uncle brings up politics?!
Direct conflict is a gift. One that should never be disrespected. Conflict requires energy — a lot of it — and vulnerability. It requires engaging with someone you probably would really rather not face.
When someone in your community fails to meet the expectations set, have a conversation. In private. Allow them the opportunity to save face, own their mistakes, learn and move on.
Shaming someone — embarrassing them publicly — will always have negative repercussions. Studies show the root cause of murder — the thing that takes someone over the edge from I hate them to Colonel Mustard in the library with the candlestick — is embarrassment. When someone is shamed, they feel a rage unlike any other.
Never gossip. Ever. Absolutely no one wants to feel talked about. It just feels shitty. It feels like a betrayal. I have a saying I sometimes fall short of. "I don't talk shit behind your back. I talk shit right to your face."
Give the gift of honest, real, hard conversation.
Finally, absolve the crime. If every sentence is a life sentence, the system doesn't work. Allow people the grace of forgiveness when they make a mistake and make it right.
Respect is earned.
Fear is a powerful motivator in small bursts. But eventually Caesar gets a knife in the kidney.
Respect is the only way to persuade folks over the longterm. And respect must be earned. And that starts by walking the walk. You must serve as the canon of the kind of person you wish to have in your community.