川井: | Rubyとの出会いはいつ頃だったんですか?
|
|
倉貫: | Ruby自体は、昔からプロジェクト管理ツールを作るときにいろいろ探して見つけてはいたんですけど、現場ではなかなか採用できるものではなかったし、社内でそこまでの権力はまだなかったですね。なので、Rubyというものがあるという認識だけでしたね。
|
川井: | なるほど。
|
|
倉貫: | 今、私がいる「基盤技術センター」は5年前に新設されたんですけど、それまでTISには開発上のフレームワークを作ったり、開発の標準を決めるみたいな生産技術っていう部署はあったんですけど、割と尖った技術を扱って社内に広めるという技術専門の部署がなかったので、じゃあ作ろうという話になったときに、立ち上げメンバーとして呼んでいただいたんです。
|
川井: | 研究開発的な組織ということですか?
|
|
倉貫: | 研究開発とまでいかないんですけど、新しいITの技術を取り入れて、現場の支援をしながら実績をつくって広めていきましょうというのがミッションでした。当時はそこには割と重鎮というか、10数歳も上の人ばかりが集まっている中に若者1人入れてもらえて、そこはもともとそういうミッションの部署だったので、それこそXPだとかJavaの先進的技術だとかを調査しつつ、現場の仕事をするということをしていました。
|
川井: | なるほど。
|
|
倉貫: | それから対外的にも動きやすくなって、最初の記事は現場にいるときに書いたんですけど、それ以降の記事は、基盤技術センターとしてTISの技術力をアピールすることも踏まえて書いたりしていますね。いろいろなコミュニティ活動にも参加させてもらって、XPユーザー会の会長にさせてもらったのもその頃ですね。
|
川井: | そういう状況だったんですね。中でも外でも順調ですね。
|
|
倉貫: | エンジニアってストイックな人が多いので、仕事以外で頑張るときには会社のことは一旦忘れるとか、会社には外の活動は持ち込まないって人が多いですけど、私は双方を利用して、要領よくやる主義ですね。
|
川井: | なるほど、結構ポイントですよね。その後、どういった技術に取り組んだんですか?
|
|
倉貫: | 最近は、XPじゃなくてアジャイルっていうキーワードがありますが、社内ではアジャイルのエバンジェリストということで、アジャイルの技術に取り組んでいます。特に最初の頃に注力したのはTDD(Test-Driven Development:テスト駆動開発)ですね。Javaでテスト駆動開発っていうのをアジャイルの一環で取り組んで、いくつかのプロジェクトで試すうちにテスト駆動開発を本格化するというのがミッションでした。
|
川井: | なるほど。
|
|
倉貫: | あとは現場のプロジェクトで使えるということで、CVS(Concurrent Versions System)から移行したSubversionであるとか、Javaでいうと日本だとSeaser2が有名なんですが、アメリカで出たSpringに取り組んでいました。Springは私がというより、私のメンバーが担当していて、そのメンバーがSpringの本を出したりしていましたね。
|
川井: | この頃はメンバーをどれくらいもっていたんですか?
|
|
倉貫: | 異動したくらいからちょっとずつ偉くなってきて、部下を持つようになってきたんですけど、私は自分自身で技術もやるんですが、マネジメントも上手くできるということが分かってきて、最初は10人くらい見ていました。人数が増えればそれだけいろんなことができて、それを社内で試して実績をあげて、本にしてといういいサイクルができていましたね。
|
川井: | 今回のSKIPは最近の取り組みなんですか?それとも大分前からのものなんですか?
|
|
倉貫: | ちょうどそこから繋がるんですけど、3年前くらいに、当時、TISの全社あげての巨大プロジェクトがあって、いろんなところから人を集めていくんですけど、とりわけ私の部署はコストセンターなんで、より多く人を出さなければいけなかったんですよ。メンバーも即戦力になる人が多くて、倉貫のチームを解体したいと言われたんです。
|
川井: | そんなことがあったんですか。
|
|
倉貫: | それで、2005年の8月くらいに一生懸命育てたチームを解散して一家離散という状況になりました。まあ、会社人ってこういうものかって感じなんですけどね。それで私の元には2年目のメンバーが1人だけ残ったんですが、2人チームなのでマネジメントという感じでもなくて、もともとのミッションに立ち帰って、課題となっていたナレッジマネジメントに取り組もうということになったんです。
|
川井: | なるほど。
|
|
倉貫: | それまでも何度か、社内のWebサイトとかを作っていたんですけど、上手くいかなくて、せっかく2人になったんだし、それまでとは違うやり方でナレッジマネジメントをやっていこうっていうことにしたんです。当時、解散させられて私も本当にショックを受けていて、もう転職もやむなしとまで思っていたので、いろんな会社や海外などの情報に触れていたんですけど、WEB2.0が流行り始めていて、アメリカのGoogleとか日本だと、はてなやmixiとか勢いのあるWebの会社で仕事したいなっていう思いもあったんですけど、Web2.0っていうとCGMとかブログとかが使われていて、社内にマネジメントにブログとかを取り入れたらいいんじゃないかって思ったんです。もう解散して2人しかいなくなっていて、TIS全体の情報発信をするのは無理たったんですね。なので、我々はプラットフォームだけを提供して、コンテンツはみんなに入れてもらえばいいんじゃないかって思ったんです。
|
川井: | なるほど。大学の時のゲームと一緒の発想ですね。
|
|
倉貫: | そうです。その頃まったく同じ考えでプラットフォームだけ提供しようと思って、プラットフォームは何がいいかなっていうので、SNSを作ろうってことになったんです。それまでは10人くらいのメンバーを持ってプログラミングを一切せずに金計算のすごく得意な人間になっていた時期もあったんですけど、もうマネジメントしなくていいんで、初心に帰ってプログラミングをやろうかなと思ったんです。
|
川井: | そんな状況だったんですね。
|
|
倉貫: | それで、SNSを作るのにJavaでやると、私よりもメンバーの方がJavaは得意になっていて、それに追いついて追い越すのは30歳すぎた人間にとってはきついなって思ったんです(笑)なので、誰もやっていない領域でやったら若者にも負けないんじゃないかと思って目をつけたのがRubyだったんです。また当時、Ruby on Railsがアメリカでブレイクしていて、まだVer1.0しか出ていない時期で、これならまだ誰もやっていないので、偉そうにできるんじゃないかなと思って、Javaのマネージャーから角谷さんの本みたいにRubyのプログラマーに変身して、2年目の若者と2人で英語と格闘しながらRubyでSNSを作っていったんです。
|
川井: | そういう背景があったんですね。
|
|
倉貫: | そうなんです。
|
川井: | これって、PythonじゃなくてRubyだったのは訳があったんですか?
|
|
倉貫: | そうですね。Ruby on Railsが衝撃的だったんですよね。Ruby on Railsってフレームワークがしっかりしているんですぐ動くんですよね。それはプログラムからしばらく離れていた人間にとってはとても楽しくて、これだなと思ったのが大きいですね。
|
川井: | なるほど。ちなみにRubyについては今後どうなると見ていますか? Ruby会議ではJavaの初期の頃よりも盛り上がっているという風に言われていましたけど。
|
|
倉貫: | RubyはJavaと同じポジションをとると上手くいかないと思っていて、そこについては結構悲観的なんですよ。私はJavaのマネージャーもRubyのマネージャーも両方知っているんですけど、Javaと同じやり方で、XPでもなくウォーターフォール的な開発の仕方をして実装移行はオフショアにするかパートナーに出すかしても、出した部分だけをRubyに変えても生産性は上がらないんですよ。なので、今までの仕事のやり方を変えずに言語だけ変えても生産性が上がらないので、Rubyに対してのネガティブな意見が出てしまうだけだと思うんです。Rubyは柔軟な言語でJavaほどしっかりしていないので、そんなところに無理にRubyを使う必要がないんじゃないかなって思いますね。
|
川井: | なるほど。どういう部分に使っていくといいんでしょうか。
|
|
倉貫: | 逆にアジャイルだとか、ちょっとずつ仮説を立てて、設計をして実装して、お客さんと確認しながらフィードバックを受けて設計し直してというものにはRubyはすごくマッチしていると思うんです。なので、アジャイルなプロジェクトでないとRubyの真価は発揮できないんじゃないかと思うんです。私がRubyに貢献できるとするとアジャイルを広めて、ビジネスモデルを変えていくという形になるんじゃないかなと思いますね。
|
川井: | なるほど。これは面白いですね。セミナーでじっくりお聞きしたいですね(笑)
|
|
倉貫: | 是非(笑)
|