MODEは、現場のリアルタイムデータや既存システムのデータを統合するIoTプラットフォーム「BizStack」を提供する、シリコンバレー発のスタートアップです。
今回は、IoTゲートウェイの開発を担当する Senior Software Engineerの山﨑 晃拓さんに、MODEでの開発の面白さやIoTエンジニアとして働く魅力について話を聞きました。
目次
「モノに関わる開発がやりたい」MODE入社の理由
― まずは自己紹介をお願いします。
IoTゲートウェイ開発の役割とは?
― 現在のMODEでの役割について教えてください。
― ゲートウェイのエンジニアは、どんなことをしているのでしょうか。
― リモートワークが可能なのは、ハードウェアに関わるソフトウェアを担当しているからでしょうか?
― ゲートウェイはMODEの中でどんな役割を担っていますか?
― Over-the-Air Updates (OTAU)などの機能もありますが、それでもアップデートがうまくいかない可能性はあるのでしょうか?
1人から始まるゲートウェイ開発チーム
― 現在のゲートウェイ担当の体制を教えてください。
― 今後、ゲートウェイをどのように進化させていきたいと考えていますか?
― このポジションならではの成長実感はありますか?
― どんな人と一緒に働きたいですか。
― 新しいメンバーに向けてメッセージはありますか?
「モノに関わる開発がやりたい」MODE入社の理由
― まずは自己紹介をお願いします。
山﨑:
新卒でインターネットインフラ企業に入社し、10年以上、ルーターとその管理サービスの開発に携わってきました。その後、音声解析AIを提供するスタートアップに転職し、クラウドPBXの開発・運用を担当しました。MODEは3社目です。
もともとルーター開発をしていたこともあり、ハードウェアを含めた“モノに関わる開発”が好きなんです。前職ではその要素が少なく、「もう一度IoTのような領域に関わりたい」と思うようになりました。
私は長野に住んでいるのですが、IoT企業でリモートファーストの会社は多くありません。そんな中でMODEから声をかけてもらい、「ここなら面白そうだな」と思って入社を決めました。
実は15年ほど前に、有名なエンジニアの方から「シリコンバレーにスプリンクラーをIoTで制御している面白い会社がある」と聞いたことがありました。それが、創業間もないMODEだったんです。
当時の記憶もどこかに残っていて、「アメリカの会社で働くのも面白そうだな」という気持ちもありました。
IoTゲートウェイ開発の役割とは?
― 現在のMODEでの役割について教えてください。
山﨑:
現在はゲートウェイの開発を担当しています。入社時にデリバリーとゲートウェイ開発のどちらを中心にするか選べたのですが、これまでプロダクト開発に長く携わってきたこともあり、ゲートウェイ開発をメインに担当することにしました。
― ゲートウェイのエンジニアは、どんなことをしているのでしょうか。
山﨑:
ゲートウェイは、機器の上にLinux OSがあり、その上でMODEの「ユニバーサルゲートウェイ」というソフトウェアが動く構成になっています。センサーから集めたデータを処理し、クラウドへ届ける役割を担っています。
私は主にOS周りのメンテナンスなど、システムの基盤部分を担当しています。エンジニア向けに言うと、OSレイヤーとユニバーサルゲートウェイのコアに近い部分ですね。
― リモートワークが可能なのは、ハードウェアに関わるソフトウェアを担当しているからでしょうか?
山﨑:
必要な機材は東京から送ってもらえるので、長野にいても問題なく開発できます。また、MODEでは社員が自分の判断で使える出張予算が与えられているので、それを使って月一程度の頻度で東京に出社しています。完全に同じとは言えませんが、リモートでも十分仕事ができる環境です。
ただ、その分家の中に機材がどんどん増えていきますね(笑)。
― ゲートウェイはMODEの中でどんな役割を担っていますか?
山﨑:
ゲートウェイの面白さは、「物理的なモノが存在する」点ですね。これはSaaSの開発にはあまりない要素だと思います。
一方で、その分難しさもあります。ゲートウェイは日本各地、場合によっては海外にも設置されるため、場所ごとに異なるバージョンのソフトウェアが動いていることがあります。
SaaSの場合はクラウド上で同じ環境を管理できますが、ゲートウェイは現地に分散しているので、「今そのデバイスがどういう状態なのか」を把握するのが難しいんです。そうした分散環境をどうメンテナンスしていくかは、IoTならではの難しさであり、面白さでもあります。
― Over-the-Air Updates (OTAU)などの機能もありますが、それでもアップデートがうまくいかない可能性はあるのでしょうか?
山﨑:
そうですね。OTAUにも失敗する可能性はあります。ネットワーク経由のアップデートなので、通信が不安定になったり、途中で接続が切れたりすることもあります。
また、古いハードウェアの場合、そのままではアップデートできず、別のバージョンを経由する必要があることもあります。
もし異常が起きた場合は、リモート対応や機器の交換、場合によっては現地対応も行います。エンジニアの間では「文鎮になる」と言うのですが、アップデートに失敗すると本当にただの置き物になってしまうこともあるんです。
そうならないように、さまざまなケースを想定して設計する必要があります。そこもIoTならではの難しさであり、責任の大きい部分ですね。
1人から始まるゲートウェイ開発チーム
― 現在のゲートウェイ担当の体制を教えてください。
山﨑:
基本的には私がメインで担当しています。エンジニアリングマネージャーの島川さんや業務委託の方にサポートしてもらいながら進めていて、最近はプロダクトマネージャーとして牧田さんも加わり、プロダクトの方向性の確認やタスク整理などを担当してもらっています。
トラブル対応がないときは、ゲートウェイのプロダクト開発を進めています。現在は、Yoctoを使った新しいゲートウェイOSの開発に取り組んでいます。Yoctoを使って、MODE向けにカスタマイズしたOSを構築しています。
これまではサーバー向けOSをベースにしていましたが、IoTゲートウェイは地理的に分散した環境で運用されるため、そのままでは管理が難しい部分がありました。そこで、組み込み用途に適したYoctoベースのOSへ移行しようとしています。
また、OTAUもより安全に設計できるようになります。例えばOS領域を2つ用意し、片方で動かしながらもう片方を書き換えて、アップデート後に切り替えるような仕組みです。こうした方法で、より安全なアップデートを実現していきたいと考えています。
― 今後、ゲートウェイをどのように進化させていきたいと考えていますか?
山﨑:
まずは、より安定して運用できるようにしたいですね。それに加えて、もっと簡単に使えるようにしていきたいと思っています。今はまだ、メンテナンスや運用の面で「MODEのエンジニアじゃないと扱えない」部分もあるので、そこをシンプルにしていきたいです。
その延長として、将来的には「MODE製ゲートウェイ」を作れたら面白いなと思っています。今は既存の機器を使っていますが、いずれは自分たちでハードウェアも設計できるようになれば、より自由度の高いプロダクトが作れるはずです。
もちろん簡単ではありませんが、そういった挑戦もしていきたいですね。やりたいことはたくさんあるので、一緒に取り組んでくれる仲間が一人でも増えると嬉しいです。
― このポジションならではの成長実感はありますか?
山﨑:
SaaSの開発とはまた違った面白さがありますね。IoTは、ソフトウェアやクラウドだけでなく、実際のデバイスが各地で動いていることを前提に開発を進めます。
そうした「モノとクラウドの両方」を扱う開発経験ができるのは、このポジションならではだと思います。SaaSだけではなかなか経験できない領域ですね。
― どんな人と一緒に働きたいですか。
山﨑:
新しいことに挑戦するのが好きな人と一緒に働きたいですね。例えば今取り組んでいるYoctoのように、新しい技術ややり方を楽しみながら試せる人です。
もちろん既存システムのメンテナンスも大切ですが、それだけでなく「もっと良くできるのでは」と考えてチャレンジできる人だと嬉しいですね。リスクも受け入れながら、新しいことに挑戦していける人と一緒に開発していきたいと思っています。
― 新しいメンバーに向けてメッセージはありますか?
山﨑:
MODEの面白さは、グローバルな環境だと思います。日本にいながらアメリカ市場など世界に向けてプロダクトを展開していけるのは、大きな魅力ですね。
そうした環境の中で、一緒に大きなビジネスを作っていけたら嬉しいです。
― ありがとうございました!
IoTゲートウェイという、ハードウェアとクラウドの両方を扱うMODEならではの開発領域。山﨑さんの話からは、「モノがある世界の面白さ」と「グローバルな環境でプロダクトを作る楽しさ」が伝わってきました。MODEでは現在、ゲートウェイ開発を一緒に進めてくれるエンジニアを募集しています。