It’s the day after RubyConf 2017, and I’m still a bit raw and porous around the edges. I thought I’d write a few thoughts before I revert to a steady state. Forewarning: this is going to be a lot more about personal feelings than about technology.
First, though, I need to give some thanks. I almost didn’t attend RubyConf. I don’t usually attend conferences I’m not speaking at, simply because I can’t afford to. Going this year (my first time strictly as an attendee) was a late decision, and it was only possible because of the generous support of a number of benefactors. (I will un-redact their names as I receive their permission to credit them publicly)
First, thank you to Jeremy Hinegardner, who donated the frequent flyer miles that took me from Knoxville to New Orleans.
Thank you to Marty Haught for gifting a conference ticket.
Thank you to all of the people who, after I threw a flash sale to cover my hotel expenses, demanded to make a simple donation because they already owned all of my stuff. [pending permission]
And finally, thank you to everyone who took advantage of that sale!
Conferences in general are place-times of high feelings for me, and it’s safe to say RubyConf 2017 was no exception.
Real talk: the last 6 months have been the hardest of my adult life. #rubyconf is helping to remind me there is a part of my life that is still extraordinary. Thank you everyone who talked to me (and danced w/me last night!). For those who haven't yet: looking fwd to meeting you!
— Avdi Grimm (@avdi) November 16, 2017
I’m going to talk about some of those feelings now. Partly because emotional transparency is important to being myself. Partly because I guess I’m a public figure in this community, and it’s important to me not to contribute to the “self-assured badass” persona that can be so intimidating when thinking about public figures.
I went with the express intent of talking to as many people as possible. I deliberately attended very few of the talks (speakers: I’m sorry! I will catch up on your videos when they come out). I made many new friends, caught up with existing friendships, and deepened some acquaintanceships into friendship.
Deliberate socialization is something learned for me. Like many programmers I know, I’m introverted. One of the reasons I started giving talks at conferences was as a hack to avoid having to initiate conversation. It gave people a reason to come talk to me, and an initial topic to get the conversation started.
These days, I play Ruby conferences on the easiest mode there is. All I need to do is stand still in the hall for a few minutes, and a conversation naturally materializes. This is a privilege, and one I appreciate very much.
I still feel I have conversational dysfunctions. For years I’ve noted that while I’m talking to someone, I’ll keep being distracted by passers-by, wondering: am I missing out on another conversation I could be having? Am I over-monopolizing this person’s time?
This year, I tried to keep two thoughts at the top of my mind at all times. First: the conversation I am having now is the right one, with the right person. And second: what would Jim Weirich do? Everyone who met Jim at a conference remembers how he would give whoever he was talking to his full, undivided, joyful attention. I have been trying to be the Jim I want to see in the world.
I’ve never before spent such a length of time with the sole purpose of talking to people for every waking hour. It was a little overwhelming.
In fact, it was a lot overwhelming. Part of being me at a Ruby conference is having someone come up to me every few minutes to thank me for things that I’ve done. Sometimes, people are actually nervous(!) to meet me. To be clear: I welcome this. I want to talk to you. Yes, you. Please?
But it’s the source of some big feelings. Gratefulness and warmth, of course. But also inadequacy. I honestly don’t understand all the thanks and kindness I receive. I don’t feel that I have done very much at all. Of the things I have accomplished, I feel a lot of angst over how many have been for-profit, out of a need to support myself and my family, instead of free and open to everyone in this community that has given me so much.
Also: when you say to me “thank you for what you have done”, what I hear is “you must do better than ever to be worthy of this praise”. To be clear, this is my problem. It is not your fault.
Thursday night I cried myself to sleep in my hotel room, in part because I can’t see how I can ever be worthy of all the kind things people had said to me. I don’t know how to live up to what people think of me.
I know that I probably take community feedback more seriously or more personally than other public figures. Again, this is my problem. I don’t know if I want to change this about myself, though.
I’ve written before about how I am uncomfortable with the over-use of the term “passion” in the software world. It is true that I am not passionate about Ruby, or programming in general. But if passions are the pursuits and causes that you feel strongly enough about to shed tears, perhaps I am passionate about this community.
In one of the talks that I did catch, Eileen Uchitelle talked about the importance of making open-source contributors feel emotionally safe. Later, Sandi Metz talked about how Google discovered that the sole differentiator of highly effective teams was that members felt strong psychological safety.
During one of the many, many conversations I enjoyed over the past week, something crystalized for me. In the Ruby community we like to say that “Matz is Nice and so We Are Nice” (MINASWAN). But what does it mean to be nice?
I’ve talked to a lot of programmers about how their continued pleasure in coding Ruby, even as they branch out into other languages, feels gut level and irrational. Emotional.
When I think about what makes Ruby nice, and also what makes Matz nice, the quality that springs to mind of both is that they are non-judgmental. Anyone who has spent years watching Matz interact with newbies on the Ruby mailing list knows what I’m talking about. (This may be something that happened more frequently years ago than it does now). Someone would hop into the mailing list and say “Ruby seems great, but it really needs [some feature from another language that would completely change the nature of Ruby]”. And Matz would never judge them or tell them they were wrong for wanting that feature. He would just humbly explain his own reasons for leaving it out of Ruby.
I think that what makes Ruby Ruby is that it is non-judgemental. It is multi-paradigm, for starters. It embraces the influence of many different programming languages, from Lisp to Perl to Smalltalk to Python to Eiffel.
But more than that, in its strong adherence to dynamic-ness in all of its forms, Ruby doesn’t shame programmers for doing weird stuff. Ruby is a language created in love: love for its linguistic heritage; love for the joy of coding; love for the hackers who write the code; and love for the goofy-ass shit hackers do when they feel trusted and empowered and safe from judgement.
Love and joy, trust and emotional safety: you can argue that these language values influenced the community which formed around Ruby. Or that it has attracted people who already value love and trust and safety. I don’t know which is [more] true.
But it is this environment of trust and safety that has led, I think, to a community that threw conferences featuring talks about empathy, and depression, and burnout, and activism and other squishy-but-scary topics. And that did it long before most of the rest of the software industry got up the nerve to talk about those things in public.
And it’s why I have heard from so many people: “I mostly code in $other_lang, but I come to Ruby events for the community”.
In this century, programmers will build the software that mediates relationships and that shapes humanity’s perceptions of reality. That software could be written from a place of fear and distrust, judgement and contempt. Or it could be written from a place of love and joy, trust and safety.
I am not passionate about Ruby. I am not passionate about programming. But I am passionate about this community. Not the Ruby community specifically. The community of programmers who value love and joy, trust and safety. I hope I am a net-positive contributor to that community. I hope I can be good enough to be worth all the love and joy, trust and safety this community has given to me.
Title photo credit: Alex Wheeler.