An Environment of Respect

Here is an early draft of the WindyCityRails Code of Conduct:

WindyCityRails strives to provide a healthy, harassment-free conference experience for all attendees. Our Code of Conduct, which has been practiced by members of our community for years, is as follows: Treat everyone at the conference as you would want yourself, a family member, or an esteemed colleague to be treated. Our community is stronger when every member contributes to the safety and learning of the other members. We are colleagues, and we treat each other with respect.

There may be some wordsmithing and typo-correction this week, but the final version will essentially read as it appears above. Key objectives achieved:

You have already read the most important part of this post. The rest tells how the code came to be.

First Person Singular

Normally, when discussing WindyCityRails and ChicagoRuby, I shine the light on the organizers as a team (we) rather than on myself. WindyCityRails is blessed with a great team of organizers. We pool our talents to get things done.

However, when concerns are raised, the buck stops with the team leader: me. Please forgive me for using first person pronouns throughout this post. Also, other members of the organizer team may have opinions that differ from mine. If I say anything here that disturbs you, please know that it comes from me directly. I am the only one at fault.

My Knee-Jerk Response

Last week a Twitter user asked if WindyCityRails had a code of conduct. I responded (through the @WindyCityRails handle) with a one-word answer: No.

Why the terse response? Because I have a deep bias against bureaucracy. Initially, that’s what a code of conduct sounded like to me. Do we have a problem with diversity in the tech community? Hell yes. But bureaucracy does not solve problems. We will only solve the diversity problem through active engagement and real work. We solve the diversity problem by ensuring that people from all groups feel welcome and engaged.

One example of real work: The WindyCityRails Youth Program, launched last year. A diverse group of college students taught a diverse group of high school students how to program the Arduino. These students from diverse backgrounds bonded via their common interest in technology.

To summarize my knee-jerk response: A code of conduct makes us feel good about nice words written on a sheet of paper, while no real work gets done.

After My Initial Reaction

Kindergarten taught me that it is important for me to listen to others. A community thrives on interaction between people who see things differently. If everyone thinks the same way, we don’t have diversity, do we?

Other inquiries about a code of conduct followed via Twitter and email. All were helpful. Some people offered sample text from other events. Most of the sample text was good.

Two of my fellow organizers (thank you Ginny Hendry and Justin Love) encouraged me to examine the question more closely. Clearly, I needed to study this. So that is how I have spent the last few days.


In drafting text for WindyCityRails (and, by extension, ChicagoRuby) I tried to create something that fits our culture. We are an inclusive group and we treat people well.

At the same time, it is important to keep the word count low to limit bureaucracy.


The WindyCityRails and ChicagoRuby communities have always strived to be inclusive. We do that in several ways.

Here’s an example. Before I became an organizer of ChicagoRuby, I heard that a group of developers met for drinks after every meeting. I always heard about the gathering after the fact. I could have taken this personally, but I realized that the group was not intentionally excluding me. They just didn’t know me. Further, they were so caught up in their discussions that it simply never occurred to them to invite people they didn’t know.

Things are different today. Today we announce the drink invitation at the beginning of each meeting, and we post it with every meeting announcement. Brand new people are made to feel welcome.

Further, we make it clear that one does not have to drink alcohol to participate. Soft drinks and cranberry juice are in abundance.

Another example of inclusiveness: All of ChicagoRuby’s monthly events are free because we want to include aspiring developers regardless of income. Expenses for the monthly events are covered by monthly sponsors and revenue from WindyCityRails.

Excluding Others

I have more experience with racism than any other -ism, so that’s what I’ll talk about here. A mentor of mine raised two questions during a discussion about racism and oppression.

Here’s an experience that influences my thoughts on this subject. A few decades ago, when I was a young developer for a company in Colorado, I had a confrontation with senior developer, a White man. I was certain that this was a Black/White issue. I won’t go into details, but I will admit that I treated that White man very badly in retaliation.

Some days later, as I walked past my manager’s desk, I noticed my “nemesis” interacting with my manager (a White man who also happened to be his manager) in the same manner that he had interacted with me. That’s when I figured out that this guy wasn’t a racist, he was just an asshole.

And, because of the way I had treated him, I was the one guilty of racism.

In drafting the WindyCityRails code of conduct, it was important to avoid showing favoritism toward any group. All groups must be treated with respect, not just my own.


I was disturbed by the language in some of the sample codes of conduct. It took me awhile to figure out what bothered me. Finally, it hit me: The tone was threatening. They seemed to say (paraphrased): “Follow these rules or we will kick you out and take away your money.”

Colleagues don’t threaten each other. Colleagues treat each other with respect.

Some may point out that without a method of enforcement, the code has no teeth. They’re right. There are no teeth. However, I don’t believe that “teeth” or threats are needed amongst colleagues. Colleagues treat each other with respect.


There you have it… my opinion. Can my opinion change? Perhaps. I have many blind spots, and that is why I am sharing my thought process. I look forward to hearing your feedback in the comments below or over a cup of coffee.

By the way, the WindyCityRails call for proposals is still open, as of the date of this post. If you are doing something exciting with Ruby and/or Rails, please submit a proposal. Thanks.

Update (Jan 2014)

After this post, several colleagues introduced me to new information. The result, an updated code of conduct, is covered in An Environment of Respect, 2nd Iteration.

History (updated 31Dec2015)

For a brief history of how this issue evolved, take a look at…