tchikuba's blog

クリエイティブが輝ける組織をエンジニアリングする

イベントWhy Choose Ruby on Rails?に参加してきた

Why choose Ruby on Rails?というイベントに参加しました。 メンバーズさんってあまり知らなかったんですが初めてオフィスにお邪魔してきました。

Why choose Ruby on Rails 2

メンバーズさんのオフィスは晴海にあります。 私は築地から都バスに乗ったんですが本来降りるハズの駅から2駅先まで間違って行ったりで迷いました。。 正直ちょっと不便な場所だなーと率直に思ったんですが、、37階からの眺めは最高でした!

Why choose Ruby on Rails 1

イベント聞きながらメモがあまり取れなかったんですが、印象に残ったところを中心に書き残しておきます。


Sansanさん(変なイントネーション(笑))の話は以前聞いたことがあったので私にとって真新しい話はそれほどなかったのですが、 改めて話を聞いて思ったのは、「.NET文化からRailsを採用したのは勇気のいる決断だったんじゃなかったのかなぁ」ということですね。

メンバーズさんがTDDメインでraisで受託開発しているという文脈で直面した課題に、gitでブランチ切って開発終了後の動作確認時に その動作環境を用意する煩わしさを解消する為に、dokku, dockerを使った 該当ブランチの自動デプロイツールを自社開発で整備して使用し始めた、という話が印象に残りました。 gitにブランチをpushしたタイミングで該当ブランチの動作環境がデプロイされるだけでなく、hipchat等のチャットにURLが流れるようにしているそう。 このURLにwebディレクターがアクセスして動作確認をするということで、一気通貫で考えられ整備されているなぁと感心しました。

フィードフォース鈴木さんが現場で実践しているというブラウンバッグミーティングを 実践してみたいな、と思いました。簡単に言うとランチを食べながら今気になる技術やサービスについて雑談的な感じで話をするそう。 毎週火曜13:00から開催しているそうです。これはコミュニケーション促進として非常に良い取り組みだと思いました。

あと、スクラムを実践する中で、新しい人が入ってきた時やり方に合わせてもらうというやり方から、異質なものを受け入れ組織が変化していくようになってきたそう。 管理することは弊害の方が大きく、管理より信頼して現場に任せるとうまくいくという話に共感出来ました。 極論、スクラムやアジャイルってより人間的なチーム作りをどうすれば良いかってことだと思います。

話されている内容はプレゼンの中でも実際紹介されていたGoogleエンジニアのチーム作りの話が書かれているTeam Geekという本の内容に近いことなぁという印象でしたが、 良かったのは実経験に基づいた現場の話をされていたことで、聞いていて説得力がありました。 Team Geek、私も読みましたが非常にオススメです!

クラウドワークスがrailsエンジニア採用に困ってやったことが、クラウドワークスを使ってrailsエンジニアを募集したそう。 2012年当時11名応募があって6名お願いしそのうちの数名は現在もお願いしている人もいるとのこと。 eat own your dog foodが大事だねと。分かります。

CIはSEMAPHOREを採用しているそう。Circle CIは 無料枠だと15分で問答無用でインスタンスが切られるということでその制限のなかったSEMAPHOREを選択したとのこと。 CW大場さんが紹介されていたレガシー依存の悪循環って図が面白かったです。

あとクラウドワークスのエンジニアはPHPにうんざりした人が嬉々としてRubyのコードを書いてる感じだ、という話に PHPカンファレンスの実行委員を長年されているメンバーズ川井さんが「しばらく落ち着いていたPHP disりが久々に炸裂ですねぇ でも大したことないか」 というようなニュアンスの発言されていたのがクスっときました。


話を聞いて改めて再認識しましたが、Railsはアジャイルの文脈で対になって語られるということです。 一言で言うとThe RSpec Bookでの語り口のような感じですね。

あとメンバーズさんが TDD + CI でテスト回すの素晴らしいってプレゼンの流れの中でDHHTDD is deadが触れられてました。 というか、TDD,テストファーストの論争はここでは触れませんという話だったんですけどもw やっぱりこれ、色んな所で論争を引き起こしてるようでちょっと楽しくなっちゃいました。 少なくとも世界中で改めてTDDやテストのことを再考しようじゃないかと問題提起したDHHが凄いなぁと思いました。

最近scalaが流行りつつあるような兆しもありますし、将来的にRailsがレガシーになる可能性も考慮に入れておく必要はありそうかもですね。 Restfulな設計思想であるRailsはRDBMSのテーブルと画面が密結合しているwebサイトではかなり開発が効率的ですが 一方でその限りでないwebサイトも今後増えてくるとRailsのアドバンテージは下がりそうな気がします。

大事なことはRailsに現状どっぷりでも、最新技術動向には常にアンテナを張り思考停止しないようにすることですかね。 とはいえRailsはちょっとした動的webサイトを量産するのに現状だとベスト・プラクティスかなと個人的には思います。 なのでしばらくの間はたくさんのRailsアプリを開発しまくりたいと思っています!