これからの(組込み)システムはLAWJ

LAMP = Linux + Apache + MySQL + PHP

というウェブコンテンツのためのシステム構成というのがあります。組込みシステムはその使われ方が多種多様なため、標準システムという概念はあまり馴染みがないのですが、昨今のモバイルデバイスの急激な伸びと、Web連携の重要性が高まってきたおかげで、少しづつ見えてきました。

今まで組込み屋さんとしてやってきたエンジニアも学習する範囲が広くなってきます。また製品企画や技術戦略にも影響してくるでしょうし、人材育成として組込みシステムだけを教育してももはや意味がありません。今現在、組込みエンジニアとして現場で活躍している人も、今後の動向に注目することが必要です。

今現在見えているシステム構成は下記のような感じになります。

f:id:tomo_watanabe:20120225212204p:plain

LAWJ = Linux + ARM + WebKit + JavaScript

まだこれが確定ではないですが、基本技術として押さえていく必要な技術を並べてみました。ここに書かれている技術を中心に吸収し、周辺技術を学習するのが良いと考えています。もちろんAndroidJavaiPhoneObjective-Cなどもありますが、ここでは汎用的に知っておくべきシステム構成という意味でこういう書き方をしています。(まだHTML5は使えない。などありますが徐々に移行していくと考えられる)

見ればわかりますが、これはもう組込みシステムではありません。モバイルデバイスが当たり前になり、組込みシステムという枠が取っ払われ、Webとの連携によるサービス化が特徴となります。今までは組込みシステムを安定的に、高品質で提供することを求められていたため、各技術にロックインされていた感がありますが、これからのシステムでは、汎用品を組込みシステム部分に利用することで、より高レイヤーでユーザ体験を提供することが必要になってくるのがわかります。

逆に言えば、今まで各技術にロックインされていたり、多種多様過ぎる組込みシステム方言が標準化されることで、よりユーザに近い体験を創ることに注力できるようになってきたということになります。全体の技術を把握し、設計できるようなゼネラリストエンジニアが必要な理由でもあります。また各要素技術は少数のスペシャリストが対応するようになるでしょう。

自分の感覚的なところだと、各企業には従来型のスペシャリストは居るものの、ゼネラリストが居ないので全体を構成する技術がわからないと言った印象があります。企業の人材ではゼネラリストの育成と確保が重要な課題になります。