技術・デザイン

インターネットテレビ局「AbemaTV」の開発スタンダードは「ミッションベースのエンジニアリング」

Developer Experts 五藤佑典

サイバーエージェントには、特定の分野に抜きん出た知識とスキルを持ち、その領域の第一人者として実績を上げているエンジニアに、新たな活躍の場を提供するとともに、各専門領域において、その分野の発展のための貢献・サイバーエージェントグループへ還元することを目指すための「Developer Experts制度」が存在します。現在は5名のエンジニアがDeveloper Expertsに任命されており、FEATUReSで順にご紹介していきます。
今日は、動画技術およびプロダクトデザインのDeveloper Expertsとして活動する「AbemaTV」のエンジニア五藤佑典のインタビューをお届けします。

Profile

  • 五藤 佑典 (ゴトウ ユウスケ)
    米国カリフォルニア州立大学サンバナディーノ校でグラフィックデザインを学んだ後、大手 IT 会社にてマーケティングとデザイン業務に従事。現職でエンジニアに転向。現在は AbemaTV 開発本部にてプロダクトのデザインとエンジニアリングに広く携わる傍ら、動画技術エバンジェリストとして国内外で動画事業における技術調査を行っている。著書に『Atomic Design ~堅牢で使いやすいUIを効率良く設計する』がある。

ミッションベースでエンジニアリングすることの大切さ

ー エンジニアとして、動画技術の分野に参入したのはいつ頃からですか?

2012年にサイバーエージェントに中途入社し、社歴の前半はWebフロントエンドエンジニアとして「Ameba Ownd(アメーバオウンド )」など様々なサービスに参加しました。2015年にインターネットテレビ局「AbemaTV」の立ち上げメンバーとして、Web版の開発に携わりました。

今でこそ会社から「動画分野でのDeveloper Experts」というミッションを与えられていますが、動画技術の分野に参入したのは「AbemaTV」の開発に携わってからです。

きっかけはWeb版を開発する過程で直面した、動画再生の技術的な課題です。

例えば、ある特定の視聴環境下で、動画が再生されなかったケースに対応する際、ブラウザの挙動とソースコードを調べるといった、一般的なWeb開発における解決手法だけでは原因が特定できないことが多々ありました。

ストリーミングのプロトコルの仕様1つとっても、技術的な背景と知識を理解していないと、最適な実装に至らないケースがあります。ドキュメントには「MPEG-DASH」という動画配信ストリーム規格に対応していると記載されているけれど、特定の環境下では実装方法を工夫しないと動画配信されないケースもありました。

「AbemaTV」という動画事業の中で、エンジニアとしてプロダクトの価値を最大化するために何ができるか?を考えるきっかけになりましたし「動画」という領域に向き合う必要性を強く感じたのも覚えています。

そして「動画」という歴史ある技術分野だからこそ、もっと広い視野でエンジニアリングすることの大切さを感じました。

AbemaTV開発本部ではそういった広い視野を「ミッションベースでエンジニアリングする」と呼んでいます。

ー 「ミッションベース」とは?

これまで、iOSやAndroidやサーバーサイドなど技術のプラットフォームがあり、その領域の技術を伸ばしていく流れがありました。それとは別に、プロダクトの課題に対して適切な技術をどう選択して解決いくのかという「ミッションベースでエンジニアリングする」流れも生まれてきています。

例えば「動画に強いエンジニアになる」を目指すとして、動画の技術領域だけでも膨大な背景と文脈があります。CODECなどの動画の圧縮・伸長の仕組みも知っておく必要がありますし、ストリーミングのことなら通信の仕組みを知らなければいけない。DRMなどデジタルコンテンツの保護技術についても知っておく必要があります。

動画ひとつとっても、知っておくべき技術知識は膨大にある中で、全てを理解して実装できるようになるには、途方もない時間と経験が必要になります。

そこで「ミッションベースでエンジニアリングする」アプローチをしてみると、「ユーザーに高品質なストリーミング映像を届ける」といったプロダクトの課題から考えます。エンジニアによっては、様々な端末や通信環境にあわせて動画を再生させるためのアダプティブ・ビットレート(ABR)やそれにまつわるアルゴリズムに目が向くかもしれません。

「ミッションベースでエンジニアリング」は、プロダクトやユーザーにとって必要な技術はどれかを取捨選択し、技術で事業にインパクトを与えることを目的とします。

ー いま感じている「AbemaTV」のプロダクト課題はなんですか?

私は、放送に関する世界最大規模のコンベンション「NAB Show」を始めとして、様々な海外カンファレンスに参加して、そこで得た知見を社内に還元するようにしています。

世界では、スポーツイベントの生配信中に視聴者からのベットを受け付けるなどインタラクション性が求められるような要件が増え、リアルタイムな配信における低遅延をどこまで実現できるかが議論されています。

このように海外の様々な事業がとりくんでいることを参考にしたり情報交換しながら、現地でエンジニアリングのネットワークを広げる活動をしています。そこで得た知見を社内に還元していくのが、Developer Expertsとしての私の役割だと思っています。

更に、「AbemaTV」がマスメディアを目指す過程で、どんな状況下でも番組を観れるようにするための、通信と配信における技術課題などもよく議論しています。

例えば、自然災害や大規模な通信機器障害が発生し、特定地域のインターネット回線が困難な状況に陥ったとしても、ニュース番組を継続して配信できるような盤石な仕組みなどです。

※ 社内報より
※ 社内報より

エンジニアとデザイナーとエバンジェリスト。3つの視点。

ー エンジニアとしてどんな未来を目指していますか?

私は、転職する前はデザイナーとして仕事をしていて、サイバーエージェントにはクリエイターとして入社しています。「AbemaTV」ではUI設計にも携わりましたし、そのプロセスを「Atomic Design ~堅牢で使いやすいUIを効率良く設計する」という書籍に残しました。

人の役に立つものやプロダクトの課題を解決するものをアウトプットするという点では、エンジニアリングもデザインも同じだと思っています。特に、エンジニアリングを突き詰めていく上で、デザインは避けては通れないと個人的には思います。可読性の高いソースコードや、可用性の高いアーキテクチャは、それだけでもよくデザインされたものですし。

実は、職種的なカテゴリーをほとんど意識していなくて「AbemaTV」の事業を成功させるために自分がどうあるべきかを考えるようにしています。

「AbemaTV」が成功するためには3つのアプローチが必要だと思っていて、まず1点目が動画という「事業ドメイン」を正しく理解すること、2点目が AbemaTV というサービス全体の課題を解決するための「エンジニアリング」を磨くこと、3点目が「使いやすいプロダクトデザイン」の進化を積み上げること。

まず1点目の「動画事業のドメイン」のために、世界的な進化やトレンドをDeveloper Expertsとして追いかけ社内外に発信し続けます。

同時に「AbemaTV」をマスメディアにしていくために、事業ドメインに則して価値を最大化するプロダクトデザインとエンジニアリングも深ぼっていきたいと考えています。

ー エンジニアリングやデザインやビジネスなどを異なる分野をカバーできるようになるにはどうしたら良いのでしょうか?

例えば、デザインひとつとっても分野が広すぎて、全部カバーできたら超人なんですよね。

その上、デザイナーもエンジニアリングを知っているほうが良いプロダクトにつながります。それで言うと、自分がデザインしたプロダクトがどんな層にどういう風に使われているかも知っていたほうが良いのでマーケティングの知識も必要になってきます。

でもそれを個人のスキルに求め始めたら、終わりがないですよね。

異なる分野をカバーできる能力を個人に求めるのではなく、異なる分野の専門知識が自然にプロダクトに組み込まれる組織が理想的です。

そのためには制作過程や数字やソースコードがオープンになっている組織であることが前提です。

ー オープンとは?

例えばデザインの制作過程がオープンになっていれば、セールスやマーケターが感じているビジネス的な課題などを議論する機会も増え、それが考慮されたアウトプットになりやすいですよね。

一方、デザイナーも自分たちがデザインしたプロダクトが、ビジネス的にどんな効果をもたらしているかは知りたいですよね。そのためには売上や利用率などのデータが開示されているような、組織の透明性が求められます。

職種を問わず誰もが仕事上で必要な情報にアクセスできる、透明性のある組織を作っていく上で、エンジニアのコードレビュー文化や、インフラをコードで表現する手法などは、属人化やブラックボックス化することの防止になるので、組織デザインの参考にならないかなと考えています。

職種の垣根を超えたエンジニアになるには

「エンジニアやデザイナーといった職種の垣根がなくなる」という言葉が技術役員の長瀬とDMM松本氏の対談でありました。専門性をもったまま、職種の垣根を超えるにはどうしたら良いでしょうか。

数字にコミットすると良いかもしれません。

例えば「プロダクトのKPIを上げるためには何をしたら良いのか?」を考えた時に、エンジニアリングの技術的課題を解決すれば、単純に数字があがるようなことって少ないんです。

なぜならビジネスモデル, デザイン, エンジニアリングの課題が複合的に絡み合った結果、KPIという数字にあらわれているからです。

私がビジネスやデザインの課題に目を向けるのは、そこを見ないとプロダクトが抱える本質的な課題に気づけないからで、エンジニアリングの課題だけを見ていてもKPIをあげられないからです。

数字にコミットして考えられるようになると「このプロダクト課題の解決のために、こういった技術的なアプローチでこのくらいの改善が見込めるのでやらせてください」といった、職種の垣根を一歩超えた提案ができるかもしれません。

あとは「ファクトを知り活用すること」です。

エンジニアであればロギングやログ基盤を開発する機会はあると思います。ログの集計結果を提供するという立場から一歩踏み込んで、集計結果というファクトをもとに、プロダクトの課題解決のために何ができるかを提案できると景色も少し変わってきます。

例えば、ある環境で映像のクオリティーが劣化し、視聴の中断につながっているというファクトがあらわれたとしたら、ビットレートが上がっていないケースに対して、解像度のアルゴリズムを変えるなど、技術的な取捨選択ができたりもします。

エンジニアとしてログを収集し提供するという視点から、ログからファクトに基づくビジネス課題を発見し、技術的なアプローチで課題解決を模索するのでは、プロダクトへの貢献度が大きく変わっていきます。

ー AbemaTV開発本部が目指している組織はどんな集団ですか?

開発本部では「ミッションベースで開発する」という考えが根付いていて、例えば配信技術を担当するエンジニアであれば「特定のプログラミング言語が書ける」とか「サーバーサイド開発経験がある」といったスキルセットベースではないのが特徴的です。

「ユーザーの視聴体験を向上する」というミッションのためには、Goも書くしJavaも書く。低遅延な環境下で配信するためには、動画のチャンクを短くするけれども、スケーラビリティを考慮して、デリバリーの技術を考えたりとかもします。

軸が「プロダクト課題」なので、そこに関するあらゆる技術的課題にソリューションを提供するための技術力が求められますし、場合によってはデザインやチームビルディングといった分野にまで範囲が広がります。

ミッションベースでエンジニアリングする人たちが育っていくと、技術で業績を伸ばせるプロフェッショナル人材が増えていきますよね。

「AbemaTV開発本部」で働くおもしろさはまさにここで、動画事業の数字を伸ばしていくために、どんな技術的なチャレンジでそれが達成できるだろうと、議論しながらプロダクト課題にむきあえる点だと思います。

オフィシャルブログを見る

Page Top