Community vs Tribalism: Let's Stop Being Dicks To Each Other

Two women boxing

This post originally appeared on The Pastry Box Project

One of the most enjoyable aspects of my career as a web developer has been participating in various communities. I think you could safely say I have a foot in several, although the one I identify with the most is the PHP Community. It’s the one I know the best, and the one that has blessed me with so much friendship and opportunity.

Communities centered around a particular technology are fabulous ways to learn more about it, improve your skills, and help others do the same. Communities are great at fostering excitement and joy of learning, and I think for many web developers that’s really what keeps us interested in the field.

At the same time, there’s an aspect of communities — tribalism — that introduces several problems.

The first time I was really aware of tribalism was when I got really into video game consoles as a kid. I was enamored with the advent of 16-bit gaming hardware in America, and still remember very well how heated and vitrolic the debates would be between advocates of Sega, Nintendo, and NEC — even before any of those machines launched in the US. Each of the systems had different hardware attributes and different games (cross-platform releases were far less common then), so you really only had access to them if you owned the system. Kids were still the target audience at the time, and parents weren’t going to buy you TWO game systems — that’s ridiculous! So you lobbied hard for what you thought was The True Console. This was, as a preteen, Serious Business.

There was collective experience that went along with owning the same console. You could go to school and talk about games with your friends, or play them together at each other’s houses. If you weren’t part of that group, the experiences weren’t available to you. You were an outsider. God forbid you owned a Sega Master System in 1987. That kid couldn’t sit around a desk with his friends, huddled over the newest issue of Nintendo Power. He’d never play Castlevania. He’d try to tell people the 3D glasses were REAL 3D on the SMS, but nobody cared.

Owning a console meant, for most kids, being an advocate for that console. You had to justify why you (or more likely your parents) made The Right Choice. If someone else made a different choice, then clearly they were K-RAZY because you just KNEW why yours was the best. Their choice called into question your choice, and that shit is just not acceptable.

Perhaps of note, I now own about 30 different game consoles and vintage computers. They’re all fun and the arguments were stupid.

People who study anthropology and such (at least on the sites I found via Google) say that tribalism shows up everywhere throughout the history of man, so it’s likely a genetic human trait and not just a cultural thing. Observationally, I’d say they’re right.

There’s a bunch of anthropology and crap about tribalism as part of human evolution, the idea generally being that tribalism keeps people safe because they’re more likely to stick together and not get eaten by lions. Makes sense.

Tribalism leads us to make choices for less than rational reasons, though. Given a particular set of circumstances, our tendency to be loyal to a group can lead us to make decisions that either

  1. harm the group
  2. harm ourselves, or
  3. miss out on opportunities and advantages offered by alternate approaches.

Douglas Cooke Dobbins writes about this in a way that sounds much smarter than me:

It is a mark of wisdom, due to the above considerations, to be suspicious of ourselves, especially our predisposition to root for the home tribe. Though there is arguably an objective human dignity that attaches to each person, it is also the case (or there is at least good reason to think) that we are animals with a faulty nature — a nature that is not always ordered to truth.

This is really the key to combating the negatives of tribalism: balancing it against the knowledge that each of us are fallible. There is no shame in this, as it’s a defining trait of human beings, and makes it possible for us to always be learning and growing. If we’ve already come up with the Best Way, why bother trying to do better? That’s at least half the fun of being a developer: learning new stuff and better ways.

Simon Critchley writes in the New York Times:

The pursuit of scientific knowledge is as personal an act as lifting a paintbrush or writing a poem, and they are both profoundly human. If the human condition is defined by limitedness, then this is a glorious fact because it is a moral limitedness rooted in a faith in the power of the imagination, our sense of responsibility and our acceptance of our fallibility. We always have to acknowledge that we might be mistaken. When we forget that, then we forget ourselves and the worst can happen.

In that case “the worst” is the Holocaust, but thankfully we’re just dealing with web developers being dicks to each other. DHH is not Hitler. Really.

The important bit here is this: “We always have to acknowledge that we might be mistaken.” That’s an inclusive we, meaning me as an individual, you as an individual, and what we come up with collectively. We make mistakes, and we have limitations. Our brains can only handle so much stuff before we cut corners and simplify to reduce complexity. Thankfully we are aware of this, and can try to compensate for it.

It’s possible for the person who wrote our current favorite framework to be wrong about some things. Maybe many things. Maybe even the whole framework is riddled with flaws we don’t notice in our experience. That’s okay.

And it is also okay just to like something different. As my friend Paddy told me, some people like hot chocolate, and some people like milkshakes. They’re both good. Sometimes certain things are just more appealing to one person than another. With tools, it’s all about how productive you are, so if something makes you more productive because it jives with you, that’s a totally valid reason to choose it — for you.

In general, I try to do the following things to avoid the negatives of tribalism, both on an individual and community level:

  1. Base your tech choices on multiple sources and personal experience
  2. Know that what works for you may not work as well for others
  3. Anticipate that others may have useful techniques you don’t yet know or understand fully
  4. Study different technologies — even “competing” ones.
  5. Invite advocates of other technologies into your community. Understand their motivations. Practice empathy with them.
  6. When sharing your own tools of choice, explain why you use them. Demonstrate how they help you solve your problems. Address where they might not work as well. Help others empathize with you.
  7. If members of your community are behaving in a tribalistic way, it must be addressed. Doing this effectively without escalating the aggression can be very challenging, but it’s extremely important.
  8. Be deeply suspicious of tech advocacy based on moral or aesthetic superiority.

Doing those things helps me keep the awesome stuff that communities give me, while avoiding tribalism. That’s what we industry folks call a “win-win.”

Note: Updated Thursday; February 6, 2014 1:54 PM EST to add point about addressing tribalistic behavior in your community, based on a suggestion by Anne Gibson

How To Be A Great Developer

Developer developers developers developers!

This was originally posted on The Pastry Box Project

  • Empathy is your most important skill. Practice it with everyone you interact with, and everyone who interacts with your work.

  • Humility goes hand in hand with empathy. Be open to the possibility (likelihood, even) that you are wrong. Know that you will always be learning and improving. Accept and own up to mistakes immediately.

  • The less you fear being wrong, the more confident you can be. You are wrong about many things. You know very little about most things. Everyone else is exactly the same way. Embrace it. Always learn, always question, always adapt and grow.

  • Understand what you do well, and what you don’t.

  • If you have a job you enjoy that pays pretty well, know how lucky you are. We live at a time where the demand for developers exceeds the supply. Not everyone is so lucky.

  • Refuse to participate in tribalism. We are social animals, and being part of a group gives us confidence, but warring over technology choices distracts us from doing good work and practicing empathy. Build communities with what we have in common, and embrace the diversity that makes each of us unique. Make them safe places for anyone who is interested in participating.

  • Make people’s lives better with your skills.

  • Don’t worry about how many people use what you make. Empowering 5 people is incredibly special. They will remember what you did for them.

  • Make the community around you better. You don’t need to go to some Magic City of Tech Genius to do important work. It doesn’t matter where you are – what matters is the difference you make in the lives around you. And this is the Internet, so the people “around you” could be on the other side of the world.

  • Share what you learn with the people around you. Ask them to share what they have learned with you.

  • Your choices of technology and technique matter, but only so far as they serve what you make with them. As a musician, I ran into tons of people who had great gear and loved to argue about equipment, but barely ever finished a song.

  • View absolute statements with extreme skepticism.

  • Dismissing a technology without a sound, reasonable argument is lazy and prone to error.

  • Be extremely careful about participating in X vs Y arguments. They are rarely worth your time.

  • Be liberal in learning about new technologies and approaches. Be conservative in using them.

  • Set aside a little time each week to learn about new tech. Even just subscribing to a weekly aggregation newsletter (like PHP/Python/JavaScript Weekly) can bring up cool new things to explore.

  • If you go to conferences (and you should if you can), try to catch one or two talks about technologies you have no experience with. Look for beginner/intro level presentations about a language you’ve never learned, or a platform you have no experience with. Even if you never use it in production, exposure to different approaches and techniques will make you a better developer.

  • Any technology can be the right choice depending on the needs of the project and strengths of the team.

  • Never assume you know why a decision was made unless you were in the room when it was made.

  • Always keep two groups in mind: the users and the rest of your team. They are the ones affected by the decisions you make.

  • Poor communication will kill the effectiveness of the most talented team. Work hard at effective, structured communication and documentation.

  • Reserve your loyalty for people. Not brands. Not companies. Not technologies.

Privilege and Perspective

Monument of grant privileges of Düsseldorf - Détail

Some off-the-cuff thoughts, originally posted on Twitter:

I have something to say about the use of the term “privilege.”

One thing that kinda bugs me is when folks will talk about “privileged people,” with the implication that they themselves are not privileged.

And while I acknowledge that there are many, many types of privilege, and so much of it is varies from culture to culture, I think that they fact that you (probably) don’t have to live in North Korea, and have access to the Internet, and maybe own a smart phone, are all privileges that you have too. And that’s fine. We have what we have and we are where we are. What we do in that position matters.

I think it’s important to keep our concerns and complaints in perspective. That doesn’t mean not trying to make things better.

But I do think that it means losing your shit in a righteous ragefest may not be appropriate or constructive. It’s something I’ve been guilty of myself.

That’s why I’ve said that you should save aggressive tactics as a last resort, and never dismiss others’ concerns as invalid.

Because frankly, your concerns and worries probably seem pretty lightweight to somebody.

Empathy Is Our Most Important Attribute

Over the course of giving my Open Sourcing Mental Illness talk, I added a slide to the section about helping friends and co-workers. The slide just says:


Empathy is the most important attribute we can possess. I mean that not only in the context of helping people who are living with mental illness, but in general.

I should make sure we’re not confusing empathy with sympathy. Empathy is the ability to understand how a person feels, and why they may feel that way. Sympathy is feeling sorry for someone. While sympathy is appreciated1, it is far less powerful and useful than empathy.

Understanding how and why a person feels a certain way is key to understanding their behavior. Often, we dismiss someone as stupid or crazy or belligerent because of the words they say or actions they take. But each of us goes through a process to get where we are, and we rarely make choices that seem wrong at the time. Given the same environment and experiences, we may make very similar choices to those we mock or dismiss.

Empathy does not mean excusing behavior. It’s possible to feel empathy for someone who has done something awful. It’s difficult, to be sure, and that difficulty leads us to use a convenient label such as “evil” when describing people who have done terrible things. It’s very, very hard to empathize with someone who has done harm to innocent people. But if we cannot, it’s much harder for us to know why it happened, and how we can prevent it in the future. 2

In one of my Open Sourcing Mental Illness talks, I mentioned the kids who murdered their classmates in the Columbine shooting. It seemed like almost all of America called these kids “evil.” Few were willing to suggest that it was a tragedy with its roots in the worst parts of childhood: bullying, alienation, loneliness. Though I never thought about bringing a gun to school when I was in junior high, the distance between the hatred and mistrust I felt for many of my classmates and what happened at Columbine is uncomfortably close. I turned my anger inward into self-loathing, depression, and anxiety. And I still deal with that today.

If we can practice empathy towards those of us who would do us great harm, can’t we do it for someone who chose a different technology stack than our own? Or someone who wrote an unhelpful bug report? Or someone who made a joke in poor taste? I think we can, and we should. Not to allow it to continue, but rather to prevent it from happening again.

I think most people want to be empathetic. They usually just don’t know how – due to their upbringing, experiences, or personal struggles. They may be too scared or angry to get there, or they may just have never considered an alternate perspective.

Empathy means considering possibilities we may not have ever allowed for. I had never considered why I wouldn’t want to park my car next to a windowless van in a parking lot until my wife explained it to me. Given that women very rarely can let their guard down entirely in public for fear of assault, it makes a lot of sense. But I almost never have to deal with that, so it didn’t even occur to me.

My talks about mental illness are aimed in part at those who aren’t living with those conditions, so that their empathy for us is increased. Empathy allows them to learn how to help us and cope with us in a productive way. I could give a talk that aggressively rails against people who don’t understand us and make our lives harder, but I don’t think that’s going to help us.

Empathy empowers us to more productively interact with another individual or group, even when they may be at odds with our own beliefs. If we don’t understand their reasons and motivations, it’s very difficult to find any common ground and move forward productively.

Because our ability to empathize is limited by our experiences and upbringing, it’s very important to ask questions before assuming reason and intent. Not only does it allow you to empathize more, it almost always makes the other person less likely to respond in a hostile manner when you express disagreement. People who feel valued, respected and understood are more likely to be empathetic towards you. That’s also why using aggressive language or tactics should be a last resort – they more often than not close minds than open them, and repeatedly using them makes it increasingly harder for others to feel empathy towards you.

Practicing empathy with those who don’t seem to be empathetic towards us is extremely difficult, especially when we’re scared or angry. Those emotions are not wrong, but they often make it harder for ourselves to be happy, and interfere with our ability to empathize and affect change.

If we allow our fear and our anger to dictate our language and behavior, it makes it much harder for others to be empathetic to us. As I said above, I think most people want to be empathetic, but don’t know how. Aggressive language is very unlikely to change that. It’s far more likely to confirm their fears and justify their lack of empathy towards us.

Medium matters. Some mediums are especially poor for expressing empathy and making sure two parties understand each other. Twitter and other short form mediums make it difficult to utilize empathy, particularly when dealing with complex problems. Our vocabulary matters. Our nonverbal communication matters. They all make it more likely we’ll understand one another, and less likely that concern or criticism triggers fear or anger.

Practicing empathy is a lifelong process. It’s challenging, and I fail at it a lot. My fear and my anger often get the better of me. But, I am convinced that this is my strongest, most important attribute. It allows me to be more supportive of the people I encounter. It helps me affect change to move my community and our culture in a positive direction. And, it is the key to my own happiness.

If you’d like to talk to me further about this post, please contact me via email. I’d be happy to get on Skype or a Google Hangout to hear what you have to say and exchange ideas. Thanks!

Special thanks to the folks I shared this with early on for their suggestions and edits.

  1. Appreciated when warranted, at least. Depending on the situation, it can be interpreted as condescension.

  2. From a purely practical standpoint, our ability to empathize means we know better why someone behaves they way they do, and can anticipate how they are likely to react. Robert McNamara talks about this in the documentary The Fog of War: how they were able to empathize with Kruschev to defuse the Cuban Missile Crisis, and how their inability to empathize with the Chinese led to deeper US involvement in the Vietnam War. Roman Krzanic talks about this in further detail. The author has written a lot of other good stuff on empathy for social change.

Open Sourcing Mental Illness at OSCON 2013

To Learn more about Open Sourcing Mental Illness, click here

I was so happy to be able to give the Open Sourcing Mental Illness talk at OSCON 2013. This is one of the conferences I would not have been able to attend without financial support from the Indiegogo campaign – flight and hotel alone were nearly $1500.

I was pleased with how this presentation went. Despite the fact that it was in the last time slot of the conference, there was good attendance and lots of interesting discussion afterwards.

We also did a BlueHackers BoF session again, which I co-hosted with Paul Fenwick. Paul gave an excellent talk called “Depression – Bugs In Your Brain”, they day before, and lots of what he discussed came up in the conversations. It was another really positive experience, and I definitely plan to keep doing these BoF sessions when possible.

Next up are:

More posts