1
/
5

エンジニアリングによる顧客価値を追求するスイッチメディアの開発スタイル

株式会社スイッチメディアが開発、提供している唯一無二とも呼べる様々なサービスやプロダクトはどの様に生まれているのか。本記事では、2022年6月にリリースされた新プロダクト「TVAL(https://www.switch-m.com/service/tval)」について、CTOの高橋からTVALに関する設計思想や開発の裏側について伺いました。

執行役員CTO 兼 プロダクト開発部 部長 高橋 明生
武蔵工業大学(現東京都市大学)大学院修了。大学院在学中、IPA未踏スーパークリエータに認定。学長賞受賞。2006年に株式会社日立製作所中央研究所に入所し、組込み機器向け基本ソフトウェアの研究開発に従事。株式会社豆蔵にて研究開発ドメインのシステム構想・開発支援を経験後、SaaSスタートアップのCTOとして技術戦略策定や組織立ち上げなどを遂行。2020年当社入社。

IPA未踏エンジニアのCTOが思う「スイッチメディアで働く」面白さ | 株式会社スイッチメディア
今回のインタビューでは執行役員CTO 兼 プロダクト開発部 部長として開発組織を牽引する高橋さんに、スイッチメディアの魅力やここで働く面白さについて語ってもらいました。 執行役員CTO 兼 プロダクト開発部 部長 高橋 明生 ...
https://www.wantedly.com/companies/switch-m/post_articles/422817

新規実装に舵を切ったのは「次世代のテレビ視聴データサービス」のため

今回TVALに関するお話をさせていただく前に、当社が保有する2つのプロダクトの特徴についてお話させていただきます。

まずはSMART(https://www.switch-m.com/service/smart)についてです。SMARTは「テレビCMの視聴データをほぼリアルタイムで、かつWEB上から簡単に分析できるサービス」として、みなさんがCMでよく見る大手メーカーやインターネット企業、そして大手広告代理店まで多くの業界トップ企業でも活用していただいているプロダクトです。これに対し、TVALは効果の分析だけにとどまらず、より効率的に潜在顧客に向けてテレビCMを届けられるよう、戦略的にテレビCMの出稿量をコントロールしたり、コストパフォーマンスが高められるようにしたプロダクトとなっています。

機能面だけ見ればSMARTやTVALはそれぞれ完全に独立したものではなく、テレビCMの視聴データを根幹としたプロダクトであることは変わりません。事実、TVALが担う役割は当初、SMARTの機能拡張によって実装される予定でした。しかし、結果的にはSMARTの機能拡張で済ませるのではなく、ゼロからコードを書き上げることを選択するという決断を下すことになります。そして、後から振り返っても正しい判断だったように思います。

新規開発に踏み切った理由は様々ありましたが、大きかったのは拡張性やメンテナンス性への課題です。SMARTの中核部分は、会社規模がずっと小さかった頃に外部委託して開発しており、次の10年のサービスを支えることは困難だろうと。関東・関西の10,000人から全国25,000人に拡大させたデータ量や、テレビ広告の革新にあわせた新しい顧客要求に応えていくためには、システム設計をゼロから仕切り直すべきだという結論に至りました。もしスイッチメディアが業績拡大ばかりを優先し、エンジニアチームの事情を考慮しない組織であれば、このような決定は難しかったでしょう。経営陣やビジネスサイドとエンジニアとの距離感が近いからこそ、エンジニアリング観点でもよりよい判断ができたと思います。

Kotlin 採用の決め手は、現場から出た「Kotlinを使いたい」の声

TVALの開発にあたり、アーキテクチャなどはSMARTから着想を得たものが多くあった一方で、開発言語やライブラリについては本当にまっさらな状態から検討に入りました。

その中で私達が選んだのはKotlinです。Kotlinが主要な候補になった一番の決め手は、エンジニアとして触ってみたい言語かどうかという技術的な好奇心による部分かもしれません。事実、Kotlinを使いたいという声を最初にあげてきたのは現場のエンジニアから。「こんなライブラリが便利そうだ」といった具体的な提案もあり、そこにCTOとして乗っかって決めた、というのが正直なところです。

技術的にも、今回の開発を成功させるには、習熟しやすく、バグが出にくく、拡張性・保守性に優れた言語が必須だと考えていました。Kotlin は、Android の標準言語として手厚いサポートがあること、Javaの膨大な資産を活用できること、そして最近のトレンドを取り入れた言語仕様が魅力です。システム記述言語の系統なので、性能チューニングなどがやりやすいところもいいですね。

それまでKotlinを使ったことがあるエンジニアはゼロだったのですが、とてもとっつきやすく、各々がすんなりとKotlin開発に馴染んでいましたね。特段に社内で勉強会などを実施することもなかったです。エンジニア発で開発言語を選んだことは、ポジティブな結果を生んでいると思います。

TVALは、テレビ広告の重要な基礎指標である視聴率を扱いますから、安定性や信頼性が非常に重要です。一方で、これからの事業や業界の変革に追従できるだけの伸びしろをもたせなくてはいけません。だからこそ、単純に「枯れた技術」を選ぶのではなく、次のステージに挑戦しやすいプロダクトとしての技術選定を行いました。

また、ソフトウエア設計としてはDDD(ドメイン駆動設計)を取り入れたのですが、こちらは手探りに近い形で進めることになりましたね。「ドメインモデル」が何を指すのか、その上でどのようなアーキテクチャにしていくかといったことは私やアーキテクトが大枠を描き、コードの品質を相互レビューで高め、コードの保守・改修がしやすいような仕組み化を進めました。私自身も時にはリファクタリングに参加するなどして、理想と現場感に乖離が生まれないように意識しつつ、チーム全体にDDDとはなにか?を徐々に浸透させていくように意識しました。DDDは失敗例も割と耳にしますが、今回の開発では、もし導入していなかったら相当危機的な状況になっていたと思います。設計は大変でしたけど、見返りも大きかったですね。

今回は基盤中心ということでサーバサイドについてお話ししていますが、フロントエンドのほうではVue.jsとTypeScriptを採用しています。これも、型を利用してラクに信頼性を担保することが必要という、同じ発想からの選定になりました。

リアルタイム、ビッグデータ、組み込み…技術的な挑戦がスイッチメディアにはあふれている

TVALというプロダクトは、非常にユニークな存在です。テレビCMを閲覧しているユーザー情報を詳細に取得し、そこから得られる情報をもとに効率的なCM出稿を企画し、その結果ユーザーがどのような購買行動をとったかまでトレースできます。このためには、SaaSやビッグデータ、デバイスといった技術要素が連携する必要があり、エンジニアリングの観点から言っても非常にユニークなプロダクトだと言えます。

例えばTVALは特定の企業や団体向けに提供されるSaaS型プロダクトですが、私達のプロダクトについて類似するサービスはほとんどありません。自分たちでその答えを探す必要があり、企画から実装まで、常にものづくりの感覚がそばにあります。

データ周りについても同様ですね。私達が日々収集しているデータはとても得難いものばかりで、これらを収集するために使用しているデバイスもまた、R&D的な要素込みで自分たちでゼロから作り上げているものになります。データ収集からSaaS提供まで自社プロダクトというのは、自由度の高さの点ですごくメリットがあります。

例えば、私達が収集しているデータをもとに、近い将来テレビCMにもよりリアルタイム性のあるダイナミックプライシングが実現できるかもしれませんし、テレビに限らず動画のデータも扱うといった未来もあるかもしれません。こうした可能性も私達が一次情報を収集しているからこそで、幅広い可能性を視野に入れることができるわけです。

一言で「エンジニアリング」と言っても、スイッチメディアにはWebアプリやビッグデータ、デバイスといった技術領域が広がっており、それぞれの領域に気軽に手を伸ばしていけることは、当社ならではの魅力です。インフラ領域に強いエンジニアが組み込み方面でスキルを伸ばしていく、なんて働き方も当社ならばきっとできるでしょう。また、ビジネスサイドでなくとも、エンジニアの視点に立って「こんな改善はお客様に喜んでもらえるのでは?」といった提案も大歓迎です。エンジニアリングの知見を生かしてプロダクトサイドにキャリアチェンジするといったことも、当社ならばきっと実現することができます。

分からない事を分からないままにしたくない。そんな人に向いているエンジニア主体の会社

スイッチメディアでは現在、一緒に働けるエンジニアを探しています。どんな人が欲しいのかということは日々考えているのですが、いつも頭に浮かぶのは「積極的に首を突っ込める人」です。自分が得意とする領域、専門分野は持ちつつも、それ以外の業務についても興味を持って話を聞いたり、その道のプロフェッショナルと一緒に悩んだりすることが好きな人にとっては、扱うテクノロジーが幅広くあり、かつ他に成功事例がないスイッチメディアのプロダクトはとても歯ごたえがあるものになるでしょう。

そうしたこともあって、かつては求人広告もフロントエンドとバックエンドを分けて募集していたのですが、1つにまとめてWebエンジニアという形にしています。これは「フロントエンドとバックエンド、両方に精通している人が欲しい」ということではありません。私達が重視しているのは「フロントエンドもバックエンドも携われるようになりたい」という意思の部分です。

技術として、業務として未経験な部分は入社後に意欲があればいくらでもキャッチアップできる環境があるからこそ、まずは意欲を重視したい。一人でいろんな役割をこなせるようになれば、スイッチメディアという会社の看板によらず、いろんなことに挑戦できるようになるはずです。

テレビ広告や視聴率にいきなり詳しい人なんてなかなかいませんし、私達も最初から求めていません。大切なのは、分からないことを分からないままで放置することを気持ち悪いと感じられる方。そして目の前に現れる、まだ見ぬ技術的な課題に対して「面白い」と感じられる方です。

もしあなたが組織的な理由で、あるいは立場的な事情で、自分がやりたいことに100%挑戦しきれていないのならば、きっとスイッチメディアはそのモヤモヤをぶつけるに値するチームだと思います。少しでも興味を持っていただけたのであれば、ぜひ一度カジュアルにお話するところから始めさせてください。あなたからのエントリーを楽しみにしています。

株式会社スイッチメディア's job postings
2 Likes
2 Likes

Weekly ranking

Show other rankings