組み込みとは…
「組み込みって何?」という記事がありまして、組み込みを生業としている自分なりに考えを巡らせてみたのですが、なかなか上手くイメージできませんでした…。ちょっと自信無いですが、自分の思いを書いてみました。
まず、組み込みって言うのは、Windows とか MAC とかの上で動作するアプリケーションやシステムとかとは違って、カーナビとか携帯とか、最近ではエアコン、湯沸かし器とかの家電に入ってるソフトウェアの事だと思っています。ユーザインタフェースから、デバイスの制御まで全部作る必要があるわけですね。
また「普通の SE と何が違うのか」という観点で行くと、設計では、ASIC とかメモリとかをじかに触って制御する必要があるので、ある程度ハードウェアの知識が必要になってきますし、コーディングはそれに引きずられて、Cがメインになります。また、リソースや実行速度がシビアなので、機能や見た目よりも、動作をとにかく重視する。みたいな視点が必要になってきます。まあ、これに関しては普通の SE の仕事をした事が無いので、実際の所は自分の視点がずれているかもしれません。
話題が変わりますが、そういった意味では組み込みのエンジニアの方は、所謂普通の SE に憧れと羨望を抱いています。「SE の仕事術」みたいな本が巷に溢れかえっていますが、読んでみると自分の仕事にそぐわない内容だったり、雑誌とかの「画期的な開発手法」もそのままでは使えなかったりするからです。組み込みエンジニアだけを対象にした本って、かなり少ないです。でも実はこの辺は応用を利かせて、自分なりに解釈する事ができるのですが、肩身の狭い思いをし続ける事に変わりはありません…。
ITRON という組み込み向け OS の第一人者である坂村さんという方が、いらっしゃるのですが、この方が去年「組み込みのエンジニアにもっと愛の手を差し延べてください」みたいな事を言ってました。ご本人は給料とかの事を指して言っていたように見えますが、実はもっと、インフラとか、この業界全体に言える事だよなぁと思いました。まぁ、エンジニアの人口区分では、システム開発をやってる人の方が、組み込み開発よりも 10 倍くらい多そうですが。でも、実際そんなに仕事は変わらないんじゃ無い?と思っています。逆にそんな風に分けるから、変に区分ができてるような気がしています。
組み込みと言えど、実はかなり高レベルな技術力や応用力が要求されますし、最近では、ネットワーク関連の知識も非常に要求されている所です。エンジニアと一言に言っても、システムを作るだけじゃなくていろいろあるという事です。
…と、なんかそれなりにまとまりました。…か?
まず、組み込みって言うのは、Windows とか MAC とかの上で動作するアプリケーションやシステムとかとは違って、カーナビとか携帯とか、最近ではエアコン、湯沸かし器とかの家電に入ってるソフトウェアの事だと思っています。ユーザインタフェースから、デバイスの制御まで全部作る必要があるわけですね。
また「普通の SE と何が違うのか」という観点で行くと、設計では、ASIC とかメモリとかをじかに触って制御する必要があるので、ある程度ハードウェアの知識が必要になってきますし、コーディングはそれに引きずられて、Cがメインになります。また、リソースや実行速度がシビアなので、機能や見た目よりも、動作をとにかく重視する。みたいな視点が必要になってきます。まあ、これに関しては普通の SE の仕事をした事が無いので、実際の所は自分の視点がずれているかもしれません。
話題が変わりますが、そういった意味では組み込みのエンジニアの方は、所謂普通の SE に憧れと羨望を抱いています。「SE の仕事術」みたいな本が巷に溢れかえっていますが、読んでみると自分の仕事にそぐわない内容だったり、雑誌とかの「画期的な開発手法」もそのままでは使えなかったりするからです。組み込みエンジニアだけを対象にした本って、かなり少ないです。でも実はこの辺は応用を利かせて、自分なりに解釈する事ができるのですが、肩身の狭い思いをし続ける事に変わりはありません…。
ITRON という組み込み向け OS の第一人者である坂村さんという方が、いらっしゃるのですが、この方が去年「組み込みのエンジニアにもっと愛の手を差し延べてください」みたいな事を言ってました。ご本人は給料とかの事を指して言っていたように見えますが、実はもっと、インフラとか、この業界全体に言える事だよなぁと思いました。まぁ、エンジニアの人口区分では、システム開発をやってる人の方が、組み込み開発よりも 10 倍くらい多そうですが。でも、実際そんなに仕事は変わらないんじゃ無い?と思っています。逆にそんな風に分けるから、変に区分ができてるような気がしています。
組み込みと言えど、実はかなり高レベルな技術力や応用力が要求されますし、最近では、ネットワーク関連の知識も非常に要求されている所です。エンジニアと一言に言っても、システムを作るだけじゃなくていろいろあるという事です。
…と、なんかそれなりにまとまりました。…か?