
[ホーム]
[最新エントリー]
[あすなろBLOG]
[あすなろNEXTBLOG]
[あすなろカウンセラーBLOG]
[インタビュー]
[スペシャルコンテンツ]
[テックスペース]
|
|
次へ |
2008年01月22日
第14回では、日本を代表するインターネット企業である楽天で、技術研究所の立ち上げとマネジメントをされている、楽天技術研究所代表の森 正弥氏にお話を伺います。若くして研究所を任されるようになった森氏はどのような方なのでしょう。

<森氏の略歴>
1998年 3月 慶応大学 経済学部 卒業
1998年 5月 アクセンチュア株式会社 入社
2006年 9月 楽天株式会社 入社 楽天技術研究所代表
■コンピュータに興味を持ったのはいつからですか。
大学からです。僕が大学に入学した1994年頃は、大学でパソコンが一般的に使われ、学内ネットワークがインターネットにつながり始めた時期でした。様々な経験を通して、これからコンピュータやネットワークはもっとおもしろくなるなと思うようなりました。
■それでコンピュータを始めたんですか。
小学生の頃にPC8801を買ってもらい、はまっていた時期がありました。この話をするとそれだけで今日のインタビューは終わってしまうので今日は止めときます。(笑)
■ゲーム作ったりしていたのでしょうか。
ゲーム!作っていましたね。ベーシックマガジンという雑誌を愛読して、掲載されていたゲームは片っ端から全部打ち込んでいました。
■小学生にとって何か動くものを作るってすごいことですよね。
ゲームはBasic言語で書いていましたが、なぜか僕は、当時、直接マシン語で普通にプログラムも書けてたみたいなんです。どうしてあんなことができたんだろう。小学生ってすごいですよね。ただ、中学生になってからは、マイコン触らなくなっちゃって。中学時代は、バスケットに汗を流してました。
■大学でコンピュータに再会していかがでしたか。
小学生の頃には知らなかったものがたくさんありました。例えば、UNIXの体系。僕は初め、ベタなBasic言語のインタプリタしかイメージできなくて、Basicの機能に置き換えると何なんだろうという思考の仕方で理解しようとしていました。だからディレクトリといった概念を理解するのは大変でしたね。
■いろいろな経験を通してコンピュータに魅了されていったとのことでしたね。
Excelのマクロ機能を使って、授業で使うデータを集めてうまくモデル化して関数を作り、それをコンピュータに計算させるといったプログラミングの経験、ホームページを作ったらまったく見知らぬ人から連絡がきて実際に会うことになるといったネットワークを活用した経験。どれも衝撃的でした。
■何か印象深いエピソードはありますか。
学生の僕に、外資系金融でお勤めの会社員からメールがきて、人生相談に発展したことがありましたね。
■え。
当時僕は、趣味で小説を書いて、ホームページに載せていたんですが、その主人公のシチュエーションが自分と似ていると感じたそうで、感想を頂いたんです。普段の生活ではありえない出会いですよね。純朴な大学生だった僕にとっては、もう驚きでした。こんなことが普通の自分にも起こるとなると、これから世の中どうなっちゃうんだろう!と思いました。
■衝撃ですね。それで就職はIT業界にしたんですか。
コンピュータやネットワークをいじって作る側に回りたいと思っていました。だから経済学部生の就職先の王道である金融や商社ではなく、当時のアンダーセンコンサルティング、今のアクセンチュアに就職することにしました。もともとアクセンチュアは、テクノロジーに力をいれていた会社で、SIも得意としていました。当時のアクセンチュアは、テクノロジーや業務プロセスのコンサルティングを担当する部署において、コンサルティングファームとしての基礎を身につけるのに、誰もが初めの2年はプログラマをやるということで有名でした。僕はそこがいいなと思って選びました。
■研修はありましたか。
グローバル共通で1ヶ月程アメリカで研修がありました。C言語のお題を出されて各国混合のチームでコーディングします。その後すぐにプロジェクト配属です。
■初めてのプロジェクトはいかがでしたか。
1998年〜2001年の3年間は、大企業メーカーの経理システムの大規模プロジェクトに配属になりました。6年プロジェクトの3年目あたりだったと思うのですが、既に基本設計は終わっていて、僕はシステムテストのフェーズから参加しました。
■システムテストから開始ですか。
初めの2ヶ月は、開発管理の仕事をしました。各チームから上がってくる申請を通しながら、モジュールをコンパイルして結合する仕事をしてたんですが、モジュールが膨大すぎたので、スクリプトを組んで仕事を楽にしようと、まずsedとawk使いになりました。
■自ら仕事を作っていたんですね。
その後は、オンラインの管理を担当していましたが、使用していたトランザクション管理用ソフトの「Tuxedo(タキシード)」が、システムテストの段階で負荷等から困難な問題が起こすようになり、その解決のために、「Tuxedo」の、メッセージキューや共有メモリといったプロセス間通信をサポートするためのカーネルをいじる必要に迫られました。そこで、カーネルの本とか、システムコールの本とかを読み出したら、そこでプログラミングの才能があったのか、どんどんプログラムを書くようになりました。(笑)
■初心者の仕事ではないですよね。
それから、仮運用に入った際に、システムが大規模すぎて様々な障害が発生したんですね。それで障害対応するのに、オラクルの物理設計やチューニングなんかもできるようになりました。2時間かかっているバッチを5分にチューニングできたこともありました。
■かなり高度な作業に聞こえますが。
極めつけは、売掛金の帳票を出力するプログラムの改修。大規模すぎて動かず、分散並列処理することになり、それを任されました。仕様はあるはずでしたが、実際はなくて。プロセスを並列で実行させ、負荷を見つつ並列度合いを調整し、ひとつ処理がおわったら他のプロセスを立ち上げて、ある一定のリソースの中で処理をしながら、最後にマージしてデータを投入する、という機構を実装しました。全体の処理の設計は今思えば、Googleの「MapReduce」と似た発想でした。
■与えられた課題は、個人の実力を超えてますよね。
確かに超えてましたね。必死になって対応しました。それでも運が良かったと思うのは、このプロジェクトでは、アーキテクチャがすごくしっかり作られていたことです。勉強になりました。テクノロジー部分と、アプリケーション部分をアーキテクチャとして分離させていて、テクノロジー的な難しさは全部アーキテクチャで吸収し、アプリケーションが簡単に作れる仕組みが横展開されていました。
■具体的にはどういうことですか。
アプリケーションを組むエンジニアは、何だけやればよいのかということがすごくシンプルに設計されていて、しかも半自動的にツールで提供されていました。エンジニアがこれを作りたいと操作すると、ソースコードがでてきて、この部分を埋めてくださいと指示され、そこを埋めてsubmitすると、そのままシステムに登録されていくという仕組みになっていました。
■それはすばらしいですね。
関連するドキュメントも管理ツールによって整備されていたので、夜間バッチ実行中など手の空いたときは閲覧し、「アーキテクチャっていうのはこういう風に作るものなんだな」とか「こういう風にすると、大規模な分散開発にも耐えうるのか」ということを学びました。この経験が次のステップに繋がっていきます。
次回1月29日up予定
第14回(2)「技術を磨いた仕事、人生の教訓を得た仕事」
楽天についてもっとしりたい
楽天が誕生して10周年!楽天のサービスはどのように発展してきたのか。
詳細はこちら⇒【楽天】10周年記念特集:楽天開発ヒストリー
|
|
次へ |
|
|
[ホーム]
[ブログコンセプト]
[個人情報]
[著作権]
