世界一を目指す楽天の技術部門から、旬な声をお届けします。

エンジニアのクリエイティビティが時代を創る

»

楽天株式会社 開発部 河村圭介 @kkawamura

 こんにちは。楽天のアプリケーションエンジニアの河村と申します。

 仕事では主に楽天のアプリケーションの開発プロジェクトで、コーディングからプロジェクトマネジメントまであらゆる工程を担当しております。それ以外にも、先日行われた楽天テクノロジーカンファレンスの企画・運営を担当したり、社内技術コミュニティ的な活動も行っていたり、幅広く仕事をしています。今回このリレーコラムに自由なテーマで何か書いてくれといわれたので、少々おおげさなタイトルですが、「エンジニアに必要とされる創造力」というようなテーマで最近感じている課題について書いてみたいと思います。

■よりエンジニアが主役の時代へ突入

 Webサービスに関する技術がものすごいスピードで日々進化していますことは、@ITをご覧になるような皆様であればご存知だと思います。プログラム言語やフレームワークは次々と新しいものが登場しますし、既存技術のバージョンアップも激しく行われています。最近はアーキテクチャに関しても大きく変わってきていると感じます。例えば、データは従来はRDBMSに格納することが普通でしたが、現在はメモリや分散ファイルシステムなどの選択肢の中からアプリケーションの特性に応じて適切に選ぶことが求められています。

 この技術革新のスピードの速さに加え、昨今ではクラウドコンピューティングに代表される仮想化技術の発展や、Hadoopなどの分散並列処理技術といった、とても大きなパラダイムシフトを起こす可能性のある技術の普及が進んでおり、今後も技術の進化は一層激しくなるのだろうと感じております。周りのエンジニアからは「また新しいことを覚えるのが大変だ~」なんて声も聞こえてくるのですが、こんな時代だからこそエンジニアに活躍のチャンスがある、わたしはそう考えております。

 わたしは、2008年頃より楽天市場のレコメンデーションエンジンの開発に携わり、購買データの解析にHadoopを使いました。それまでパフォーマンスと耐障害性の面で苦戦していた購買データの解析処理をMap Reduceで実装したら数倍のスピードで行うことができ、感動したことを覚えています。……と同時に「これを使えば、◯◯も改善できる」とか「今までできてなかった◯◯ができる」というようなサービスを良くするアイディアが次々と思いつき、Hadoopと相性がよさそうなサービスの担当者にデモを見せ、導入を検討してもらいました。現在では複数のサービスの裏側でHadoopを使っています。おそらくこれからも社内での利用は広がっていくと思います。

 こうした経験を経て強く感じたことは、大きな技術革新の真っ只中にいる今こそ、エンジニアが中心となってシステムを企画・開発・改善していくことが重要だということです。エンジニアにしかできない提案があり、その提案がとても重要な役割を果たすのだと感じます。特にインターネットサービスに関しては、莫大なデータやトラフィックをどのように管理・活用していくか、そしていかに高速にサービスを提供するかということがポイントになってきていて、技術がまったく分からない人では、既存サービスの改善提案はもちろん、新規サービスの企画を考える事も難しくなってきているように感じます。

 技術もサービスも猛スピードで進化している今の時代に、わたしたちの生活に新しい価値をもたらすサービスを生みだすには、最新技術を応用すればどのようなことが可能になるかをわかっているエンジニアが中心となって、サービス開発をすることが求められるのではないでしょうか。

■エンジニアの強みを考える

 他の職種にはない、ITエンジニアならではの強みとはなんでしょうか? わたしは作りたいものを自分の手で作ってしまえることだと思います。なにかアイディアを思いついたら作ってしまうことができる。これは非エンジニアな人にはできないことです。以前は必要なサーバ環境などを個人で用意することが若干敷居が高い印象がありましたが、現在は個人でクラウドサービスを安価で利用できる時代です。たいていのことは自分でもできてしまいます。

 わたし自身も最近は、仕事かそれ以外かにかかわらず、なにかアイディアを思いついたときはプロトタイプを作って、それを見せて説明するようにしています。動いているプログラムの説得力はすごいです。口頭で説明しても伝わりにくいような価値を的確に伝えることができます。

 飲み会やランチなどでエンジニア同士で話をすると、本当にさまざまな面白いアイディアが出ては消えていきます。わたしはそういうときいつももったいないなぁと思うのですが、面白いことを思いついたら作ってみることをおすすめします。動くものができると、頭で考えていたときには気づかなかった課題に気づいたり、さらによいアイディアが浮かんだり、他の人から改善案がもらえたりします。まぁ、思いついたときには最高と思えたアイディアが、実際に作ってみると思ったよりつまらなくてがっかりする事もよくあるのですが……(笑)。いつもアイディアを探していて、思いついたらすぐ作る、そんなフットワークの軽さがないと、新しいサービスを作り出すことができないのでは、と最近考えています。

■楽天で起こりつつある変化

 さて、そんなことを感じながら日々仕事をしているわけですが、わたしの所属する楽天開発部ではエンジニアが自分のアイディアを形にすることを支援する「ジャングル」という取り組みがあります。ジャングルの概要は以下のとおりです。

  • 担当のプロジェクトに影響の出ない範囲で自発的に自由なテーマで開発を行うことを推奨する制度(ただし義務ではない)
  • 希望者には社内公開用のサーバ環境が与えられ、社内からフィードバックを得ることができる
  • 「何がでてくるかわからない密林のような環境」にしたい、というところから命名された

 いわゆる20%ルールみたいなものをイメージしていただけると近いと思います。20%ルールは普通の会社ではうまくいかないという話をよく聞きます。楽天ジャングルはやる気のある人を支援するためのもので、義務ではない点がGoogleなどの20%ルールとは違うのですが、プロジェクトが忙しくてなかなかジャングル活動に着手できないというエンジニアが多いという課題があるのが現実で、いろいろ試行錯誤しているところです。

 最近では、やりたいのに時間がないというエンジニアのために、開発合宿を企画し、ものづくりに集中できる時間を提供するということも行っております。第1回はわたしが企画して、10月に1泊2日の日程で実施しました。ちょっとした縁があってあるお寺の施設をお借りできることになったので、お寺で行いました。お寺で合宿というのもあまり聞いたことがないですが、普段の業務と物理的に距離をおいた空間で、静寂の中、適度な緊張感を感じながら集中して開発することができ、大好評の企画でした。この12月に2回目の開発合宿が行われ、早くも年明けに3回目をやるという話が噂されていて、開発合宿は、今後文化として根づいていきそうです。

楽天 開発合宿の様子

 先日行われた弊社主催のイベント、楽天テクノロジーカンファレンス2009では、エンジニアのジャングルワークの成果をライトニングトークやデモブースで発表いたしました。外部のエンジニアにも参加していただいて、お祭りムードでとてももりあがりました。懇親会では来場者の方から「楽天にも面白いエンジニアがいるんだね」と、わたしにとっては最高に嬉しい言葉をいただきました。イベントを通じて、楽天の最近の雰囲気を伝えることができたのではないかと感じております(Ustreamで動画公開しておりますので興味のある方は是非御覧下さい)。

 このように、楽天ではエンジニアの創作活動を支援する仕組みがあり、すこしずつですが、組織の文化にも影響を与えています。ジャングルの次の課題は、サービスをリリースすることです。すでにいくつかのアプリケーションをα版として公開するための検討が始まっております。面白いサービス、新しい価値観を提示するサービスを生みだすべく、エンジニア一同がんばりますのでぜひご期待ください。

■最後に

 長くなりましたので、書きたかったことをまとめますと……

  • 技術の進化が一層はげしくなり、大きな変化がおきつつある今こそ、エンジニアにチャンスがある
  • 思いついたら作る。創造力のあるエンジニアだけが未来をつくることができる(とわたしは思う)
  • 楽天でも、すでに変化が始まっている

 こんな感じでしょうか。

 わたしの個人的な所感ですが、楽天ではこれまで、事業主導のプロジェクトが多く、エンジニアの地道な努力に光があたりにくい状況があったように感じます。しかし近年、エンジニアが技術動向をふまえ、中長期的な競争力をつけるためのプロジェクトをボトムアップ的に提案したり、ジャングルのようなクリエイティビティを支援する取り組みが活発になったりと、エンジニアの存在感がどんどん増しており、やる気のあるエンジニアには働きやすい環境ができつつあります。

 一緒に世界を目指す仲間を募集しておりますので、もし興味のある方がいらしたら是非話を聞きに来ていただけたらと思います。

 最後はちょっと宣伝ぽくなってしまいました……(笑)。それでは、またどこかでお会いしましょう。

Comment(0)

コメント

コメントを投稿する