IoTシステムを設計するエンジニア、すなわちIoTアーキテクトには、どのような資質やスキルが求められるのだろうか。やはり、組み込み系とエンタープライズ系、そして人工知能やビッグデータなどの知識を合わせ持った、スーパーマンのようなフルスタックエンジニアが必要なのだろうか?
実際、「IoTシステム技術検定試験」や「IoT検定」などのIoT関連試験は、非常に広い範囲の技術について出題される。人工知能だけでなく、アジャイルもデータベースも電子工学も法律も範囲に含み、広大である。これらを全て勉強し、経験を積まないといけないのだろうか。
今回は、IoTを設計するアーキテクトに求められるスキルや知識を定義してみることにする。
悪いアーキテクトの条件
良いアーキテクトの条件を知るには、悪いアーキテクトの例を見ていくことが早道だ。悪いアーキテクトはいくらでもいるが、その一端を紹介しよう。
(1)実装を知らない
妄想で実現性が薄いアーキテクチャーを作りがち
(2)余計なことに首を突っ込む
本質が抜けて、細かい部分に拘りすぎる
(3)バランス感覚が悪い
システムの効率性を無視、あるいは機能性を無視する
(4)勉強をしない
その結果、アーキテクチャーを作ることが人任せになる
(5)人の意見を聞かない
自分の意見だけを推し進める
この逆が良いアーキテクトである。もう蛇足かも知れないが以下に列挙する。
(1)実装を知っているが、細かな実装に拘り過ぎない
(2)企画や要求、運用者の心を掴む
(3)バランス感覚に優れる
(4)よく勉強する
(5)人の意見と自分の意見を調整できる
またアーキテクトは国民性も影響している。一般的に言われていることは、欧州では役割分担をきっちりとする職務型アーキテクトであり、米国では最初の出だしを一人で作るフロンティア型アーキテクトであり、日本ではチームで一緒に考える擦り合わせ型アーキテクトである。