技術・デザイン

プロダクト開発のためにプログラミングの手をとめてみた
~ベトナムから来たエンジニアが経験したアドテクプロダクトを作るまでの道のり~

Profile

  • Nguyen Hong Phuc (グエン ホン フック)
    アドテク本部 ProFit-X事業部
    ベトナムのハノイ工科大学出身、2015に新卒で入社以来、SSPである「CA ProFit-X」の開発を担当。Scalaで広告の配信、計測まわり、TypeScriptで動画配信SDKの開発 と AWSを中心としたインフラまわりの構築、運用をしている。

Windows95とPascalが少年の心をゆさぶった

― エンジニアを目指そうと思ったきっかけを教えてください

8歳の頃。ある日、父が Windows95 搭載のパソコンを買ってきました。

と言っても、父は新しいテクノロジーに興味はあるけれど、パソコンを触るのは初めてだったので、僕たちはそのパソコンをどう使ったら良いかわかりませんでした。

1997年当時のベトナムは、パソコンが普及し始めたぐらいの体感値で、周りに聞ける人もいなかったので、父は僕を連れてパソコンの教室に通い始めました。先生は僕たちに MS-DOSコマンド を教えてくれたので、父と一緒に dir や list などの DOSコマンド を練習しました。

Windows95 ではゲームもできたので「Warcraft II」や「Diablo」でも遊びました。父の隣でパソコンを触っているうちに「コンピュータって面白いなぁ。Diablo みたいなみんなが楽しめるソフトをいつか自分でも作ってみたいなぁ」と思うようになり、次第にプログラミングを学ぶようになりました。

その後、10歳の時に当時ベトナムで流行っていた Pascal でプログラミングを始めました。1999年当時のベトナムで流行っていたんです。Pascal はシンプルな言語で、10歳の子どもでも勉強しやすかったことをよく覚えています。

内蔵音源を使って15秒くらいの音楽を鳴らすという簡単なプログラムを作ったのですが初めて音が鳴った時は本当に感動しました。がんばってプログラミングしてみた結果、誰かが作ったゲームの音楽ではなくて、自分だけの音楽が鳴ったのがとにかく嬉しかったんです。

2000年を過ぎると、ベトナムでもパソコンが一気に広がっていった風潮を感じました。例えば、小学校の頃はクラスでパソコンを触っている子は誰もいなかったのですが、中学に入った頃はみんなパソコンに夢中でいろんな話題で盛り上がっていました。

Windows98が出たことで、僕の周りの雰囲気もいっぺんに変わったので「世の中を変えるのはソフトウェアだ」と感じていました。

その頃から「多くの人に使われるソフトウェアを作りたい」という思いを抱くようになり、気づけばソフトウェアエンジニアは将来の夢になっていました。

大学はハノイ工科大学のコンピューターサイエンス系の学部に進学し、小規模な CRMソフトウェア を受託開発するインターンに参加しました。

ベトナムでは受託開発の仕事が多く、要件定義された仕様書を納期までにちゃんと作って納品することが大事でした。ただ、何のためにソフトウェアを作るのかまでは理解していませんでした。これは、日本で働きはじめてわかることなのですが。

ー なぜ日本で働くことになったのですか?

卒業後の進路は、4人くらいの仲間と起業することを考えていました。当時、ベトナムでは交通状況を確認する手段がラジオしかなかったので、インターネットをつかって交通状況をモバイルで知ることができるサービスを開発していました。

起業するにあたって、投資してくれるベンチャーキャピタルを探すために、ベトナム国内の色々な会社にプレゼンをしに行きました。その中に、サイバーエージェント子会社のサイバーエージェント・ベンチャーズ( 現 CyberAgent Capital )がありました。

サイバーエージェント・ベンチャーズの担当の方は親切に、資金調達の方法だけでなく、良いプロダクトのあり方や流通のさせかた、プロダクト設計の考え方なども教えてくれました。

最終的に、サイバーエージェント・ベンチャーズも含めて出資を相談した会社からは資金調達できず、僕たちの起業は実現することはありませんでした。

当時、サイバーエージェント・ベンチャーズの担当者の「うーん・・・まだまだだなぁ」という言葉がなぜか印象的でした。

でもこれがきっかけでサイバーエージェントにも興味を持つようになり、サイバーエージェント主催の「スマートフォンアプリチャレンジ」というベトナム国内のコンテストに参加しました。

コンテストにはサイバーエージェントの社員が来ていたので、社内でスタートアップ文化が活発なことやチャレンジできる環境について教えてもらいました。また、ハノイ工科大学の卒業生で、サイバーエージェントで働いていた先輩にも色々と話を聞くことができました。この会社なら「多くの人に使われるソフトウェアを作りたい」という子供の頃からの夢もかなえられると思ったので就職を決めました。

※ ハノイ工科大学内で開催された スマートフォンアプリチャレンジ での登壇写真
※ ハノイ工科大学内で開催されたスマートフォンアプリチャレンジでの登壇写真

ソフトウェア開発についていけないのは言葉の壁?

サイバーエージェントに入社して、配属先はアドテクスタジオを選びました。大学でハイパフォーマンス・コンピューティングの研究室に在籍していて、OpenStack と MySQL を使ったデータベースサービスについての論文を書いたりしていたので、月間数千億ものリクエストがあるアドテクスタジオのプロダクトにチャレンジしてみたいと思いました。

― ベトナムで得た開発経験はどう活かせましたか?

いえ、全然うまくいきませんでした(笑)。

配属先はアドテクスタジオの「CA ProFit-X」だったのですが、システムの話どころか仕事の話にまったくついていけませんでした。ベトナムで受託開発の経験があったはずなのに。

最初は「日本語って難しいな」と思いました。会社のサポートで日本語能力試験(JLPT)のN2の資格をもっていたにも関わらず、言葉でチームメイトと仕事のコミュニケーションがとれないんです。思っていることがうまく話せないし、周りの人達の言葉もよく理解できない状態でした。

この時期は本当に苦しかったです。プログラミングに言葉の壁はありませんが、思っていることがソースコードでうまく表現できないし、何を作っても周りの人たちが求めているものと大きくズレているみたいな反応でした。

チーム内の開発ミーティングがあるのですが、僕だけみんなとコミュニケーションがうまくとれません。日本語をもっと勉強しないといけないのではという焦りも募っていきました。

ビジネス理解と課題設定が、崖を超えるきっかけになった

ー 日本語での開発が不慣れだったことが理由ですか?

実は、日本語が不慣れなことが問題ではなかったんです。仮にあの時、英語で会話していたとしても伝わらなかったと思います。きっとベトナム語で会話していても同じ状況だったはずです。

僕に足りなかったのはアドテクノロジーのビジネスモデルやプロダクトの仕様を理解できていなかったことだったのです。

ベトナムで僕が経験したのは受託開発がメインで、クライアントから言われた要件を仕様書のとおりに開発するのが当たり前だと思っていました。

その一方、サイバーエージェントでは、課題を自分で見つけて仮説を立て、試行錯誤しながらベストソリューションに近づけていくのが技術カルチャーです。僕は、アドテクスタジオにいながら、いつの間にか正しい仕様やドキュメントが、他の人からもらえるのを待っていたんですね。

ー そこからどんな行動に移しましたか?

そのことに気づいて危機感を強く感じました。アドテクノロジーの知識や、インターネット広告のビジネスモデルを理解しないままでは、アドテクのプロダクトを作ることなんてできないと思ったので、プログラミングする手をいったん止めて、インターネット広告について徹底的に勉強する期間をつくりました。

英語や日本語の資料を集めたり、アドテクノロジーの書籍もたくさん読みました。周囲の人も親身になってくれて、広告の仕様やメリット・デメリットなど、プロダクト開発に必要なあらゆることを教えてくれました。

ー 当時をふりかえってみてどう思いますか?

この時期、苦しいこともありましたが、おかげで僕はすごく成長できたと思っています。

ふりかえってみて気づいたのですが、学生の時にファウンディングに失敗したのも、技術のことばかりに目が向いていて、マーケットの需要やユーザーのニーズなどをわかっていなかったと思います。

あの時、サイバーエージェント・ベンチャーズの人が、プロダクトのありかたやマーケットの需要などについて親切に教えてくれたのもきっと、それを気づかせてくれようとしてくれたのかもしれません。「(ファンディングは)まだまだですね。」というお断りの言葉には、僕たちの狭い視野への示唆が含まれていたのかもしれないですね。

自分たちが作ったものをどうやって売るかをみんなで考えるチーム

― その後、働き方やエンジニアリングの姿勢はどう変わっていきましたか?

多くのアドテクスタジオのエンジニアと同じように、ソフトウェアを開発するからにはオーナーシップを持った上で取組みたいという姿勢になりました。

技術的にもビジネス的にも、エンジニアが胸を張って「これはユーザーに必要だ」と思える機能を提案したいですし、「自分の意志」ではなく「チームの意思」として一緒にプロダクトを作りたいと思っています。それを自然と考えられるようになりました。

また「言われたものをその通りに開発する」という意識から変わったことで、子どもの頃に思っていた「多くの人に使ってもらうソフトウェアを作りたい」とか、起業しようとしていた時に抱いていた「世の中の役に立つサービスを開発してチャレンジしたい」という気持ちがまた生まれてきました。

アドテクスタジオを見渡してみると、毎日のように新しいことにチャレンジする組織なので、僕にすごくマッチした環境だと感じます。

例えば、毎月のように発表される新しい広告プロダクトや、ロボットとAIを組み合わせた実証実験、クリエイティブの自動生成。デジタルマーケティング領域は競争が激しい環境ですが、このアドテクスタジオでは毎日多くの事を学べます。

ー 所属している「ProFit-X」ではどんな実績が作れましたか?

ProFit-X」のチームが抱えていた課題に注目しました。開発メンバーが少人数で構成されていたので、機能開発の他にも、調査や分析やメンテナンスなどの作業にも時間がとられていました。また全ての情報がドキュメント化されているわけではないので、明文化されていない情報を調べるのに時間がかかったり、逆にメンテナンス用のドキュメントを書くことにも時間がかかっていました。

そこで、少ない開発メンバーでもプロダクト運用がスムーズにまわるように、Infrastructure as Codeを採用して、インフラのメンテナンスを効率化しました。

また、これによってドキュメントレスなシステム運用も実現できました。

Infrastructure as Code(※1)とは、簡単に言えばインフラの構築・管理を全てコードで運用できるようにすることです。Terraform(※2)がわかりやすい例ですね。これを実現するために、AWS CloudFormationを導入することで、インフラエンジニアでなくてもサーバーの管理ができるようになりました。設定は全てコードで表現されているのでドキュメントを書いたり探したりする必要もなくなり、チームのパフォーマンスが上がりました。

※1:Infrastructure as Codeの留意点とメリット ~サーバー更改プロジェクトへの適用で得られた知見・実感
※2:オープンソースの運用管理・運用自動化/Terraformとは


また、広告の宣伝予算のデジタルシフト化に向けて、「CA ProFit-X」では動画広告を配信することが決まりました。その時僕は、機能の要望、仕組みを調査しながら、バックエンドやフロントエンドの開発を担当しました。現在、事業の中心が動画広告配信になっています。

そして、直近では「PFX LIVE」という機能を出すことができました。ライブ配信するユーザーとそれを視聴するユーザー双方の利便性を最優先にチームで考えて、開発した広告配信プロダクトです。

※3:ライブ配信サービスのマネタイズに特化したSSP「PFX LIVE」の提供開始

ー 子どもの頃に描いた「多くの人に使われるソフトウェアを作りたい」というビジョンを、今はどう感じていますか?

エンジニアリングを仕事にして気づいたのは、ただ多くの人に使われるだけではなく、多くの人に「買ってもらえるような」ソフトウェアを作りたいという気持ちが強いことです。

アドテクスタジオでは、事業責任者もエンジニアもデザイナーも職種を問わず「自分たちのプロダクトを売るために、自分たちにあと何ができるだろうか」を議論します。プロダクトを開発する自分たちが納得した上で、機能の追加や改善をしています。

僕は「ProFit-X」の仲間をすごく大切にしていますし、ソフトウェア開発の姿勢やあり方を導いてくれたアドテクスタジオのみんなにすごく感謝しています。

アドテクスタジオは、チャレンジと一緒に働きたいと思える仲間に恵まれているので、僕にとって様々な意味で条件が合う職場なのかなと思っています。

オフィシャルSNSアカウントで更新情報発信中
Page Top