- 更新日: 2022年6月6日
- 公開日: 2017年2月24日
エンジニアの仕事への誇り「僕たちが世の中を変える」 東大・元宇宙研究者のフロムスクラッチ CTO 井戸端氏が語るエンジニア論
2015年に、シリコンバレーに本拠地を構えるVCや電通グループらから、総額13億円もの資金調達を実現したテクノロジー、 次世代型マーケティングプラットフォーム「B→Dash」を展開している株式会社フロムスクラッチ。世界的な経済紙である「Forbes JAPAN」の「国内有望スタートアップ」にも2年連続で選出されています。
今回は、システムアーキテクチャを設計し、開発指揮をとっているリードエンジニア・CTOの井戸端氏からお話を伺いました。
エンジニアとして働き始める前は東京大学大学院で人工衛星の開発に携わっていたという異色の経歴の持ち主。エンジニアとしての働きがいとこれからのエンジニアに求められることについて語っていただきました。
前人未到のプロジェクト、ものづくりの喜びを知る
人工衛星の開発に携わっていたとお伺いしましたが、具体的にどのようなことをやられていたのですか?
古い星図をリニューアルするプロジェクトに取り組んでいました。人工衛星を宇宙に飛ばして、宇宙から360度、星の画像を撮影するというプロジェクトです。地球上からだと雲などがあるのでなかなか鮮明な画像が撮れません。しかし、宇宙から撮影することですごく暗い星もとれますし、360度全体を撮影することができます。(星図:全天を表す星の地図)
人工衛星のプロジェクトの中で非常に困難だったことは、超小型の衛星の電子回路を自分たちで設計することでした。星を撮影している間、人工衛星の位置がブレると星図の精度が落ちてしまいます。また、暗い星も正確に撮影をしたいので、人工衛星のブレの制限がかなり厳しく設定されていました。ここまで制限されると、一つ一つのセンサーへの要求が天文学的な数値になってしまったのです。
そして、いざ電子回路を作り始めると、既存のセンサーよりも精度が高すぎて、通常の機器では試験ができないことが判明しました。自分たちが作ろうとしているセンサーの方が精度が高いため、測定ができず、「どうしよう・・・」と途方に暮れた時もありました。
そもそも部品によっては、「0からどうやって作ったらいいのかがわからない」ものもたくさんあり、暗中模索の中で開発をしていった記憶が色濃く残っています。研究室で過去に作られた2、3台の設計情報を参照しながら、自分でいろんな部品の仕様書を見て、電子回路をパソコンで書いて、部品を基盤にくっつけていました。
あとはそれを動かすためのプログラムを自分で書いて、とかなり素人ながら本格的にやっていました。また、専門家の人を訪ねたりしながら何とかセンサーの精度を高めていました。本当に難易度が高いプロジェクトでしたが、ものづくりの面白さを経験することができました。
一人目のエンジニア、プロダクト開発の中心人物に
東京大学大学院卒業後はアクセンチュアでエンジニアとして働いており、アクセンチュア時代の上司から誘われて、フロムスクラッチに転職しました。当時はエンジニアが私一人しかいないところからのスタートで、「B→Dash」の開発は0から手がけていきました。
現在は、マーケティングプラットフォームと呼ばれる「B→Dash」の開発を行なっています。既存システムの改修をやりつつ、社内で新しい機能の構想を練り、開発の指揮を執っています。
メンバーや経営陣と、「こういう機能が必要ではないか?」、とか「こういうUIがいいのではないか?」と議論をしながら、プロダクトの設計をし、要件定義、全体のアーキテクチャ設計からコーディングまで、だいたい一通りを全て自分でやっていました。
ちなみに、B→Dashはどのくらいの期間でリリースされたのですか?
構想からリリースまでは、約半年~1年くらいのスピード感です。実際の開発期間は6ヶ月ほどですね。チームメンバーは、初期構想の頃は外部のエンジニアもいれると、だいたい10人弱くらい、出来上がるころには60名くらいの規模にまで拡大していました。そして、リリースしてから現在までの約2年間は開発の統括、アーキテクチャ設計指揮に取り組んでいます。
「B→Dash」はWeb上で取得可能なデータに加え、企業が保有する広告データ・顧客データ・購買データなど、マーケティングプロセス上に存在するあらゆるビジネスデータを一元的に取得・統合・分析・活用できるSaaS型のマーケティングシステムです。レコメンド、CRM、LPOなどのマーケティングに必要な様々な施策の機能追加もどんどん実装していきます。
さらに現在では「B→Dash」に蓄積された膨大なマーケティングデータに人工知能を活用することで、新しいマーケティングテクノロジーのソリューション開発に注力しています。
実は、もともと「B→Dash」の構想時点で、将来的にはマーケティング業務に必要な機能だけではなく、SFAやCRMなども視野にいれ、3~5年をかけて徐々に展開していく予定でした。しかし、思ったよりも市場の反応も良かったので、どんどん改善をして去年1年間でひとしきり機能拡張をやりきってしまいました。(笑)
全体構造を掌握し、システムの拡張・改修を安易に
理工系の経験があったからこそ、システムの設計に活かせているのですか?
過去の経験が現在の業務に活きていると実感しています。例えば、大学院時代の星図を作成するプロジェクトでは、センサーの精度や姿勢制御キュレーター精度を高めていくなど、ミッションの要求から各モジュールの要求に落ち、さらには1個1個の機器のセンサーの要求に落ちていきます。
プロジェクト参画当初は、ミッションの要求と各モジュールとのつながりが全く理解できず、プロジェクトを進める際は非常に無駄が発生し効率がよくありませんでした。大学院1年生の時にようやく、システム全体として求められていることから、どういうモジュールで成り立っていてモジュール同士の関係性が何なのか、という理解をすることができるようになりました。
全体構造を理解してない時と比較をすると、かなり効率的にプロジェクトを進められることになりました。マーケティングプラットフォームという各種アプリケーションやデータ処理が絡み合って成立しているプロダクトを、モジュール化して捉えて、構造を把握することができるようになりました。
また、お客さんの全ての要望には応えられないけれど、何をどこまでならできるか?を決める時に頭の中で組み立てて設計できるようになりました。このようなモジュールにしておけば、今後機能追加する際は比較的容易にできるし、かつ、周りへの影響も少ないから、これでリリースできるなということを瞬時とはいきませんが判断しています。
学び続ける、挑戦し続けることがエンジニアの使命
貴社で働くエンジニアにはどのようなスキル・マインドが求められているのでしょうか?
なんでも「できる理由」から考えることを重視しています。お客様からの要望や会社内から上がってくる要望に対して、たやすく「できない」と言ってはいけません。それではプロダクトの進化、ひいては業界全体の未来が絶たれてしまうと思います。
なんとかしてそれを実現できないか、とこだわって考えるというのが我々エンジニアとしての使命ではないか、と思っています。現実世界に「こういうものを創りたい」という想いを概念に落とし込むのが一番難しいので、それさえ決まってしまえば、あとはロジックを組めるかどうかの話だけです。
あとは言わずもがなと思いますが、その概念的に落とし込んだものを作るための技術力ですね。これは磨き続けていかなければならないと思います。また、自分が作ったものを実際に使う人が単純に嬉しくなるとか、喜んでくれるとか、使いやすくて、ハッピーになってくれるにはどうしたらいいのかっていうのを常に考え続けるというところも重要視しています。
自由裁量の中でとにかく新しい開発にワクワクできるか、世の中を変えうるプロダクトを開発することに喜びを感じられるか、といった個人の嗜好性は大切です。自由に挑戦し続けるエンジニア集団だけが、世界で勝負できるプロダクトを生み出すことができると思うので、このような考えや思いを持った方と一緒に働きたいと思います。
ちなみに、常に学習し続ける姿勢が必要というとこでしたが、技術力を上げるためにどのようにしていますか?
今最適な技術は何か?を常に模索しています。世界トップの事例を調べながら考えつつ模索し続けて、常に新しいものを取り入れようとしています。新しい技術を取り組むことに制約を設けずに、今使える技術で最適なものは何か?という発想で学習を進めています。
私のメインミッションは全体のアーキテクチャを考えて意志決定することなので、意図的に勉強していることは、クラウドを使ったアーキテクチャ設計や開発の仕方です。現在は、クラウドサービスを使うのが当たり前になってきておりそのあたりをキャッチアップするために学習しています。
\Webサイト担当者としてのスキルが身に付く/
エンジニアは変革の当事者であれ、仕事への誇り
これからエンジニアを目指す方やプログラミングの学習を開始する方にメッセージをお願いします。
自分はエンジニアという職業がとても好きですし、誇りを持っています。ものづくりは純粋に楽しく、毎日とても楽しく業務に取り組んでいます。現在、テクノロジーの進歩が世の中のあり方や、ビジネスのあり方を変えていっていると思うので、今後エンジニアの市場価値は間違いなく上がっていくと思います。もし、エンジニアになりたいと少しでも考えているのなら、ぜひ目指して欲しいと思います。
学習の仕方に関してですが、プログラミング初心者の人はまず、なんでもいいのでどれか一個をしっかり極めるまでやったほうがいいと思います。いろんなものに手を出すよりも、ある一つの言語を中級とか上級レベルまで突き詰め、概念的な理解を深めるべきだと思います。
ただ、プログラムをかければいいとか、プロダクトを作れればいいだと物足りないと思うので、そもそものユーザの要望や根本的な課題を解決していくということに対してプライドをもって取り組んで欲しいと思っています。
「世界をよりよくする」「もっともっと価値あるものを社会に届ける」など、変革の当事者としての意識を持ち、楽しく開発していくスタンスが何よりも大切だと思います。
- エンジニアに求められている考え方やスキルセットなど、たくさんのヒントがいただけました。B→Dashの今後の展開を楽しみにしています。本日はありがとうございました!
- この記事を書いた人
- CodeCampus編集部