かみぽわーる

kamipo's blog

2021年はブログを書くのをがんばろうという話

5ヶ月前に退職エントリを出してから、いろんな会社さんだったり個人的にだったり、いろんな人と話させてもらった。

blog.kamipo.net

もともと、Railsを改善する活動をずっとしてきて、僕は悲観的なところがあるので、Railsを改善することの価値は将来的には下がっていくだろうなと思っていて。なので、常にいまがRailsを改善する最も価値ある瞬間で、だからこそいまそれをやる意義が僕にはあって、いまやらないとその機会を失ってしまうだろうと思って、いまに至っている。

とはいえ、僕は価値があると思ってやっている活動もその継続性を考えると、経済的な価値に転換するポイントを見いださないと、僕の資金が続く限りはやります、資金が尽きたら終わりますになってしまうので、これまで"個人の趣味"としてやってきて改善すること以外はマジでどうでもいいと思ってそういうこと何も考えてこなかったから(ぜんぜんどうでもよくなかった)、継続性という点についてはこれからもいろんな人の意見だったりを聞いて考えていきたいところです。

まだコロナ禍になるまえ、オフラインでやってたころのESM, Inc.さん主催のOSSパッチ会の体験が僕にとってはとてもよく、Railsユースケースや改善点に関するフィードバックが得られて、それによって僕の活動が誰かにちゃんと届いてるという実感も得られる。

その体験をもっと広げられないかという思いもあって、いま、Railsのことに関するフィードバックだったり相談だったり(べつにRailsのことじゃなくてもいいし雑談とかでもいい)を受けられるように、SlackのGuestアカウントをもらってる会社さんが何社かある。

実際やってみると、あの体験を再現するのはなかなか難しいのだなと感じていて、そもそも、OSSパッチ会に来るような人はすでにOSSを改善しようって意識を持って集まってる人たちで、そんなみんな毎日「よーしOSSを改善するぞ〜!」みたいな感じで日々の業務をしているわけじゃないという、考えてみたらそらそうやなというのがまず最初に感じたこと。

あと、関係性的に業務のコードを見れるわけではないので、コード見たら「あ〜そういう感じか〜それはRails側で改善されてくれるとうれしい案件やな〜」ってわかりそうなことも、そういう感度をもった人が相談してくれない限り察知のしようがないというのも感じた。

たとえば前職でのケースでいうと、クソクエリでDBが死んでしまうのをMAX_EXECUTION_TIME()で対処したときに、これMySQL使ってたらマジで超絶有用な機能やしBasecamp, Shopify, GitHubMySQL使っとるねんからふつうにみんな必要やろってRails 6.0でOptimizer Hintsサポートを入れたり。

github.com

これ以前にもMAX_EXECUTION_TIME()使いたいねんけどどう思う?ってプエルトリコ人の同僚(プランテインが大好き)に相談されたときに、ええと思うけどクエリがタイムアウトしたときのハンドリングしたいよな〜ってことでStatementTimeoutエラークラス入れたり。

github.com

他にも僕はuniquenessバリデーターのcase_sensitive: false警察をやってたんですが、フィロソフィーのダンスのオタクの同僚(おとはす推し)に「Rails側でなんとかしてくださいよ〜」って言われて、既存アプリに影響ある変更をするのは気合い要るけどまあ気合いだけの問題なんでやるか〜ってことでuniquenessバリデーターの挙動変えたり。

github.com

他にもそういう感じのはいっぱいあって、こういう話はコードが見れない側からだとちょっと難しいなと感じた。

あとはまあ、「Railsコミッターだけど何か質問ある?(雑談でも可)」って人がいきなり現れても、話題ないよな、僕も自分から雑談するタイプじゃないし、というのも感じてる。

そんなこんなで、そういう状況を改善したく、ひとつには僕がいままで自分の活動だったり改善だったりを宣伝してこなかったことも一因だと思っているので、普段からRailsの動向をウォッチしてない人にも僕の活動だったり改善だったりが伝わるように、できるところからということでひとまずブログでアウトプットするのをがんばっていこうというのを今年の抱負としたいと思います。