検索
連載
Go AbekawaのGo Global!〜Li Rutong編(後):

「エンジニアの本当の技量が問われる、だから楽しい」――コーディングを楽しむCTOがエンジニアに伝えたい“焼脳”とは (1/2)

コンテンツ配信を担う「U-NEXT」でCTOを務めるLi Rutong(リー・ルートン)氏。一番大切な仕事は「自分がいらないシステムを作ること」と語るルートン氏がエンジニアに伝えたい“焼脳”とは何か。

PC用表示 関連情報
Share
Tweet
LINE
Hatena

 世界で活躍するエンジニアの先輩たちにお話を伺う「Go Global!」シリーズ。前回に引き続き、「U-NEXT」でCTO(最高技術責任者)を務めるLi Rutong(リー・ルートン)氏にご登場いただく。一番大切な仕事は「自分がいらないシステムを作ること」と語る同氏がエンジニアに伝えたいこととは。

今日は「6時間も」コーディングできる!

阿部川“Go”久広(以降、阿部川) Rutongさんの典型的な1日のスケジュールを教えていただけますか。会議が多いのでしょうか。あるいはご自身で何か開発したり、プログラミングしたりする方が多いのでしょうか。

ルートン氏 いろいろです。会議が多い日もあれば「今日は6時間ずっとコーディングができる」という日もあります。開発メンバーは全員コードを書くことにしています。もちろん私自身も書きます。

阿部川 一般的な印象として、役職に付くと会議が増え、コーディングの時間が少なくなると思いますが、それでも続けている理由は何でしょうか。

ルートン氏 開発ができないと、皆が考えていることが分からなくなってしまうんです。「アーキテクチャだけデザインして実装は他の人がやる」という方法も悪くはないのですが、設計時点でどんなに完璧に見えても、いざ実装段階になるとさまざまな問題が出てくるものです。実装の工程から離れると、そういった問題が分からなくなる。これは実際やってみて分かったことです。ですからCTOという立場であっても、多くの分野にわたって少しずつコードを書かないといけない、と思っています。

 画像
U-NEXT」のLi Rutong(リー・ルートン)氏

阿部川 CTOの立場で今のサービスをこれからどう変えていこうと思っていらっしゃいますか。

ルートン氏 具体的なサービス開発ではなく、システムの構造を変えて、もっと短い時間でサービス提供できる仕組みにしようとしています。これはわれわれが抱えている課題の一つである「新しいメンバーが入ってきたときのラーニングカーブが長過ぎる」を解決するためです。サービスが大きくなるにつれてシステムが複雑になり、とても吸収力の高い人でも3カ月や半年はかかってしまう状態です。「今のシステムの作り方に依存すると、これ以上チームが大きくなれない」と言い換えてもいい。もちろんメンバーを追加すれば、アウトプットは高くなるのですが、その効率が非常に悪い。

阿部川 なるほど、今後も成長し続けるためにシステムの作り方を変えるということですね。

ルートン氏 それだけではなく、サービスの品質を上げるためでもあります。現場や経営層は、そのまま顧客に提供できるような素晴らしいアイデアやプランを持っていますが、今はサービスの実装が追い付いていません。そのため、現在のモノリシックなシステムをもっと分割して、全体がより疎結合しているシステムにし、さまざまな分野が入りやすくする。そうすることでシステムのアップグレードが加速し、顧客に対して、これまで以上のサービスを提供できると思います。

エンジニアの本当の技量が問われる、だから楽しい

阿部川 具体的にどうやって変えるのですか。

ルートン氏 まずはこの問題意識を全員で共有することです。なぜ重要か、そしてそれに手を付けないで放置しておくと、どのようなことになるかを周知することです。その上で提案をしていきます。エンジニアはさまざまな考えを持っていますから、それをまとめたり、私から提案を出したり、そして皆に却下されたり(笑)。その繰り返しですかね。

阿部川 どのくらいの期間で変えようとなさっていらっしゃいますか。

ルートン氏 このプロジェクトが始まったのが約4カ月前ですから、あと1年くらいはかかると思います。われわれのサービスの特徴ですが、メンテナンスのためにシステムを止めるようなことはしません。何も止めずに変化を加えます。それが会社のポリシーです。

 例えば新しいものを、全部ドカンと古いものと入れ替えるのではなく、並行してプロジェクトを進め、物事を少しずつ変化させます。そのためにはコンテナ技術を使います。コンテナの塊を増やし、その組み合わせで複雑な事象に対応します。

阿部川 アイデアとして説明するのはたやすいかもしれませんが、ではどうやってそのパッケージ(コンテナの塊)を作るのか、となると、なかなか一筋縄ではいきませんね。

ルートン氏 そうですね、知識のレベルではなく、メタ知識のレベルになってしまいます。みなのメタ知識が増えないと、うまくいきません。エンジニアとしての本当の技量が問われるところかもしれません。ただこれが分かるようになると、一気に楽しくなりますよ(笑)。

画像
阿部川“Go”久広(右)

阿部川 ただ単に「コードが書けます」「言語を知っています」というレベルより上にいかないといけないということですね。ハードウェアなども同じですよね。マシンをどれだけ並列につないでも、ある程度までいくと処理速度はかえって遅くなる。

ルートン氏 はい、似ていると思います。これらは教科書に書かれていないことなので、やってみないと分かりません。

       | 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

ページトップに戻る