@kyanny's blog

My thoughts, my life. Views/opinions are my own.

Quipper のスピード感

先日、ブログ記事を読んでいて autodoc というツールを見つけた。 Rails の Request Spec から自動的に API ドキュメントを生成するというもの。コードとドキュメントが食い違ってしまう問題を解決できるかも、と思って試しに Quipper 社内で紹介してみた。

当初は「良さそうだね、でも今使っている API サーバー用フレームワークでは使えないようだし、こまごまと不満もあるので、いずれ Rails に乗せかえるときにでも再検討しよう」なんていう反応を予想していた。自分の担当箇所でちょっと使うくらいが関の山だろうなと。しかしその予測は見事に外れた。

紹介した当日、我々が API サーバーを書くのに使っている grape という gem で autodoc を利用するのは骨が折れそうだということがわかる。にもかかわらず翌日、 API サーバーを Rails にマイグレーションするトピックブランチが作られる。 Rails の routes で Grape アプリケーションをマウントする Grape on Rails と呼ばれる手法があり、単に Rails に乗せるだけならすぐできてしまった。

その後もあれよあれよという間に作業が進み、結局 Pull Request ができてから四日でマージされた。しめて 19 コミット。途中いくつか問題があった様子を HipChat でぼんやり眺めていたが、結局もろもろ解決したようだ。テストも当然パスした状態でのマージ。まだ production 環境へは投入していないが、 Heroku アプリケーションを一つ作って検証が始まった。このペースなら、トラブルさえなければあと一週間くらいで全ての API リクエストをこの Grape on Rails なコードがさばくことになるだろう。

もともと Grape (ほぼ素の Rack アプリケーション) をやめて Rails に移行したい、というモチベーションがあったとはいえ、この速さには驚いた。判断も速いし、作業も速い。勢いが衰える前に終わらせてしまった。実作業をしたのは二人(おれは関わっていない)で、それぞれが片手間でやっていた。たぶん本気でやったら一日で済む作業だったのだろう。


「ベンチャー」とか「スタートアップ」と呼ばれる組織では、とかくスピード感が喧伝される。スピード感のある経営、スピード感のある開発、 etc. 言うは易し行うは難し、実際に物事を進めるには「決断」と「実行」いずれもすばやくできなくてはいけない。ここでは両方できている、いまのところは。

実行力のあるタレントがそろっているのに経営上のいろいろな理由で決断が遅れるとか、やりたいことは山ほどあるのに実行を阻害する要因が多くて動きが鈍るとか、そういうのはストレスが溜まるものだ。自分自身を振り返ると、そういうストレスを感じ始めると決まって転職活動していた。

ストレス耐性が低いのはどうにもならないしジョブホッパーとして生きてゆく覚悟もあるが、組織に属していれば愛着も湧くし離れがたくもなる。今いる場所が末永く過ごしやすい場所であり続けるように、コードを書いたり仲間を増やしたり して自分なりに楽しくやっていきたいものだ、と改めて思った。