Archive for September 20th, 2015

Some thoughts on the Grails and Groovy communities

Sunday, September 20th, 2015

If you’re a Grails user then you’re probably aware of some recent events online (Twitter, the Grails Slack channels, etc.) that are unfortunately still ongoing as I write this, and the whole situation is quite a mess. I’m not going to link to any of it or discuss it directly, but it got me thinking again about the Grails and Groovy communities, and the other “GR8” communities in the Groovy ecosystem (Ratpack, Gradle, Griffon, Geb, GPars, etc.)

When I start working in a new area of tech I usually sign up for a mailing list or forum, or whatever they tend to use for discussions about usage, upcoming releases, future plans, etc. I rarely get involved though. When I’m new at the tech I usually find that questions I would have asked have been asked and answered, and once I get good enough at it I tend to rely less on those resources. So I tend to lurk in general and don’t actively participate.

My tendency toward being a lurker is also affected by not wanting to embarrass myself online. When I was a graduate student I discovered the TeX typesetting software and thought that it would be great to use for papers, so I started collecting software and resources. Windows 95 had recently been released1 and Windows options weren’t great then. Someone asked a question on one of the local Usenet groups and being an expert I replied. Except that I was far from an expert and gave rather bad advice, and a few others who actually knew what they were talking about jumped in and provided useful information. I tend to have to touch the pretty glowing orange thing on the stove to learn that it’s very hot and a painful thing to do, so this was a good experience for me. It continues to be a reminder to try to be humble and to help where possible, but be willing to say “I don’t know” when that’s the case, and stay out of the way if I don’t have anything to contribute.

When I discovered Grails I signed up for the user and dev mailing lists. There was a lot to learn, and many of the emails didn’t make sense but I saved a bunch that seemed like they’d be useful later. I quickly learned a lot thanks to the helpful developers and users on the lists. Eventually I got good enough that there were questions that I could answer, but often others would answer before I did. Occasionally a more obscure question would go unanswered, and those would nag at me from my inbox. Sometimes when I was stuck on something for work I would take a break and look at some of those questions and try to see what’s going on, either because it did or might affect what I was working on, or just because it was interesting. If I didn’t get anywhere, then I would let it go, but if I felt like I figured it out or that I at least could contribute useful insights, I would reply with what I found.

Getting a reply on the list from a frustrated user saying that I’ve helped them get past an annoying issue is a pretty cool thing, and a big motivator to continue. Much like teaching, helping others with tech support issues is usually beneficial for both sides since it forces you to understand what’s going on under the hood much more than when you just use the feature. In retrospect, although I was reluctant to start giving back, it didn’t make sense not to. The lists were active with lots of generally respectful discussions, and although people have come and gone, there remains an overall tone and it’s profoundly positive.

When I started going to Grails conferences, the subject of how helpful the communities are was (and still is) a common topic in hallway and mealtime discussions. This was weird to me because I hadn’t really noticed, mostly since I hadn’t really seen communities that weren’t. Of course I’ve become aware of some of what they were referring to 🙂

So the big question is: why are these communities so helpful and friendly? I can’t know for sure, but it obviously has a lot to do with the project leads and big names in the various techs. From the beginning, their personalities and temperaments set the tone that continues today. Why we were lucky to have these people driving the technologies in the first place is a topic for a future blog post, or at least something to discuss over beers at future conferences and meetups.

I’ve learned so much more than I could have expected by participating in all of this, and I’ve been lucky to meet a large number of smart, funny, inquisitive, amazing people. Thank you all, and keep up the great work. It’s easy to get distracted by the frustrating bits and the negative aspects, but weeks like this one are, if we’re able to see past them, a good reminder of how much we have and tend to take for granted.

As a side note, I cringed a bit when the Greach organizers announced that they had put up a code of conduct for this year’s conference. After some high-profile incidents at Python- and Ruby-related conferences (and elsewhere) many conferences did the same, but it didn’t make sense to me to do this at a Groovy-related conference since it’s not needed. It didn’t take long to realize that this was naive, and while we are a friendly bunch, there have likely been incidents where attendees were harassed or made uncomfortable and I wasn’t aware of them. And even if not, there’s nothing wrong with putting core beliefs and expectations in writing. My version would be a lot shorter though: “Don’t be a jerk”.

I rarely say this but it’s pretty much always the case – these are my thoughts and opinions and I don’t claim to speak for anyone or any company or organization I’ve worked with in the past, present or future.

Also, all comments on this blog are moderated and I will not accept any that aren’t constructive, and I reserve the right to disable comments entirely on this post if necessary.

  1. I pre-ordered my copy and it was delivered by FedEX the day it was released – very exciting![back]

Creative Commons License
This work is licensed under a Creative Commons Attribution 3.0 License.