IT人材のためのキャリアライフスタイルマガジン

「組み込み系エンジニア」とは|使用する言語・勉強方法・資格

更新日:2020年08月28日

職種研究

ソフトウェアの求人でよく見かける「組み込み系」とは、一体どういうものなのでしょうか。また、仕事内容や使われる言語、就職する際の勉強方法、持っておくべき資格などは、どんなものがあるでしょうか。需要のある組み込み系についてご紹介します。

組み込み系ってなに?

組み込み系という言葉を聞いたことがありますか?組み込み系についてよくわからない、という方のために、詳しくご紹介します。 私たちが普段使う家電製品にも、小さなCPUが組み込まれているおかげでソフトウェアが作動しています。例えば電子炊飯器は、お米を炊く加減をプログラムで制御しています。デジタルカメラでも、シャッター速度や露出を変更したり、シャッターを押して写真を撮ったり、それらはプログラムで制御されています。 このような電子機器に組み込まれるソフトウェアの開発の仕事は「組み込み系」と呼ばれます。他のソフトウェア開発の仕事に比べて、プログラミング能力が重視されます。

組み込み系で使われるOS

電子機器に組み込まれるCPUは、コストや発熱等を考えたうえで処理能力の低いものになっています。OSは軽くてレスポンスの早いものが搭載されています。

リアルタイムOS

今までは「リアルタイムOS」が使われてきました。リアルタイムOSの中には、例えば「ITRON」や「VxWorks」といったものがあり、今でも組み込み系OSの主流になっています。これからも複雑な処理を必要としない電子機器には使われていくOSと思われます。 ITRONは、日本の「TRONプロジェクト」の仕様です。日本製OSも、組み込みではまだ頑張っています。VxWorksは、航空・宇宙・防衛分野のように、安定性と正確に動作が要求される分野で使われてきました。安定度が高いので家電分野でも使われます。

汎用OS

昨今の電子機器は複雑な処理を求められるようになっています。UIの表示も複雑な液晶表示になり、ネットワークに接続して通信するものも増えてきました。こうなると、従来のリアルタイムOSでの処理は難しくなり、もっと処理能力の高いOSが求められるようになりました。 そこで、汎用OSの組み込みバージョンが今増えてきています。具体的には「Linux」や「Android」であり、「Windows」にしても組み込み版が登場しています。 これらはCPU性能もメモリも多く必要なのですが、CPUやメモリの性能向上と価格低下により、選択肢として成り立つようになりました。 汎用OSはレスポンスが良くないのですが、その点についても改良が進んでいるので、これから普及が進むと思われます。

組み込み系エンジニアの仕事は?

組み込み系の開発ではプログラムの処理はそれ程複雑ではありません。しかし、品質は非常に高いものが要求されます。 なぜなら、一度製品となって出荷された後にバグが見つかっても、ネットワークを通じて書き換えることはできないからです。例外もありますが、一般の人にはかなり難しいでしょう。リコールによる回収となれば、会社は大損失を被ることになるので、業務系では考えられないほど慎重にプログラムの開発が行われます。 組み込み系で仕事をする人は、アルゴリズムの勉強をしておくと役に立ちます。業務系では結果に重きが置かれますが、組み込み系ではプログラムの小ささや動作の速さ、総合的な品質の高さが重要です。

言語の習得

C言語

OSにより変わってくることもありますが、まずC言語を学びましょう。一番関わる可能性が高いですし、多くの言語の基礎ですから学ぶのは重要です。 C#やJavaでは、メモリを確保した後の開放をせずに済みます。しかし、C言語では自分で開放をしなければなりません。 目に見えなくなってしまった処理でもC言語を学ぶことにより理解することができます。

C++言語

C言語では、生産性や品質、保守性に難しいところがあります。そこで、「C++」を使った開発ができるように対策する場合もあります。 C++ならばメモリのアドレスも操作できますし、C言語に近い処理ができます。また、C++はオブジェクト指向言語なので、UMLで設計できることにより生産性も上がります。だから、C++を勉強し、さらにオブジェクト指向も勉強するのがよいでしょう。 他の言語では、Javaを使う機会が増えるかもしれません。Androidは今後活躍する可能性の高いOSですが、JavaはC++からの拡張言語です。だから、/C++を勉強すれば習得にはそれほど時間がかかりません。 組み込み系のためには、まずC/C++言語を習得しましょう。

組み込み系になるためにはどうすればいい?

自分の環境で勉強したい場合、電子工作におけるPIC等のマイコンを使うのが有効かもしれません。しかし、手軽にできる作業ではありません。楽しくできる作業ではありますが、一方で電子工作をするための時間と費用がかかります。また、最近は電子工作をしたことがない人も多いです。 より、手軽にC言語を学ぶとすれば、WindowsのVisual Studioで「Win32 コンソールアプリケーション」などでプログラムを作成するのが良いのではないでしょうか。 更にLinuxをパソコンにインストールして、Cコンパイラを使いアプリを作成し動かすと、より良い勉強ができると思います。 Visual StudioでC++を勉強する時は、アプリケーションをMFCライブラリで作成してください。それ以外の.NETやUWPアプリケーションのC++は純粋なC++とは言い難いのでお勧めできません。 MFCを使ってアプリを作る人は少ないと思いますが、今でも作成することはできます。 仕事に就く前に組み込み系を体験するのは難しいので、就職する前にC/C++言語をマスターし、オブジェクト指向を理解しておくことをお勧めします。UML図は設計でよく使われるので、マスターしておくと良いでしょう。

組み込み系の資格

国家資格

次のページ:組み込み系になろう!
初回公開日:2017年05月30日

記載されている内容は2017年05月30日時点のものです。現在の情報と異なる可能性がありますので、ご了承ください。
また、記事に記載されている情報は自己責任でご活用いただき、本記事の内容に関する事項については、専門家等に相談するようにしてください。

関連タグ

アクセスランキング