00:00:14.719
Hey, all right! Uh, sorry, hi everyone.
00:00:21.180
So, I guess this is more thematic than I realized when I urgently put this talk together and submitted it.
00:00:28.680
This talk is about including people, and it’s also about working on open source and having empathy with people.
00:00:37.410
So, I’m going to talk about including people in projects and in open source.
00:00:45.329
But before I do that, let me introduce myself. I’m André Arko.
00:00:52.739
I am also known as Indirect on all the internet things; that’s actually my old avatar, and I didn’t update it.
00:00:59.910
That was once my face on the internet, but that’s alright. I work at Cloud City Development.
00:01:07.470
We do web and mobile development, and I mostly provide senior Rails consulting for teams in need.
00:01:12.840
If that’s relevant to you, that’s definitely something we excel at.
00:01:19.040
My coworker from Cloud City, Rain Hinrichs, will also be giving a talk later tomorrow, so that’s pretty cool.
00:01:24.470
I co-authored a book called 'The Ruby Way,' third edition, helping to update it for Ruby 2.2 and 2.3.
00:01:31.320
I’m biased, but I think it’s a really good book about Ruby.
00:01:38.460
I work on a project you may have heard of called Bundler.
00:01:43.680
Working on Bundler has been great because it allows me to connect with everyone in the Ruby community.
00:01:48.990
It has been a really interesting and educational experience.
00:01:54.360
I have Bundler stickers! I brought 100 just for you; come get one later.
00:02:00.450
As Jonah said, I started Ruby Together, which is really just a way to help companies that need RubyGems.
00:02:06.869
They might not be able to afford to hire an entire person, so we offer a fraction of a person’s worth of work.
00:02:12.240
Lots of companies find this approach beneficial, as everyone ends up with a lot of work for a small investment.
00:02:18.060
I also have Ruby Together stickers; I brought 200 of those for you to collect later.
00:02:23.400
At this point, it's clear that developers don't really care about business cards; they only care about stickers.
00:02:29.640
So, you can expect to get stickered!
00:02:34.890
Now, back to the inclusion theme.
00:02:40.830
Right off the bat, I would like to point out that it’s kind of weird for me to talk about this.
00:02:40.899
I’m a stereotypical default programmer dude; I’m white, male, and tall.
00:02:56.460
People often assume I know what I’m talking about when I share my perspective, which can be convenient but also confusing and frustrating.
00:03:03.690
This talk is more the result of research and conversations with those who don’t fit into that stereotypical mold.
00:03:09.060
The primary reason I’m giving this talk, instead of someone with more firsthand experience, is that I can still be considered technically competent.
00:03:14.690
Unfortunately, underrepresented individuals often have their credibility questioned when addressing issues.
00:03:20.160
So, here I am, sharing insights based on what I’ve learned.
00:03:26.010
Much of this talk derives from my experiences in open source projects, predominantly Bundler, and the tenets discussed are universally applicable.
00:03:40.110
If you primarily write software by yourself, maybe go grab a drink, but if you collaborate with others on software, keep listening.
00:03:46.490
I’m going to outline my experiences, both good and bad, and the lessons learned through experimentation.
00:03:54.450
Remember, what worked for me may not work for you, so experiment and adjust your approach based on results.
00:04:03.060
I want to provide some background on the topic of diversity.
00:04:09.060
I’ll discuss concrete steps you can take to improve diversity and inclusion in your projects.
00:04:15.690
Diversity, as a topic, has garnered much attention lately, but there remains a troubling history of sexism and harassment in the tech industry.
00:04:24.330
When Bloomberg published an article that attempted to define programming, Ruby was mentioned only in the context of it being a community full of sexist behavior.
00:04:30.440
This reputation is problematic, especially since many in the Ruby community are not in fact sexist.
00:04:37.260
Over the last few years, I’ve engaged in extensive talks and research on this issue and aim to summarize my findings.
00:04:44.790
To begin with, it’s essential to note that 'diversity' is not the ideal term to address this situation.
00:04:53.040
Underrepresented groups are not absent; they do exist, as seen in the graduation statistics from computer science programs.
00:05:03.780
The real problem lies in workplaces where their opinions are often dismissed, their feedback is ignored, and their technical skills are doubted.
00:05:13.200
Here’s the most direct way to increase inclusion: stop just talking about diversity and start actively including people.
00:05:22.200
Inclusion should be about fostering a welcoming environment, not about achieving a well-divided pie chart.
00:05:29.820
Now, during these discussions, some claim, 'But I felt welcome.' Unfortunately, this viewpoint is typically misguided.
00:05:37.490
There are countless instances where individuals are denied access to education, jobs, and promotions simply due to biases.
00:05:45.390
Co-workers and managers, along with executives, perpetuate these biases.
00:05:52.600
Certain individuals' contributions are unjustifiably overvalued based on their demographic characteristics.
00:06:01.050
For instance, research shows that even minor modifications to names, races, or genders on resumes can lead to entirely different hiring outcomes.
00:06:08.540
The issue is persistent across not only the Ruby community but within the entire tech industry.
00:06:15.250
Despite evidence pointing to bias in tech hiring, there's prevalent denial of this issue.
00:06:20.699
People often assert that the digital industry operates as a meritocracy where contributions are the sole measure of value.
00:06:29.880
Sadly, research indicates that evaluation processes become even more biased in organizations that profess meritocracy.
00:06:36.820
When individuals receive rewards for their actions, they tend to believe those rewards were intrinsically deserved.
00:06:44.270
Ultimately, if individuals aren't rewarded similarly, they are presumed to be less capable, which is far from accurate.
00:06:51.600
Additionally, the notion that underrepresented groups are a product of a pipeline problem is misleading.
00:06:58.240
There are sufficient individuals pursuing computer science degrees, yet many remain unable to secure jobs in tech.
00:07:05.060
Historically, computing was a field 100% dominated by women.
00:07:11.100
As programming jobs became more prestigious, women quickly decreased in participation.
00:07:17.060
Now, programming comprises less than a quarter of women, a concerning downward trend.
00:07:23.310
The issue isn't a lack of women in the field, but rather how we act and include different individuals.
00:07:30.470
To address the diversity issue, some individuals suggest that they will consider hiring diverse teams if it provides financial gains.
00:07:39.340
However, companies often cling to their biases, ignoring research that confirms diverse teams yield greater productivity.
00:07:47.060
They still prefer to hire non-diverse teams, which requires less effort despite resulting in poorer outcomes.
00:07:52.960
It's important to note that treating any group of individuals as inherently inferior is unacceptable.
00:08:04.520
Attempts at diversity solely for productivity enhancements are doomed to fail because they lack genuine inclusion.
00:08:11.350
If your interest in diversity isn’t about including people, achieving diversity will be impossible.
00:08:20.400
Since you’re here, it seems that you genuinely care about including people.
00:08:28.140
Inclusion isn't just a checklist of statements; it’s an attitude to adopt during social interactions.
00:08:34.710
This attitude must actively counter the prevailing hostile demeanor found in open source communities and programming.
00:08:39.600
In any open source or software project, there are generally three groups involved: end users, potential contributors, and the existing team.
00:08:46.560
It’s common to be inclusive of one group while being hostile to others.
00:08:54.470
For example, end users are welcomed, but contributors may be insulted and belittled, which is not a constructive approach.
00:09:01.080
It’s crucial to include everyone: contributors and users, not just the project team.
00:09:05.880
Let’s start with how to be welcoming to end users.
00:09:12.920
Ensure your project’s end-users feel welcomed and included, regardless of whether it's open or closed source.
00:09:20.670
Even if the user is just you, treating them with respect is essential.
00:09:28.760
Pay attention to how documentation refers to the user; avoid using exclusively male pronouns.
00:09:35.640
Additionally, ensure that error messages aren't dismissive. Being considerate in communication is fundamental.
00:09:44.190
A strong first step is to establish a code of conduct. There are many examples out there.
00:09:50.700
Coraline Ada Ehmke, who unfortunately could not attend this conference, created the Contributor Covenant.
00:09:58.820
She actively updates this template to ensure inclusivity in projects.
00:10:04.920
The purpose of the code is to provide a safe space for users to discuss issues without any fear of harassment.
00:10:10.960
Chances are that individuals from underrepresented groups hesitate to participate in projects, feeling they’ll only receive backlash.
00:10:16.630
The next major aspect is documentation, which is often less comprehensive than you believe.
00:10:23.660
Many projects are embarrassed by their documentation; that’s understandable.
00:10:30.800
However, the groundwork for inclusive documentation is straightforward.
00:10:37.060
Use 'she' or 'they' instead of 'he' when necessary.
00:10:44.480
Your documentation should also be welcoming towards newcomers.
00:10:49.900
Many projects unintentionally alienate newcomers with jargon-laden documentation.
00:10:56.060
It would benefit your project to find newcomers to explain how it works and write documentation.
00:11:02.320
Jacob Kaplan-Moss gave a fantastic talk called 'Writing Great Documentation,' highlighting key documentation types.
00:11:08.130
First, provide tutorials that offer clear steps to accomplish tasks.
00:11:14.480
Consider writing comprehensive topic guides explaining single topics in detail.
00:11:20.550
An API reference is also vital, as users may need specific method names or parameters.
00:11:26.550
Lastly, include troubleshooting documentation for problems users may encounter.
00:11:34.210
When writing code, have it anticipate problems and provide helpful messages or direct actions.
00:11:41.710
For instance, if a user encounters a specific issue, guide them to possible solutions rather than dismissing them.
00:11:47.760
How your project addresses issues is a strong indicator of its inclusivity.
00:11:53.570
Responding to issues with negativity alienates potential contributors.
00:12:00.510
Assume reports come from users with legitimate experiences.
00:12:07.230
Start by showing appreciation for their efforts and guide them to solutions.
00:12:13.360
Ensure that communication channels, such as Slack or email, also adhere to your code of conduct.
00:12:20.220
Enforce the code across all interactions, especially from anyone representing the project.
00:12:28.480
Harassment and hostile attitudes should never be acceptable in any form.
00:12:35.060
It’s imperative to enforce the code on everyone, regardless of their perceived importance.
00:12:41.440
A toxic individual can deter many talented contributors who might otherwise be eager to help.
00:12:48.320
Now, let’s shift focus to welcoming contributors.
00:12:55.160
Everything I discussed about being welcoming to users similarly applies to contributors.
00:13:01.290
Creating a safe environment free from harassment is essential for attracting contributors.
00:13:07.740
Documentation plays a critical role, but you can implement additional strategies to welcome them.
00:13:13.730
One of the most effective ways is to actively ask individuals for help.
00:13:20.010
Many people mistakenly believe they should be experts before contributing, but this is often not the case.
00:13:26.730
Engaging with newcomers helps to bridge gaps in understanding and generates a wealth of beneficial insights.
00:13:33.830
I often invite people to pair up for an hour, allowing them to learn more about contributing.
00:13:39.000
After that, they can decide if they feel ready to handle tasks independently.
00:13:45.030
It’s important to differentiate between user-facing documentation and development documentation.
00:13:51.250
Provide guidance on checking out projects, setting up dependencies, and running tests.
00:13:58.860
Communicate policies for contributors clearly, including criteria for accepting pull requests.
00:14:05.480
If there are recurring tasks, document them meticulously to streamline the process.
00:14:11.450
For instance, specifying areas where contributions are most needed can motivate newcomers.
00:14:19.400
Share a document explicitly stating that even if you just spot typos, you are welcome as a contributor.
00:14:25.540
Ensure you express gratitude and make newcomers feel empowered in their contributions.
00:14:31.660
Remember, when reviewing pull requests, take the time to understand their context.
00:14:39.560
Acknowledge the effort people have made when they submit changes, even if they don’t work.
00:14:45.310
Show that you value their input and are willing to help solve any challenges they might face.
00:14:52.220
Applying these principles to your team is just as essential.
00:14:59.520
Address any code of conduct infringements aimed at team members and offer them support.
00:15:06.170
Communicate your appreciation for their input and apply the same respectful treatment.
00:15:12.270
Concluding, everything I have suggested stems from the fundamental principle of respect and empathy.
00:15:18.340
Remember that others don’t share your context or skills; they’re only trying to do their job.
00:15:24.080
They can perceive your intentions—helpful or harmful.
00:15:30.290
Instead of treating others how you wish to be treated, consider the context they exist in.
00:15:35.490
Respect and empathy should guide your interactions.
00:15:41.740
Listen to those in underrepresented communities, observe how they are often mistreated, and take action.
00:15:47.650
Address problems when they occur, make people feel included, and promote inclusivity.
00:15:54.120
Tech as a field holds biases, but our collective efforts can drive change.
00:16:01.860
As a final note, I manage a popular open source project and strive to expand our team.
00:16:06.950
I invite anyone who has felt intimidated or excluded to discuss contributing.
00:16:12.820
My goal is to enhance inclusivity in Bundler and inspire others to create welcoming environments.
00:16:19.150
Let's work together to foster an atmosphere where all individuals feel capable and empowered.
00:16:25.610
That’s it!