よく寝てよく寝る

寿司と猫と布団が好きです

iCARE Dev Meetup #34 で発表しました

7月26日に、iCARE Dev Meetup #34 で「10年続くRailsアプリ開発のために大事なこと」というテーマで発表しました。
イベントの詳細はこちらです。

icare.connpass.com

 

私の発表内容について

私の発表資料はこちらです。


speakerdeck.com

 

また発表中やその後しばらくはTwitter#icare_meetup やいろんなインターネット上での反応を眺めていたので、いただいた反応はほとんど目を通していると思います。
はてなブックマークでも100ブクマを超えて、ホットエントリ入りも達成しました(初めてホットエントリ入りした!)。ありがとうございます。

多くの方から反応をいただきましたが、特に最後のスライドがよかった!という声が多かったです。

 

 

これめちゃくちゃいい話なんですけど、残念ながら(?)私の言葉ではないです。

私は2019年に minne のサービスの開発に関わるようになり、最近やっと丸3年が経ちました。 minne というアプリケーションの生涯のうち、たった3分の1ほどしか関われていません。
そのため、このイベントへの登壇を決めたときにはすでに自分の経験や感想だけで発表内容を作り上げるつもりはありませんでした。イベントに参加してくださる方は平日の夜の貴重な時間を割いてくれるわけなので、聞いてよかった、得られるものがあったと思ってもらえるような最高な内容にしたい!と思っていました。
そのため、自分のチームメンバーをはじめとした、web アプリケーションとしての minne を知る社内のいろんな方に話を聞いてまわって、知見・経験・アイデアを集めてそれらをまとめることをやっていました。

その中で、エンジニア出身のマネージャーで現在の minne 事業部では一番エンジニア歴の長い @keokent さんから話を聞いていたときに上のスライドのいい言葉を聞くことができたのでした。昔の minne がどういうプロダクトビジョンを持ったサービスだったのかはコードやコミットメッセージからは読み取ることができません。そういった歴史的な話や、過去に作った機能に対する「もっとこうすればよかった」も聞くことができました。お話ししたのは30分間ですが、私にとってとても学びのある30分間になったと思います。

また、発表で話す内容は「web アプリケーションを10年続けられるようにするための方法論」というよりは、 minne では10年経ってこんなことが起きました、今はこれに困っていてこうする予定です、といった「今こんな状態です」をメインにお伝えする内容にしようとも決めていました。このイベントには私の他にも長く続く素晴らしいサービスを開発している方が登壇されるので、解決策にフォーカスした話は他の方がしてくれそうだなーと思ったからです。

最初に「10年続くRailsアプリ開発のために大事なこと」というテーマを聞いたとき、だいたい技術的負債への対処法を思い浮かべる方がほとんどだと思います。実際に技術的負債はアプリケーションの稼働歴にだいたい比例して重く、解消が大変になるものではないかと思います。
10年蓄積された技術的負債のつらさを共有するとなんかつらい話ばかりになりそうな予感がしたので、ポジティブな気持ちで希望を持てるようなお話をしたいと思って内容を練った結果、こういう資料が出来上がりました。

 

他の方の発表について

上述のようにわたし以外の登壇者のみなさんの発表もとても興味深く、新しい発見のあるお話ばかりで、登壇者として参加しましたが自分の発表のとき以外は完全にいち視聴者として聞き入っていました。

例えば技術的負債を生み出さないために普通のこと(ライブラリのバージョンアップデートとかテスト書くとか)を普通にやっていくこと、そのために開発コスト < 売上になるからやりましょう!というような社内コミュニケーションを丁寧にやっていくこと、「後でやる」を絶対に後でやるようにタスクを落とさないこと、また負債は「解消する」ではなく「長いお付き合いをするもの」と思うこと、負債を作りにくい設計にすること、コードが複雑になりにくい便利 gem の紹介・・・などなど、明日の仕事からすぐに実践できるような内容がたくさんあり、つらい話かと思いきや聞き終わったときにはワクワクしているような話しかありませんでした。

特に、「技術的負債を解消する・撲滅するものと思うのではなく、長くお付き合いするものと思う」という考え方にはハッとさせられました。私の中では技術的負債がバグ並に厄介なものであって、倒すべき悪であるように認識していたのだと気付かされました。上述した「10年蓄積された技術的負債のつらさを共有するとなんかつらい話ばかりになりそうな予感がした」という考えにつながるところもありますね。

 

さいごに

このイベントへの登壇をきっかけに、多くのことを学んで、知って、気づきを得ることができました。
お誘いくださった iCARE さん、私に登壇どう?と振ってくださった @hsbt さん、発表に向けてアイデアをくださったチームのみなさんと @keokent さん、資料の見やすさ、伝わりやすさをレビューしてくださった @june29 さん、視聴して感想をくださった方、たくさんの方に感謝したいです。ありがとうございます。

そして私はこれから何十年も価値を届け続けられるサービスの開発をやっていこうと思います。がんばるぞ!