みなさん、こんにちは。株式会社ソラコムでソリューションアーキテクトとして働いています横田
第1回では、IoTエンジニアとは?
本記事では、IoTエンジニアに関わる技術要素から、どのようなステップでIoTエンジニアになっていけばよいかについて語っていきたいと思います。
IoTにおける技術要素
IoTは
たとえば、デバイスで考えると取得したいデータに応じたセンサーの選定や通信規格に応じた通信モジュールの選定といった機能的な部分だけでなく、設置環境に応じたサイズ、電源、防水等の非機能的な要件、セキュリティ対策や運用に関わるデバイス管理といった部分も視野に入れた検討が必要です。これらをハードウェアをどう作るか、ソフトウェアをどう作るかの両面から考える必要があります。また、無線通信を行うデバイスを開発する際は各種法令を遵守する必要があり、技適に関する知識が必要になるケースもあります。
クラウドに視点を変えてみると、データをどのように収集蓄積するかのサービスやデータベース、ストレージの選定やデータの可視化・
ネットワークはデバイス、クラウドをつなぐ非常に重要な技術要素であり、速度、通信容量、セキュリティ、接続性などの要件にフィットする通信規格を選定する必要があります。みなさんがスマホでよく使う近距離で高速な無線通信が可能なWi-Fiや屋外で使えるセルラー通信、省電力・
そして、IoTを
ここまでの話を聞くと
ご安心ください。これほどの広い技術分野に対して一人で精通しなければならないわけではございません。実際にIoTプロジェクトに関わっているエンジニアであっても、今話した全ての技術分野の知識を完璧に持っている方はほとんどいないと思います。次からIoTエンジニアになるためのステップと称して、いかにIoTテクノロジーに向き合っていくかをご紹介します。
IoTエンジニアへのステップ
では、IoTエンジニアになるためにはどのようなパスがあるのでしょうか?
身につけたスペシャリティから踏み込んでいく
ここで例として私の経験をお話したいと思います。
私のエンジニアとしてのキャリアは、先ほど述べたようにハードウェアエンジニアからスタートしました。ハードウェアと言ってもいろいろ種類があるのですが、私は電子回路・
さらに、そこからちょうどIoTを利用した検証プロジェクトに関わる機会があり、少人数でデバイスから得られたデータを可視化するシステムを開発を担当しました。私にとってもクラウド側の開発は初めてではありましたが、チーム内外の有識者の知恵を借りて少しずつ実装を進めながら失敗を繰り返し、クラウドのノウハウも得ることができました。また、デバイスの知識がベースにあるため、クラウドとデバイスのインターフェースをどのように設計したら最適になるか、デバイスのよくあるトラブルをクラウド側からどのように検知するか、どのように対応したらよいか?
これはあくまで私の例ですが、おそらくほとんどのIoTエンジニアが似たようなプロセスを経ているかと思います。IoTが普及してきていると言っても、まだまだIoTエンジニアという形で最初からキャリアをスタートするケースは現時点では稀かと思います。最初になんらかのエンジニアとしてキャリアをスタートさせ、IoTを始める機会があったときに自分のスペシャリティをベースに知識やノウハウを学習し、少しずつ自分が触れる技術分野を拡張していく。こういったステップがIoTエンジニアへの道であると思います。
私の場合はデバイスの知識をベースにクラウド側へ知識を広げていきましたが、逆もまた成り立つかと思います。一昔前であればデバイスは専門家が設計開発を行うことが主流でしたが、最近ではRaspberry PiやArduinoといった汎用的に扱うことが可能なデバイスが安価に簡単に手に入る時代になってきています。クラウドの知識をベースにデバイスをまず触ってみる、それこそLチカ
自分の得意な技術分野をベースに足りない場所に一歩踏み出してみる、まずは技術に触ってみて失敗を繰り返しながら技術を習得していく ―新しい分野なので失敗は付き物です。失敗を恐れず一歩踏み出すことができれば、それがあなたのIoTエンジニアの始まりです。
なお、ソラコムが運営するデバイス通販サイト
一人で何もかもを作るわけじゃない
とはいえ、みなさんも経験があるように技術を習得するにはそれなりの時間がかかります。IoTプロジェクトによっては技術を習得しながら進めるだけのスケジュール的な余裕がないケースも多いと思いますし、何もかもを一人でやろうとすると効率が悪くなることもあります。
ですので、IoTプロジェクトを進める上で多様性のあるチームで開発を進めることも非常に有効です。実際、ほとんどの開発プロジェクトはチームで動くことがほとんどかと思います。たとえばメーカーであれば、ハードウェアに強いメンバー、ソフトウェアに強いメンバー等が揃えられる可能性もあると思いますし、SIer等のソフトウェアの会社であってもデータベースに強いメンバー、フロントエンド開発が得意なメンバー等、みなさん何らかの得意分野をお持ちなのではないかと思います。もしかしたら趣味で電子工作をしているメンバーをいるかもしれません。それぞれの強みを活かしながら、IoTに必要な技術分野を分担して習得することで、よりチームとしてのスループットを上げながらノウハウの習得も加速させることができます。
もちろん最初から多様性のあるチーム開発は、日本の会社だとなかなか実現しにくい部分をあるとは思います。しかし、IoTエンジニアの始まりは未経験の分野に一歩踏み出すことから始まるということを先ほども述べました。お互い初めてのことになるので、失敗を恐れる必要はありません。各メンバーがリーダーシップを持ち、それぞれの技術分野を切り開いていく。うまくいったこともうまくいかないことも共有し、少しでも自分より知見のあるメンバーがいればすぐに聞いて協力し合う。そんな環境も、新しいプロジェクトであれば作り上げることが可能だと思います。
また、どうしても社内ではリソースが足りないということもあります。その場合は外部の力を借りることも非常に重要です。どの会社も、自社だけでは開発ができない範囲は外部の会社に委託することはよくあると思います。それはIoTでももちろん例外ではありません。SIerであればデバイスの会社、逆にメーカであればSIerといった形で自社に足りない部分を補って進めることは非常に有効です。その際によりIoTエンジニアとして成長していための重要なポイントは、委託する会社に全て丸投げするのではなく、パートナーとして一緒にプロジェクトを進めていく姿勢です。最初はどのような仕様を作れば良いのか、どういった設計をすれば良いのかわからないことが多いと思います。そういったケースにおいては技術的に専門性の高い会社さんをしっかり頼り、技術的な知見を共有してもらいながら進めることが可能です。そして、少しずつ自分の中に新しい技術的な知見を蓄えていくことが、IoTプロジェクトの推進とIoTエンジニアとしての成長に大きく寄与します。
ソラコムでもこういった外部との連携をエコシステムとして構築する取り組みを行っています。たとえば、SORACOM パートナースペース
まとめ
いかがでしたでしょうか?
次回は、そんなIoTエンジニアを目指す上で必要な心構えや技術との向き合い方について熱く語っていただきます。ご期待ください!