My Ruby 2018: Around the world in nine conferences
Here is my travel diary as I roamed the world of Ruby conferences in 2018: in Poland, Belarus, US, France, Bulgaria, Russia, and Japan. In the past year, I gave nine talks, and listened to countless others, while also doing an ultimate Ruby hat-trick: speaking at RailsConf, RubyKaigi, and RubyConf. Here is what I learned at each event, and how they all differ from each other.
Usually, I don’t do “how I spent my summer” texts (unless we remember good old LiveJournal days a decade ago), and I haven’t written a single non-technical blog post since I’ve taken up programming and tech writing. So, why am I doing this now?
Chris notes that “it [is] really hard to get any Ruby confs to accept any kind of technical talk”. I thought the same in 2017 when dozens of my proposals were rejected.
In 2018, everything has changed for me: I gave nine talks on five different subjects, mostly my open source projects: AnyCable, TestProf, and ActionPolicy. From March to November last year, I gave on average a talk a month, while circling the globe.
I tried to capture the spirit of each conference I visited to give you a better idea on specifics, so you can tailor your CFPs accordingly and increase the chance of getting accepted.
It all started last March in a beautiful and snowy city of Wroclaw, Poland.
Wroc_love.rb is a “two days, one track” Ruby conference that takes place in the Institute of Computer Science of Wroclaw University. The location suits the somewhat academical spirit of the event. Last year’s tagline was “We want to confront ideas”. Talks mostly circled around Domain-Driven design and event sourcing: from beginner-friendly to quite advanced.
My talk—titled “Cables! Cables! Cables!”—was only focused on Rails stuff (Action Cable / AnyCable). Honestly, I felt like the black sheep: no one around seemed interested in Rails-specific topics, nor in the Rails Way.
In my opinion, guests at wroc_love.rb preach a different “way”: enterprise seems to interest people more than startups or MVPs. That comes bundled with patterns that invoke ghosts of “enterprisey” Java world.
Getting familiar with the concept of event sourcing proved a major source of inspiration to me: recently, I started implementing those ideas in a project I’m currently working on. I do it with the help RailsEventStore that I also discovered at Wroclaw.
Leaving Wroclaw in my rear window (I took a car from Moscow for that leg of my circumnavigation), I arrived in Minsk, Belarus.
People there readily engage in interesting discussions and do not hesitate to provide constructive feedback: both the positive, and even more importantly, the negative one.
My plan was to rehearse my ActionPolicy talk for RailsConf and get some advice on how to improve it (which I did, thank you Minsk!)
Minsk.rb meet-ups are very active, easily drawing 100+ attendees, which is a size of a solid regional Ruby conference.
That was my first time speaking in the US—and straight to the largest Ruby conference in the world!
As I already ran my ActionPolicy talk in Minsk, I did not feel too nervous, although the recording probably tells otherwise.
RailsConf is three days, five tracks, plus workshops—you can only eat a small piece of this cake. Also, plan your sessions well in advance, as they quickly run out of a room.
Some sessions were extremely popular, like this Active Storage talk by Claudio Baccigalupo. I was lucky to get a front row seat and was even mentioned by Claudio when he recommended my Active Storage tutorial.
Don’t get yourself fooled: even though the conference is named RailsConf, it is not on the framework exclusively, but on Ruby web development in general: databases, deployment, developer relations.
My favorite session was “Turbo-boosting Real-world Rails applications” by Akira Matsuda, which demonstrates some exciting ideas on how to improve Rails apps performance by relying on Ruby features.
And of course, RailsConf is your chance to meet DHH in person (I did) and take a selfie with him (I didn’t). David and I have briefly discussed Action Cable, and that encounter had encouraged me to finish my work on then missing Action Cable testing tools and get them merged into Rails 6.
RailsConf is an excellent place to meet Rails Core members and other prominent Ruby developers. That’s a big bonus. The only downside of the participation is the price: up to $1K. Whether it is worth it or not is up to you, but speakers don’t get to pay for tickets, and this is partly the reason why I did all that talks in 2018. (That’s a joke. Or is it?)
The brand new Ruby conference in Sofia. The people behind it (Genadi & Co.) were the organizers of EuRuKo 2016. Word is, that was one of the best EuRuKos ever. I have not been to that one, but I don’t hesitate to tell people that BalkanRuby was one of the best conferences I ever visited.
You should taste Bulgarian hospitality. And sweet cherry (череша).
If I would ever go to a conference as a listener, not a speaker, I will choose RubyKaigi. The fact that I live on the other side of the world would not matter: there are direct flights to Japan from West Coast, East Coast (I’m based in New York), and Moscow.
Without further ado, I have to admit: RubyKaigi is the best Ruby conference I have ever been to. Period.
Going to RubyKaigi is probably not a good idea for beginners in the language. The talks are mostly very advanced, digging deep into the MRI and other Ruby implementations: TruffleRuby, mruby, and JRuby.
“Ruby committers vs. the World” panel session was a great chance to ask any questions directly to the designers of the language. I asked whether they want to drop refinements and was glad to hear “No” in response.
On my way back from Japan (nine hour flight) I was preparing a talk on metaprogramming and creativity in Ruby for Saint-P RubyConf. I was excited after RubyKaigi, so my talk transformed into a trip down the MRI internals.
My presentation came out to be quite advanced, but Saint-P was the right place for it. I think of Sain-P RubyConf as of a good mix between wroc_love.rb and Minsk.rb that I described above. Here is the formula:
Saint-P RubyConf = wroc_love.rb * Minsk.rb
By the way, next year we will have a two-day conference, amazing speakers from all over Europe and famous white nights in Saint-Petersburg. Stay tuned!
If you have reached this point in the text, you are probably bored. I felt the same in the middle of last year after attending seven conferences (one had nothing to do with Ruby, so not described here). Is there such a thing as “conference burnout”? To cheer you and myself up, I will describe the rest of the events by only sharing the links to talks that I found most interesting and useful.
Here are my Top-5 talks from the conference:
- Event Sourcing for Everyone by Jenna Blum (see also the repo)
- Ruby and Art: The Earliest Stage by Koichiro Eto (see also “A Hands-on Model of the Internet”)
- Human Errors by Olivier Lacan
- It’s Rubies All the Way Down by Kirk Haines
- Building Serverless Ruby Bots by Damir Svtran (see also the later version of this talk from RubyConf)
I was excited by Jason Charnes organizing SouthEastRuby. I believe that the US needs more regional conferences like this one as it is a very different experience from the giants: RubyConf and RailsConf. Unfortunately, the trend is the opposite: GoRuCo and KeepRubyWeird had their last events this year.
What is left of the smaller ones? RubyHACK, SouthEastRuby… Anything else I miss?
Not all the videos from the latest SouthEastRuby have been published yet, but some of the talks had been presented at RubyConf in Los Angeles (so I will share them in the next section).
RubyConf was the whole 2018 in retrospective. Out of the about sixty different talks, there were:
- 8 talks from RubyKaigi (including mine)
- 3 talks from SouthEastRuby
- 1 talk from Paris.rb
- at least 2 talks from other conferences I recognized.
- probably, dozens I didn’t recognize.
NOTE: If you’ve seen the talk once, that doesn’t mean the next version of this talk would be the same, so don’t think you should skip this talk, because you know everything; most (unfortunately, not all) speakers iterate on their talks, and two adjacent versions might share less than half of material.
Some links from RubyConf:
- A must-see: Graphics and Simulations (and Games), Oh My! by Ryan Davis
- It’s down! Simulating incidents in production by Kelsey Pedersen
- Reducing Enumerable - An Illustrated Adventure by Brandon Weaver
- Cats, The Musical! Algorithmic Song Meow-ification by Beth Haubert
- ROM: the final frontier of mruby by Masayoshi Takahashi and Yurie Yamane
After seeing almost all the major global Ruby events in one year, I must conclude that all of them are special, and the value they bring to the community is different too.
All of them push Ruby forward but in different directions. Every conference I have been to has taught me something new and allowed me to improve on my further talks. Although, this knowledge is not evenly distributed: I learned more from some conferences than from the others. And most of the useful things I learned I learned directly from people, my fellow Rubyists.
Will I continue conferencing the next year? Definitely! But probably, not at the same rate :)
See you all in 2019!