🗼

株式会社東京🗼創業CTOとして学んだ技術との付き合い方

2024/11/05に公開

はじめに

株式会社東京(以下,東京社)はオフィスビルを中心としたエレベーターメディアを運営するスタートアップです.2017年の大学院在学中に大学のクラスメイト(現CEOの羅)とその友人のデザイナー(現CDOの新谷)と共に立ち上げました.

そして2024年,東京社は三菱地所グループの一員となり,さらなる成長を目指して新たな一歩を踏み出しました.まだやるべきことは多く残っていますが,創業CTOとして一つの区切りを迎えることができました.
https://www.nikkei.com/article/DGXZQOUC074SA0X01C24A0000000/

東京社の技術面の歴史を踏まえながら,未来のスタートアップ,特に(学生起業の)創業期におけるCTOの皆様へ向けたアドバイスとして,私がこの7年間で学んだことを記させていただきます.これらの経験が皆様の参考になれば幸いです.

良くも悪くも技術だけで全ては決まらない

巨人の肩に乗れ

2017年の創業初期より,後付けが可能なLTE回線を活用したサイネージシステムの構築に取り組んできました.当時から多くのオフィスビルのサイネージには有線LANが使用されていましたが,エレベーター内のような電波状況が不安定な環境でも無線で安定した配信ができるシステムの実現を目指しました.

私たちは通常スマートフォンアプリの開発に用いられていたmBaaSを,サイネージシステムに採用しました.Firebase(当時まだFirestoreがベータ版)を活用したAndroidアプリとして設計し,すでにモバイル向けに最適化されたオンライン・オフラインの管理機能を利用することで,頻繁に接続状態が変わる環境でも比較的信頼性の高いデータ配信システムを構築しました.

また,エレベーター内に着目したのは,「エレベーターという限定された空間では,メディアの視聴率が高く広告効果も大きい」というCEOの仮説に基づいています.

スタートアップの初期段階では,既存のサービスを柔軟に組み合わせてシステムを構築し,迅速に仮説検証を行うことが極めて有効な手段となり得ます.新しい技術を全て一から開発するのではなく,適切なツールやプラットフォームを活用することで,プロダクトの価値と可能性を早期に検証し,次のステップに進む判断を素早く行うことができるでしょう.

アンチ技術原因論

創業初期から機械学習,最先端の技術や挑戦的なアーキテクチャなどを導入したいと考えることもあるでしょうが,それはサービスが成長し,ユーザー数やエンジニアが増えた段階で初めて投資に見合うものになります.特に,その技術がプロダクトのコア機能ではない場合,複雑なことに時間を費やして資金が尽きる前に,シンプルでも動くシステムを早急に開発し,市場からのフィードバックを得ることが重要です.

私も機械学習を活用した広告の効果測定に大いに興味がありました.しかし,創業当初に真っ先に取り組むべきは,まず動作するシンプルなコンテンツ配信システムを構築することでした

もし特定の技術に興味があってそれにどうしても取り組みたいのだとしたら,それは初期のスタートアップという環境は適していないかもしれません.

成功するプロダクトを作るために機械学習などの高度な技術が必要なわけではありません.むしろ,成功したプロダクトであるがゆえに,機械学習などの高度な技術による最適化が投資に見合う価値を持つ場合も多いです.つまり,高度な技術が先にあるのではなく,成功したプロダクトが先にあり,それをさらに改善する手段として高度な技術が活用されるのです.

原因論的な思考は,既に成功した企業には技術力を示すブランディングとして使われる一方で,挑戦者であるスタートアップにとっては不要なハードルとなりかねません.成功の条件を高度な技術の有無に結びつけることは,スタートアップの可能性を狭め,むしろ挑戦を妨げる要因となる 可能性もあります.

最もいい実装は実装しないこと

さらに,最高のシステムとは実装しないことである場合もあります.創業初期には,技術的な自動化が必ずしも必要でないことも多々あります.たとえば,東京社でも「自社コンテンツ入稿システム」は初期から存在していましたが,「ビルオーナーコンテンツ入稿システム」はまだ整備されていませんでした.そのため,ビルオーナーからの入稿には,ファイルをアップロードするための簡単なUIのみを設け,そのファイルのURLがSlackで通知される仕組みにとどめていました.その後,担当者が手動でデータベースに登録していたのです.この手法を取ったのは,そのシステムが本当に必要かどうかがまだ不確かであったからです.

手作業で対応できるうちは人力で行い,本当に必要になった時点で自動化を導入することで,不要な開発を避け,リソースを効率的に活用できます.実装をあえて先延ばしにすることは,早すぎる最適化を防ぎ,柔軟な対応を可能にするというメリットがあります.

また「この(メガベンチャーの)ブログ記事に載っている社内システムをうちでも作ってみよう」という提案が出ることもよくあることでしょう.しかし,メガベンチャーには多くのエンジニアが在籍しており,その体制でようやく実現できるものが多いのです.作ったシステムには保守や責任が伴い,運用や監視が必要になります.まずはコアとなるサービスや独自の機能に注力し,不要なシステムや機能にリソースを割くべきではありません.特に上場を目指すならば,のちに自前の社内システムの監査用システムをさらに構築するためにエンジニアの増員が求められる可能性すらあります.

技術的なアドバイスを参考にするときは,それが会社としてどの段階のシステムやチームに対するものなのかにも注意が必要です.

それでも技術力を磨き続けないといけない

セレンディピティ

技術力を磨き続けることは,たとえ技術が全てではないとしても,非常に重要です.どんなに困難な時期であっても,技術を学び続ける姿勢が求められます.

2019年末,三菱地所との合弁会社を設立し,新たな挑戦を続けていた頃,日本にもコロナウイルスの影が迫っていました.2020年に入って本格的にロックダウンが始まると,オフィスビルを中心としたエレベーターメディア事業は大きな危機に直面しました.ロックダウンによってオフィスビルへの人の往来が途絶え,事業継続が難しい状況に追い込まれたのです.

この危機を乗り越えるため,東京社ではビデオ通話のSNSアプリ開発に着手しました.まずiPhone向けアプリとしてリリースすることが決まり,サイネージシステムの新規開発は一旦保留とし,iPhoneアプリ開発に本格的に取り組みました.その結果,p2p通信を利用したアプリが完成し,無事にリリースすることができました.

やがて,オフィスに人々が戻り始め,東京社はコロナ禍を乗り越えることができました.そして今年2024年には,その時に得たp2p通信の知識を活かし,無線による画面同期機能を実装しました.この機能により,大規模な工事を行わずに複数のサイネージ画面を同期できるようになったのです.なお,ビデオ通話のSNSアプリ自体は注目されることなくクローズしましたが,その技術は決して無駄にはなりませんでした.

スタートアップには少なからず困難がつきものです.しかし,技術は裏切りません.その技術がいつどこで役に立つのかは予測できませんが,だからこそ,どんなに辛い状況でも腐らず,新しい技術を学び続けることが重要なのです.

課題を渡せ

プロダクトが成長し,エンジニアが増えてくると,実現できることも飛躍的に広がります.何か技術的に解決できそうな課題があった場合に,それを具体的なタスクに分解して渡したくなる場面も多くなりますが,優秀なメンバーには課題をそのまま提示することが重要です.おそらくあなた自身もその課題を自分で解決したくてウズウズすることがあるでしょうが,CTOとしての業務は多義にわたり腰を据えて一つの課題に取り組めない場合もあります.ここは信頼して課題を任せてみてください.メンバーは必ず,想像を超える素晴らしい成果を生み出してくれるはずです.

たとえば,インターン生が国内最大級のAndroidカンファレンス「Droidkaigi 2023」で発表した内容はまさに,彼が主体的に取り組んだからこそ生まれた成果です.
https://prtimes.jp/main/html/rd/p/000000031.000047349.html

私が尊敬する研究室の先輩であり,起業家でもある方がこう語っていました.「コードを書きたい気持ちも分かるが,CTOの本来の役割はコードを書くことではない.開発には波があるが,CTOは新技術や知見を身につけ,他のエンジニアが安定して開発に取り組めるよう,次のフェーズを見据えた準備を怠ってはならない.メンバーに余計な波を生むことなく,リスペクトを持ちつつも冷静に仕事を割り振ることが大切だ」と.

技術の発展に合わせ,自社の課題を技術的に解決可能な形で提示し,その解決を通じて会社を成長させるためには,CTO自身が絶えず学び続けることが不可欠です.技術に対する自身の知識と経験を深め,次の開発を見据えることこそが,エンジニアチームの力を最大限に引き出す原動力となるのです.

技術以上に大切なもの

1にも2にも心理的安全性

色々偉そうに書きましたが,私がCTOの役職についているのは,CEOの知り合いの中で創業時に技術に詳しそうな人だったからという理由に過ぎないように思います.

東京社では,「一番詳しい人が決める」という方針があり,決定は役職に関わらず,技術的に最も良い判断で行われます.つまり,役職者の意見だからという理由ではなく,あくまで技術的に最善の選択であるかが重視されるのです.

役職に関係なくインターン生を含め自由に技術的な議論ができる環境を整えるためにも,心理的安全性が欠かせません.特にスタートアップの初期にはメンバー同士が多くの時間を共有するため,心地よい環境(ぬるい環境という意味ではなく)を築くことが重要です.心理的安全性が確保された環境でこそ,より良いプロダクトがつくられるでしょう.

最後に

ここまで読んでいただきありがとうございました!

初期のスタートアップフェーズから少しずつ抜け出し,機械学習やLLMを使ったプロジェクトなども始まりつつあります.一緒に70年ぶりのマスメディアを作っていく仲間を募集しています!

https://tokyo-inc.com/recruit

Tokyo, inc. Engineers

Discussion