世界的な開発ネットワークを構築、英会話でのやり取りでは工夫も
――村井さんが所属するLOBは、アドテクノロジー企業としてアドシステム(広告プラットフォーム)を開発されてきましたが、買収により昨年9月、楽天の子会社になりました。現在はどのような組織・体制の中で開発を進めていますか。
現在、楽天本体とRakuten Marketing、そしてLOBの3社で楽天のアドシステムを開発しています。その中で私たちのチームは、主にインフラ開発や、データ分析基盤の開発を担当しています。担当業務は開発、運用、アーキテクト(設計)、データエンジニアリング(データ分析基盤の開発)、そしてデータベース管理(DBA)まで多岐にわたります。
また、海外にも開発拠点があり、Rakuten MarketingとLOBが各拠点とやり取りしています。私が今関係しているのは、米国ソルトレイクシティ(ユタ州)と同サンマテオ (カリフォルニア州)、フランスのパリですね。この他に、ミーティングのみ参加する相手としては、シンガポールやインド、米国のシアトル、ニューヨーク、シカゴ、イギリスのブライトンなどがあります。これらの拠点を統括するマネジメントは日本国内にあって、私もそのスタッフの一員という位置付けです。
――海外拠点とのミーティングはどうされていますか。世界各国の時差を考慮しなければなりません。
そこはお互いに時差を見ながら、合わせるようにしています。米国とミーティングする際は、日本時間で朝8時からが多いです。フランスだと日本との時差が7~8時間なので、夕方から夜にかけてが多いですね。時差が1時間のシンガポールや3.5時間のインドなどとは、ほぼオンタイムでやりとりできます。
――楽天さんですし、コミュニケーションには英語を使うのだと思いますが、村井さんはご自身の英語力アップなどに、何か特別な努力や工夫をされていますか。
私も旅行で困らない程度には話せたのですが、ビジネスで使うようになったのは当社に入社した2018年2月からで、まだまだ勉強中です。そこで海外のカンファレンス動画をYouTubeで見たり、ポッドキャストを聴いたりして勉強しています。また、ミドルウェアやクラウドサービスなどの公式ドキュメントを英語で読むようにしています。
それでもミーティングのときに英語のネイティブスピーカーが5人くらいで本気でディスカッションを始めると、もうついていけません。会議の終わりに「要点だけもう一度確認させて」と頼みます。そうして会議が終わったときに、認識の相違がないように心がけています。また、細かい部分に関しても、後日サマリーを送り合って相違がないようにしています。
――開発環境についても、少しうかがいたいと思います。
大きく「ソースコード管理=GitHub」、「コミュニケーション=Slack」が、開発の2本柱になっています。特にコミュニケーションは9割がSlackです。他はMicrosoft Teamsをよく使っています。
その他の細かな環境としては、インフラにGCP(Google Cloud Platform)、コンテナプラットフォームは kubernetes、CIツールにCircleCIなどを使っています。
――開発手法はアジャイルですか。
開発はアジャイル的にやっていますが、要件出しなどはウォーターフォール的なアプローチが多いですね。楽天本体が大規模なサービスを多く運営しているので、土台の部分はしっかりと作っておく必要があるからです。あとは開発内容に合わせてケースバイケースです。
インフラ開発は、基本的にアジャイルです。インフラ定義にはTerraform、構成管理ツールはAnsible。あとKubernetesのYAML管理の効率化には、Kustomizeを使っています。