We Are the Ruby Community ## A 30-Minute Keynote by Andrew Mason ----- ## OPENING: The Hand Raise (2 minutes) I want to start with a simple exercise. Raise your hand if you’ve ever: - Spoke at a conference - Created an open source project or gem - Contributed to an OSS project - Mentored someone - Written a blog post - Read a gem’s documentation - Followed someone in the Ruby ecosystem online - Listened to a Ruby podcast - Used Ruby for work - Used Ruby for fun - Attended a Ruby conference *[Pause. Let people look around the room. Most hands should be up.]* Now keep your hand up if you’ve ever felt like you still weren’t really part of the Ruby community. *[Pause. Many hands should stay up.]* Look around the room for a second. *[Let silence settle.]* This is the strange thing about Ruby communities. We attend the events. We use the gems. We follow the discussions. We contribute. But it can still feel like something happening somewhere else—run by people who are more experienced, more visible, or more important than us. But here’s what I need you to know: **We are the Ruby community.** Not someday. Not after publishing a gem. Not after speaking at a conference. Right now. And if you raised your hand a moment ago, you’re already part of it. ----- ## THE COMMUNITY STRUCTURE (4-5 minutes) Most developers imagine a technical community as a pyramid. I used to picture it this way myself. At the top were the people who seemed like the “real” community: - The Ruby core team - Gem authors - Conference speakers - Well-known names on GitHub or Twitter And then there was everyone else. The people writing Ruby at work. Reading blog posts. Listening to podcasts. Using gems. Showing up at conferences. I didn’t think I was outside the community exactly. I just thought I was adjacent to it. Close enough to see it. Not close enough to claim it. *[Pause.]* And I think a lot of Ruby developers feel that way. Like the community is a room full of important people, and we’re standing near the doorway hoping nobody notices we don’t belong. But here’s the thing: communities don’t actually work that way. From the outside, communities might look like pyramids. You see the visible parts—the speakers, the maintainers, the well-known names. But if you zoom in, communities behave more like **ecosystems**. And ecosystems survive because of thousands of small conversations happening every single day: - Someone asking a question - Someone answering it - Someone writing a blog post - Someone fixing a typo in documentation - Someone organizing a meetup - Someone simply showing up The visible parts of the ecosystem get attention. But they don’t sustain it. The conversations do. ----- ## FINDING THE COMMUNITY (4 minutes) When I first started writing Ruby, I didn’t know anyone else who used it outside of the 3 people I shared an office with. None of the local meetups talked about Ruby. None of my classmates used Ruby. It felt like the Ruby community didn’t exist where I lived. But I kept hearing about it on podcasts. Every Ruby podcast talked about how amazing the community was. And I remember thinking: “Where is this magical community everyone keeps talking about? Because I’ve never seen it.” So I decided to go find it. There was a podcast called *The Ruby Testing Podcast* hosted by Jason Swett. One day I messaged him and said: “Hey… can I just come ask you questions about testing from a junior perspective?” *[Pause.]* To my surprise, he said yes. So I showed up and recorded my first podcast episode. When the episode released, I remember feeling like I was finally part of the Ruby community. And here’s the thing: I didn’t contribute by maintaining gems or writing frameworks. I contributed by asking good questions. It turns out asking thoughtful questions is actually a pretty valuable skill in a community. Communities aren’t built only by experts sharing knowledge. They’re built by conversations. Someone asking. Someone answering. Someone else reading and learning. ----- ## THE INVISIBLE BARRIERS (3-4 minutes) If communities are ecosystems, why do so many developers still feel like outsiders? Because the barriers are usually psychological, not technical. Developers tell themselves things like: - “I’m not experienced enough.” - “I don’t know Ruby well enough yet.” - “Someone else probably already knows this.” - “My question might be dumb.” - “People will think less of me if I ask this.” These thoughts are incredibly common. They appear in beginners who just joined a Rails team. They appear in experienced developers who have been writing Ruby for ten years. They even appear in veterans who used to be active but gradually stepped away. The irony is that the Ruby community’s culture was built specifically to counter these fears. This goes all the way back to Ruby’s creator, Matz, who said Ruby was designed to make programmers happy. That philosophy shaped the language. But it also shaped the culture around it: - Kindness - Curiosity - Mentorship - Sharing knowledge That culture wasn’t built only by famous maintainers. It was built by thousands of everyday developers supporting each other. Just like you. ----- ## CONSUMING VS. PARTICIPATING (2 minutes) Many developers consume the Ruby community without realizing they could participate in it. Consuming looks like: - Reading blog posts - Watching conference talks - Using gems - Browsing GitHub repositories Participation looks almost the same. It just adds one small ingredient: **interaction**. You don’t need authority. You just need interaction. The moment you contribute something back—even something small—you are participating. And participation is what creates community. ----- ## EVERYDAY ACTIONS THAT BUILD THE RUBY ECOSYSTEM (5-6 minutes) When people think about contributing to a technical community, they often imagine something big: - Writing a long blog post - Maintaining a gem - Giving a conference talk But the truth is that most community participation happens through very small actions: **Online:** - Asking a thoughtful question in a Slack or Discord - Answering someone else’s question - Opening a GitHub issue with a clear reproduction - Adding a helpful comment to an issue - Reacting to an issue so maintainers know other people are affected - Improving a confusing sentence in documentation - Sharing a short code snippet that helped you - Reposting something useful you saw online - Sharing a quick Rails tip you learned today You don’t need a full blog post. Sometimes the most valuable thing you can do is write down the one small thing you learned today. Many of the most useful GitHub issues are simply a clear reproduction and a few lines explaining what went wrong. **In person:** Participation doesn’t have to happen online. Sometimes it’s as simple as showing up. If you want to find Ruby developers near you, check Meetup.com. And if there isn’t a Ruby meetup in your area, you can create one. You don’t need to organize a big event. A meetup can literally be five developers in a coffee shop talking about Ruby. Sometimes it’s even smaller than that. It might just be grabbing coffee with another developer in your area. Or meeting one other Rubyist on Zoom once a month and talking about what you’re building. Communities don’t start with big events. They start with small conversations. **And here’s something important:** Don’t wait for things to be perfect before sharing them. Perfect knowledge never ships. Most useful knowledge looks more like: “Hey, I ran into this weird Rails thing today and here’s what fixed it.” If something confused you today, chances are it confused someone else yesterday and will confuse someone tomorrow. The Ruby ecosystem isn’t built by a few big contributions. It’s built by thousands of small conversations. ----- ## WHY THIS MATTERS NOW (4-5 minutes) Earlier in my career, I actually thought the Ruby community might disappear. When I first started writing Ruby on Rails, a lot of well-known community members were exploring other things. Some were excited about React. Some were getting into Elixir. And I felt scared. I wondered who would fill the void when those people moved on. How would Ruby survive if the community slowly disappeared? But something interesting happened. New people showed up. Without even trying, I realized I had become one of those people. I had helped fill part of that void—not by doing anything extraordinary, just by showing up. That’s how communities survive. Now, here’s what I want to talk about. Right now, there’s a new fear in the room. Many of you are wondering: what happens to the Ruby community when AI can generate code instantly? What’s the value of human collaboration when a machine can do the work? And I understand that fear. It’s real. But I think the opposite is true: **As AI becomes more powerful, human community becomes more precious.** When everything is automated, the person who slows down and pays attention to another person is rarer. Rarer means more valuable. The mentor who cares about your growth. The voice that shows you that you’re not alone. The conversation that reminds you why you got into this in the first place. A machine can generate code. But it cannot generate the moment when someone says: “I thought I was alone in this struggle, and then I found you, and I realized I wasn’t.” It cannot generate the feeling of being lifted up. The experience of being mentored. The knowledge that someone *chose* to invest in you. And it absolutely cannot take your ability to make someone else feel that way. Languages survive because of the communities around them. In an era where code is commoditized, **people matter more than ever.** The thing that keeps Ruby alive isn’t just the language. It’s the people. ----- ## THE CLOSING: WHO YOU ALREADY ARE (2-3 minutes) I want to come back to that moment when I sent a message to Jason Swett. I was terrified. I thought he would ignore me or say something dismissive. I had no idea he would say yes. But he did. And that one conversation changed my entire trajectory in the Ruby community. Somewhere in this room, someone has the same power that Jason had. Maybe it’s you. Maybe you’re someone’s Jason Swett right now—the person who could say yes to a terrified junior developer asking to participate. The person who could reply to a GitHub issue with kindness instead of dismissiveness. The person who could tell someone: “You’re asking great questions.” And somewhere else in this room, someone is the terrified person. Wondering if they belong. Wondering if anyone would want to hear from them. If that’s you: You do belong. Right now. Not someday. So here’s what I need to ask you to do. After this talk, find someone you know in the Ruby community—could be someone here at the conference, could be someone online, could be someone who’s been kind to you, or someone you’ve noticed struggling. And tell them this: **You already belong to this community.** Not “you could belong if you contribute more.” Not “you’ll belong once you’re good enough.” You already belong. Right now. That message will hit harder than you think. Because there’s someone who has been waiting years to hear it. Someone who has been silently contributing, terrified that nobody noticed. Someone who thought they were never going to be “enough.” And you’re going to change that, in thirty seconds, by telling them the truth. *[Pause. Let this land.]* Because here’s the thing: You don’t join the Ruby community. You help create it. It needs you. Not someday. Right now. The Ruby that survives—that thrives in this new world—is Ruby that is deeply, broadly, joyfully connected. And you’re the people who build that. Not just the famous people. Not just the core contributors. You. The person reading a blog post and thinking “oh, now I get it”—that’s you building community. The person asking a good question on GitHub—that’s you building community. The person saying “you’re doing great” to someone scared—that’s you building community. The person noticing someone on the edges and pulling them in—that’s you building community. So here’s what I need you to know: You are not observers of the Ruby community. *[Pause.]* **You are the Ruby community.** And we’re so glad you’re here. ----- ## CLOSING (30 seconds) *[Let silence settle. Make eye contact with the audience.]* Thank you. *[Pause for applause.]* And after this talk: go tell someone they belong. ----- ## SPEAKER NOTES FOR ANDREW **Tone & Pacing:** - Open with warmth and invitation (the hand-raise) - The Jason Swett story is your credibility anchor. Lean into it. Take your time. - Build momentum through the “everyday actions” section. List items like you’re giving permission. - Slow down for the AI fear section—this is where people are actually worried. - The closing should feel intimate. You’re giving them a specific mission. **Key Moments to Land:** - “We are the Ruby community. Right now.” (say it like you mean it) - “Communities don’t start with big events. They start with small conversations.” (let it breathe) - “As AI becomes more powerful, human community becomes more precious.” (this is the pivot) - “You are not observers of the Ruby community. You are the Ruby community.” (this is the thesis statement, say it twice if it needs weight) **Personal Touches:** - You can expand the Jason Swett moment with more detail about your anxiety - Share a specific example of someone telling you “you belong” - Reference specific Remote Ruby episodes that show this community dynamic - Name some Ruby community members who embody this (kindly, not showily) **The Call-to-Action is Everything:** This isn’t a tagline. It’s the whole point. By asking people to tell someone they belong, you’re immediately turning them into community builders. It activates the audience. Don’t rush it. Make it feel like a genuine ask. **Delivery Cues:** - Pause after “raise your hand if you’ve ever felt like you weren’t part of the Ruby community” — let the silence be real - Use silence more than slides. Let people land their own realizations. - When you say “you already belong,” look at the camera/audience directly. Own it. - The final “and after this talk: go tell someone they belong” should feel like a benediction, not a task.