F-Ruby シリコンバレー ミッションに参加してきた(4日目)

4日目からホテルが変わるので、チェックアウト。しかし、なんで単語レベルしか話せてないであろう英語で通じるのか不思議なくらい分かってくれる。多分、対応がテンプレート化していることと日本とテンプレートがそう違わないことが大きな要因と思われる。あとは「どうせこいつは日本人だし英語なんか分からんのだから、仕方ないなぁ」っと思われていることが本当の理由っぽい。

後、元々このあたりの東洋人率が高い(1/3くらいらしい)らしく誰に何語が通じるのか分からない。そのせいか、たとえ日本人に見えたとしても英語を使わないといけないような感じになってきた。このあたりは自分が大学で方言から標準語に移行したときに感じたのと同じような感じ。

ここからホテルが変わって舞台がサンノゼ市からサンフランシスコ市に移る。そのため午前中は移動とショッピングモールでのお土産物色、昼食で消化。

昼飯は恒例のマクドナルド。Angus産の肉を使ったサード バーガーなるものを食べてみた。どうやらクォーターパウンダーでは足りなかったらしく1/3ポンドのバーガーらしい。ポテトは普通な感じだったのだけど、コーラがボリューミーでどうしたものかと途方にくれたのはいい思い出。ちなみに、他の人が頼んだミニサイズのバーガーが日本版ハンバーガーと同じくらいの大きさでした。

Pivotal LabsのAgileの話

午後からはアメリカでRubyの業務を行っているPivotal Labsに訪問。なんとなく自社製品の話をするのかなぁっと思っていたら、話は初っ端からAgile開発の話に。今まで文字面でしか見たことの無かったAgileの現場を見れたので意外な収穫を得た感じ。

オフィスはゆったりとした机が置かれていて仕事がしやすそうな環境になっていていい感じでした。ちなみに席は決まっておらず、プロジェクトやその日の気分によって自由に席を移って良いらしい。OSや何かのPC絡みの設定はイメージ化して中央管理しているので、どの席からでも自分の環境を使えるようにしていた。また個別のPCからメールの確認はせず、数台あるメール用のPCからメールをみるようにしているとのこと。気が散るかららしい。

実作業自体はペアプログラミングで行い、クライアントを自オフィスに呼ぶと言った噂に聞くAgile開発を地で行くような感じ。

さらにARC(Agile,Rails,Cloud)が組み合わさることで、プロジェクトの時間の間隔や規模間や質が大きく変わっている。これにテスト駆動型の開発を組み合わせることで、大規模かつ迅速なプロジェクトが実現されているとのこと。

Agileは仕事の質を上げ、Railsはコーディングの速度を上げ、Cloudはスケーラブルにしプロジェクトの初動の早さを上げると言う話。アメリカでもRubyの存在感は高まっており、今ではRubyで作って当然と言った反応にもなっているそうで、逆にRubyじゃないとクライアントが「なぜ?」という反応をすることもあるそうだ。ちなみにPythonとの違いについてはエレガントさとパワフルさという回答だった。

印象に残ったのは、「9時、18時で仕事は終わり。それ以上やったら技術者がアンハッピーになってしまう」、「技術者がハッピーにならないといい仕事はできない」という趣旨のこと。確かに作業しやすそうな雰囲気の場所だった。

ここで質疑に花が咲き、次の予定を押してしまいそうだったので、慌てて移動。Agileの話はもう少し聞いておきたかった。

New Relic 訪問

前のPivotal Labsが押してしまったので急いで移動。Ruby on Railsのパフォーマンス測定サービスを提供しているNew Relicに。

提供しているパフォーマンス測定サービスはサーバにGemとしてインストールすることで、Railsの実行負荷や、DBへのアクセスなどを視覚的に分かりやすくしてくれるサービスのようです。無料で提供しているものもあり、次に行ったHerokuのRailsの実行環境提供サービスと組み合わせると、大抵のことはできるんじゃないかと思わせてくれました。

基本的には、New Relic自身に関することが多かったので、ここでは割愛。

Heroku 訪問

続いてRuby on RailsをWeb上で開発、ローンチができる開発環境提供サービスを提供しているHerokuを訪問。こちらの人数が多すぎたせいで、Heroku社に入りきらなかったらしく、別の場所にて。

Webサイトを見て分かるとおり、妙に日本好きな会社で、プランにローニン、ツル、コイ、ゴジラなんかが並ぶなど良く分からないテイストになっています。

Heroku社でもAgileRubyRailsは大きなキーワードとなっているようで、これによって開発にかかる時間が10倍にもなったという話。また、開発に掛かる時間が大幅に短縮されたことによって従来の開発(Development)中心の比重から展開(Deployment)中心に移ってきているということです。

また、開発環境を提供しているにもかかわらず、Heroku自体はサーバ群を所有しておらず、すべてAmazonのEC2を利用してサービスを提供しているようです。ある意味コロンブスの卵的な発想のような気がします。Herokuのサービスを使って提供されているサービスも数が増えているそうで、中にはエンタープライズ用途のようなものも動いているとのこと。確かに下手なサーバを自分で運用するのと比べるとよっぽどマシかもしれません。構成からして当たり前ですが、簡単にサーバをスケールさせることもできるようなので、使ってみる度胸さえあれば、かなりいい感じに使えそうです。

質疑の中で知ったのですが、RBCでもセミナーの際にHerokuを使うことがあるそうで初心者が手始めに使うのも楽だろうなぁっと思います。