2022/09/08-10に三重県の津市で開催されたRubyKaigi 2022に参加してきました。
3年ぶりの物理開催でした。物理会場への参加はRubyKaigi 2018, 2019に続いて3回目となります。
なんだかとても内省的な内容になってしまったので、他人の自分語りが嫌いな方はお帰りください。
3年ぶりの物理開催
トークの傾向の変化
3年あれば色々と変わるもので、そのひとつがトークの傾向ではないかなと思いました。
大人の自由研究
- (M|Y)JITの開発
- 言語にbundle されるツールの開発
に関する発表は引き続き多かったのですが、Ruby 2.7開発からの3年間に比べると急激な進化が落ち着いてきたからなのか、
- 大人の自由研究
ともいうべきテーマが増えたように思いました。
例えば、
- Wiresharkのプラグインをmrubyで開発できるように拡張する話*1
- ポケモンカードのデッキをコサイン類似度を利用して検索できるようにする話*2
- メガドライブでmruby/cを動かしてゲームを作る話*3
のような、誰もやれとは言わないしそれほど必要とはされていないけど、本人の情熱と技術力でぶん殴って成果となったものです。
こういう発表こそがRubyKaigiの醍醐味ではないかなと思っています。
過去を振り返る
それから、過去を振り返るタイプの発表も増えましたね。今回はWebアプリケーションフレームワーク*4、fluentdにおける実行速度の進化*5、るりま*6、それからFiberを使ったサーバアプリケーション*7。
来年はRuby30周年であることが意識されているのかもしれません。
自分の変化
また、トークを聴くにつれ、3年間で変わったのは話題の傾向だけではなく自分自身もだな、と思わざるを得ませんでした。
RubyKaigiに向き合うスタンスの変化
最初こそ@kateinoigakukunの圧倒的なKeynoteを聴いて「RubyKaigiが帰ってきた……!」と思ったのですが、その後のセッションでどうも違和感が募っていく。これはなんだと原因を考えてみると、「自分がRubyKaigiに向き合うスタンスの変化」に思い至ったのでした。
RubyKaigi 2019のときはまだRubyを始めて2年、Rubyで仕事を始めて1年半という状況で「最先端の技術を語る場にいるという事実がとにかく楽しい」という、意識高い系的ワナビー的な若さで終始はしゃいでいて、発表を「なるほどわからん」と思いつつも必死で追って、「どうやったらこうなれるのだろう」と本気で考えていたりもしました。
今回はワナビー的なはしゃぎも「自分もこうなりたい」という気持ちも消え失せていて、ただ「すごい人がすごいことをしているのを眺めて、普通に感心する人」になっており、テンションの違いが違和感となっていたのでした。
そんな自分に気付いたとき自分自身にがっかりしてしまい、2日目くらいまではちゃんと楽しめているとは言いづらい状態でした。
マネジメント方向にキャリアを積んでいる人間なので技術への向き合い方が変わったのは確かなのですが、自分はステレオタイプな「天才プログラマー」への憧れは持ち続けているものだと思っていたので、それがショックだったのです。
学んでいる内容の変化と行き詰まり
また、ここ1年半ほどはプログラミング技術よりは読書法や認知科学について勉強するようになっています。
ただ、それが前向きに活かせているかというとそうでもなく、学んだ内容をまとめてKaigi on Rails 2022に出そうとしていたのを断念するなど、行き詰まりと焦りを感じている状況でした。
いわゆる「メタ学習」を続けていくと学習の効率は良くなっていくんですが、学習って結局誰かが生み出したものを自分の中に取り込む作業なので、自分がどんどん消失していくような感覚に陥ってしまうんですよね。
それで「せめてなにかカタチにしよう」と思って学習ノウハウを手元でまとめてみるものの、どこかで見た情報の羅列ばかりになってしまって新規性が全然なく、CfPの「自分が話す理由」を書くことができなくてKaigi on Rails提出を断念。
せめてノウハウを自分で試して何かしら測定するとか、複数の知見を組み合わせて新しい学習法を編み出すとか、そこまで行ければよかったんですが……
認知科学を学んだことによって小器用に新しい情報を取り込む術は身につけたものの、それに注力しすぎて自分の頭でモノを考える習慣が減った結果、自分が取り組みたい問題の立て方が全くわからなくなってしまっていました。
わたしのKaigiEffect
さて、そんな状況だった自分のKaigiEffectですが、「問いを立てるには適切に怒ること」という学びを得たことでした。
これに気付いたきっかけは、「過去を振り返るタイプの発表」でも触れた@ioquatix の「Real World Applications with the Ruby Fiber Scheduler」で「Frustration Driven Development」が語られていたことです。
フラストレーションを原動力にする。
よく考えたら、「自由研究」をしている人たちも楽しんではいるものの、「欲しい物がない」という不満があるからやり始めるのです。
アンガーマネジメントが叫ばれる昨今ですが、そもそも自分は怒鳴り散らす輩を人間と認めたくないくらいには嫌いで、加えて不満を言うこと自体が目的になってる輩はもっと嫌いで、同じ穴のムジナになるまいと「怒り」という感情を意図的に隠蔽してしまっていました。
その結果、自分の不満を「仕方ない」で諦めてしまうことが多くなっている気がしました。
怒りをむやみに他人にぶつけるのは良くないですが、自分の不満を捉え、取り組むべき問題を立てることに糧にするのは決して悪いことではありません。マネジメントが必要なほど強い感情だからこそ、プラスに働かせれば強力な原動力となるのです。
もう少し自分の怒りに敏感になって原動力にしていこう、そう思わせてくれたRubyKaigiでした。
そういえば、angry もyで終わりますね。価値のある感情です。
余談
様々な人と会えた
色んな人と「お久しぶりです」「はじめまして」しました。
@s01 氏とは0日目(たまたま隣に座った。こちらは気付いたが旧知の方と話し込んでいたので話しかけられず退散)、2日目(1人でバーに入ったらいた)、3日目(pixivさんのイベントにいた)と申し合わせてないのに3度もエンカウントして笑いました。鉄道趣味も合わせて馬の合う方です。
他、元同僚や個人的に飲みの約束をした方もいて、これがRubyKaigiだなあと思いました。
会期中に誕生日を迎えた
おはようございます
— expa / Shu Oogawara (@expajp) 2022年9月8日
今日で片手で数えられない年齢になりました
会期中に誕生日を迎えて年齢が6bit目に突入しました。会場で声かけてくださった方ありがとうございます。
もう誕生日が嬉しくない年齢ですが、RubyKaigiのおかげで楽しい誕生日でした。
近鉄の秘境駅に訪問した
津からの訪問が容易ということで、近鉄線で利用者の最も少ない西青山駅に訪問してきました。
秘境駅ランキング179位、西青山駅に到着
— expa / Shu Oogawara (@expajp) 2022年9月11日
名阪を結ぶ大動脈の中で忘れられたような、コンクリート打ちっぱなしの無骨な駅です pic.twitter.com/dOgF3hSGo8
「川」はここにありました。
今回の僕にとっての #rubykaigi の #川 はこちらになります
— expa / Shu Oogawara (@expajp) 2022年9月11日
橋も見事に錆び錆び pic.twitter.com/hFxPmqegt0
これはnoteにでも書こうかなあ。
まとめ
3年ぶりのRubyKaigi、発表の内容以上に重要なことに気付かせてもらえました。
スポンサーブースで他社の方と技術スタックのマネジメントについて話ができたのも良かった。やっぱりこういう偶発的に始まる話こそが物理カンファレンスの価値ですよね。
それでは、来年また松本でお会いしましょう。
*1:Packet analysis with mruby on Wireshark - dRuby as example - RubyKaigi 2022; トラブルに見舞われても、会場を賑わしつつ堂々と発表を続けたしおいさんが本当にかっこよかったです
*2:Create my own search engine. - RubyKaigi 2022; 「カードをベクトルで表せば自然言語処理が応用できるのでは?」という着想が本当に天才
*3:Megaruby - Running mruby/c programs on Sega Mega Drive - RubyKaigi 2022; プレゼンすらメガドライブ実機で行う徹底ぶりで会場は沸きっぱなしでした。これがライブ感ですよね
*4:Ruby Archaeology: Forgotten web frameworks - RubyKaigi 2022
*5:How fast really is Ruby 3.x? - RubyKaigi 2022
*6:History of Japanese Ruby reference manual, and future - RubyKaigi 2022
*7:Real World Applications with the Ruby Fiber Scheduler - RubyKaigi 2022