It’s been more than 3 years since I attended a dev conference - the last time was pre-pandemic, and it was a conference I helped organise. I didn’t know what to expect heading into Matsumoto for RubyKaigi 2023 this weekend, but I was blown away by the quality of the conference and the warmth of the community. Some talks were at times hard to follow (especially considering I’m only 4 months into my Ruby journey), but the experience more than made up for it, and I’m so glad that I went.
What is RubyKaigi
RubyKaigi is an international conference held annually in Japan, on the programming language Ruby. It aims to provide a platform for open source developers to talk about the cool things they are working on. RubyKaigi provides support for both Japanese and English speakers. It is held in a different city of Japan every year, and tries to introduce attendees to the charms of the area. This year it welcomed approximately 1200 people from all over the world to the city of Matsumoto.
Over the three days there were 43 talks, 12 lightning talks, 3 keynotes, and 1 panel. I was really impressed by how much effort went into making the Japanese talks accessible for English speakers. All Japanese presentations had live English translations (which worked great), and English captions (which weren’t always great), and the ones I went to also had English slides.
The talks themselves were quite technical, but generally the speakers explained things in a manner that even I, with limited Ruby experience, could follow along. However, there were some talks that were super esoteric - at first I thought it was a me-not-being-technical-enough problem, but checking in with others after the conference it seems they didn’t fully understand it either. I learnt that this is a result of how RubyKaigi runs. Unlike many conferences where the focus leans heavily towards the presentation, RubyKaigi also focuses heavily on the presenters and giving them the chance to show off their passions/contributions to Ruby.
My personal favourite talk was ‘Ruby vs Kickboxer’, which was about building a remote-controlled pool noodle sparring partner and was presented by a couple of Australians (from the same city as me!). It marks the first time I’ve seen the presenters act out a fist fight on stage. My next favourite was ‘The Second Oldest Bug’, which was an interesting look into the thoughts, processes, and decisions that go into fixing bugs in languages such as Ruby. I really enjoyed the way these presenters took the audience with them on their meandering journeys to find a solution.
Another highlight was the day 3 morning panel ‘Ruby Committers and The World’ - it was really interesting to listen to the thoughts and discussions of people involved with building the Ruby language. As a developer I’ve never really thought about how the language I write in came into being, or the decisions that go into making it the way it is - as long as it can do what I want it to, why think deeper - but there, right in front of me some very smart people were talking about exactly that. It was really fascinating to see them talk with each other about the things they wanted for the language and get a glimpse into how the process of a community developing a language might work.
On the final day of the conference I was introduced to the phrase ‘Matz is Nice and So We Are Nice’ (MINASWAN) - and I think this perfectly encapsulates my experience with the Ruby community this weekend. Everyone was so nice and welcoming. I was quite nervous arriving on day 1, as I’ve never actually attended a developer conference on my own before. But throughout the conference, people who I’d met somewhere else kept popping up to say hi and also introduce me to their friends. By day 3 I felt everywhere I looked there was someone I had chatted with and could wave to.
Twitter remains the social media of choice to connect on in Japan. Even post conference RubyKaigi still dominates my Twitter feed, with #RubyFriends and RubyKaigi 誰も撮ってなさそうな写真 (RubyKaigi photo that no one else seems to have taken) posts. These tags make it really simple to feel a part of the community. I think it’s really amazing to have a community that is so willing to share their love for a conference days after said conference is finished.
There were 29 sponsor booths set up, and by the end of day 1 I had received enough swag to fill half a suitcase. Among the swag, food was a popular choice, with one attendee tweeting a photo of curry roux, rice, and an apple (yes, there was a company handing out apples), with the caption ‘I now have all the ingredients to make curry’.
There was also an official stamp rally to encourage attendees to engage with all the booths, and when you got all the stamps you could choose from a selection of pins including one with Matz’s signature on it. While the stamps served as a quick draw to pull people to the booths, many sponsors also had their own competitions/activities set up. Perhaps the most novel of these was a sticker that can supposedly tell you how weak you are to alcohol (with the prize being a massive tote bag to help you carry all your swag). I really liked the creativity that went into breaking the ice and creating space for conversation. It was a fun and essential part of the conference.
Matsumoto and RubyKaigi Impact
I arrived in Matsumoto on Day 0, via night bus. I used Day 0 to visit a number of tourist attractions - the highlights being Matsumoto Castle and the Yayoi Kusama exhibition at the Art Museum - and try local specialties - like soba, sanzoku-yaki and basashi. When I first arrived I saw a fountain that said ‘undrinkable’ and thought ‘of course you can’t drink that’ but I soon realised that in Matsumoto the norm is to be able to drink from the many fountains that adorn the town. It is such a clean and beautiful place.
Because of the conference there were Rubyists everywhere. On day 0, when I stopped to eat there were Rubyists in the restaurant with me. During the days of the conference we were given vouchers that could be spent at select businesses for food and it could be a challenge to find a spot free of Rubyists to eat! It’s a good thing lunch break was two hours. I think on day 2, in the Soba restaurant where I was eating lunch, the seats were completely full and aside from an old couple everyone was a Rubyist.
I loved how we were encouraged to explore the area, and thought the conference did a great job of introducing Matsumoto to everyone - especially to people who had come from outside of Japan.
There were a number of official drinkups and afterparties, but these filled up before I had the chance to register. Luckily, I was not the only person in this boat and I found myself busy every day after the conference with people I’d been able to connect with. I ended up hanging out with the ladies from emorihouse, we ate a meal with the members of WNB.rb, and a few of us went to Karaoke with some other international attendees and speakers. So even though I couldn’t join the official festivities, I managed to enjoy nice food, nice drinks and nice company everyday.
Japan really knows how to do afterparties. On day 3 I was determined to make the most of the last night and thought maybe the night would wind down around 2am. I was wrong. Starting the night as an Izakaya with some friends from Rails Girls Nagasaki we chatted about the conference and IT in general. From there I went to the RubyMusicMixin2023 which involved a lot of bad dancing and yelling at people while the DJ played music loudly until 2am (it was awesome). Then I tagged along for Ramen until 5am, which was followed by grabbing a drink from the convenience store until 6. Finally I thought I’d go back to the hotel to grab my luggage, but ran into a group of people by the river and stayed to chat. The group included chief organiser, Matsuda-san, and it was here I learnt more about the aims of RubyKaigi. Finally some of us went to get Coffee at 7am.
I feel like a lot of socialising at Japanese events takes place not at the conference but at the afterparties, so if you want to connect with people it’s good to plan accordingly (give yourself time to party and time to recover).
I had a fantastic time at RubyKaigi, and hope to be there again in Okinawa in 2024. It was an event that really opened my eyes to the wonderful Ruby community and makes me want to learn more about Ruby, to try new things in Ruby, and where I can give back to Ruby. I’m very grateful to the organisers, the speakers, the sponsors, the helpers, and the attendees, because without them there is no conference, and also very grateful to TokyoDev for encouraging me to attend. Hopefully next year I can understand even the deeply technical talks!