こんにちはVTRyoです。普段はHR界隈でSREをしています。
「夢ェ 叶うなら OSSに貢献してから死にてえな……」
と思ったことはありませんか。僕は常々思っていました。
しかし今日までとてつもないハードルを感じていました。技術的なハードルというよりはマージまで持っていくだけの心的ハードルです。それまでissueを上げたりはしてましたが、やはり自分で書いたコードがマージされるところを見てみたい。
そう思っている人は少なくないと思いますが、やはり人間きっかけがあるかないかで大きく変わってくると思います。
今回は、マネーフォワード社員がどのようなきっかけで勉強会を開き、そして学びを得ているかの一例を紹介していこうと思います。
gem_rbs_collectionへのコミット
まずは成果の話からしましょう。 Rubyコミッターのpocke1さん監修の下、gem用のRBS2ファイルにコミットしました。
RBS is a standard type signature syntax for Ruby programs. This is a community managed collection of RBS files for gems which ships without RBS.
型情報がないgemのために、ここで有志が作っています。
最初にpockeさんからRBSについてのかんたんな解説と、環境構築とコミットまでの流れを聞き、実際にPull Requestを書いていきました。
今回私が選んだのはdogstatsd-ruby
というgemです。前にDogStatsDを使った独自メトリクスのDatadog取り込み検証をローカル環境で実施するという記事を書いたときに使っていたgemです。
選定理由は、自分が使ったことがあるgemの方がテンション上がると思った程度です。深い意味はないですが、Datadogが好きなのでモチベーションとしては十分です。
結果がこちら。いくつかの指摘を修正して無事マージされています。
最高じゃあないっすかあ……。
自分が書いたものが「これなら大丈夫だ」と言われて採用される。この瞬間は予想していた喜びよりも、もっと嬉しいものでした。
マネーフォワード社内の勉強会とは
さてここからは、さきほどのような活動がどんな流れで発生するのかを紹介していきます。
マネーフォワードでは日々あちこちで勉強会が開かれています。Googleカレンダーの予定表を見て「今日これやってるんだねえ」と把握することもできるし、エンジニアが多く参加しているチャンネルで宣伝されることもあります。もちろん飛び入り参加可能です。
- カレンダー予定表
- チャンネル宣伝
当たり前ですが、講師が存在するタイプの勉強会では、学びたいと思った人に応えてくれるエンジニアの皆さんに支えられていることを忘れてはいけませんよ!
RBSのワークショップの機運が高まる瞬間
今回の本題、RBSワークショップはどのように生まれたかです。
調べると、RubyKaigi 2022の実況スレで、あるメンバーがRBSを書きたいと投稿があったようです。そこからRBSのワークショップが誕生しています。この一言で実際に始まるところにSpeedを感じます。
その後、上記投稿にリアクションをしたのが、2021年Rubyコミッターに就任したpockeさんだったというわけです。
RBSワークショップチャンネルの開設と実施
第0回という実験的なワークショップがすぐに企画されていました。
その後pockeさんのtimes(分報)3で宣伝があり、#mokumoku-rbs-studyというチャンネルに参加者が集まります。
当日は最初に講座を受け、後半は実装です。 相変わらずVTRyoとかいうやつはずっと投稿しててうるさいですね。
- 講座の実況スレの様子
- ワイガヤよろしくと言われて声を上げたりズンチャズンチャしている様子
素朴な疑問に圧倒的速度で回答してくれるpockeさん(Zoomで話しながらスレに書き込んでいるため、文字上では謎のやり取りになっています)。このあたりはとにかく勉強になりました※頭に
?
がつく場合がそのパラメータが必須ではないことを示し、型の後ろに?
がつく場合はnil
の可能性を示すという意味でした
感想
現在マネーフォワードでは、Rubyに限らずOSS活動を推進する動きがあります。 Rust界隈でも活躍しているTaKO8Kiさん4は社内のOSS活動を推進する取り組みもしており、彼の活動姿勢は少なからず僕のモチベーションを後押ししていました。
- issueを書いていたためにOSS Contributorsに偶然載ったことで、VTRyoのモチベが上がった様子
誰かのモチベーションから生まれた勉強会ではありましたが、同じように興味のある人が乗っかっていって大きな波になる体験はやはり楽しいものです。実際、自分が書いたコードがどこかで使われるかも知れないと思うと本当にwkwkしました。 そんなきっかけ作りが社内で自然発生していることが、とても良い文化だなあと思いました。
今後はOSS初心者の気持ちがわかるマンとして、他のエンジニアにも布教活動できるようになれると良いかなと思っています。
では今回はこれにて。
マネーフォワードでは世界に還元できるエンジニアを募集しています!
マネーフォワードでは、エンジニアを募集しています。 ご応募お待ちしています。
【会社情報】 ■Wantedly ■株式会社マネーフォワード ■福岡開発拠点 ■関西開発拠点(大阪/京都)
【SNS】 ■マネーフォワード公式note ■Twitter - 【公式】マネーフォワード ■Twitter - Money Forward Developers ■connpass - マネーフォワード ■YouTube - Money Forward Developers
- ようこそpockeさん!マネーフォワード関西開発拠点へ〜日々改善と新機能開発を続けるチームでやりたいこと〜 | Money Forward Money Forward Engineers' Blog↩
- RBSはRuby 3に組み込まれた、Rubyの型情報を記述する言語↩
- Slackで簡単に「日報」ならぬ「分報」をチームで実現する3ステップ 〜Problemが10分で解決するチャットを作ろう〜 - 株式会社クラフトマンソフトウェア↩
- OSS Forwardするエンジニアにインタビュー!なぜOSS開発文化が育っていないマネーフォワードで活動をおこなうのか? | Money Forward Money Forward Engineers' Blog↩