業務や必要なスキルを解説!組み込みエンジニアとは【初心者向け】
初心者向けに組み込みエンジニアについて解説しています。身の回りの色々な機械製品にも深く関わる組み込みシステムを扱うエンジニアの仕事内容や必要とされる技術、スキルをまとめました。ぜひ参考にしてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
組み込みエンジニアについて解説します。
最初に組み込みシステムとはどういうものか、普段の生活にどのように関わっているか、それに関連するエンジニアの役割について説明します。次に必要とされる言語や技術を挙げていきます。業界を目指す際に参照してください。
本記事はエンジニア転職を保証するTechAcademy Proの就職実績を元に制作しています。
今回は、キャリアに関する内容だね!
どういう内容でしょうか?
組み込みエンジニアについて詳しく説明していくね!
お願いします!
組み込みシステムとは
現在では多くの電子機器に、その機器を制御するためのソフトウェアが搭載されています。それらソフトウェアと電子基板、センサー類などを総称して組み込みシステムといいます。
PCやスマートフォンにもソフトウェアや電子基板は搭載されていますが、どちらかといえば家電や自動車の制御システムなどの電子機器に搭載されたものを指します。具体的に組み込みシステムがどのような役割を果たしているか、いくつか例を挙げてみましょう。
- 電子レンジ:温度センサーとマイクロフォンの制御
- ロボット掃除機(ルンバなど):ホコリの検知、部屋形状の把握、充電状況の把握
- ブルーレイレコーダー:映像と音声の再生、番組データの取得、映像と音声をハードディスクに記録
- カメラ:ピント調整、映像と音声の記録、GPSや日照情報等の記録
- 監視カメラ:映像の記録、配信、撮影方向やズームの制御
- 自動車:エンジンの制御、エアコンの制御、衝突安全対策
この他、多くの電子機器に組み込みシステムが搭載されています。
また、近年ではIoT(Internet of Things)といって、様々な機器がインターネットを経由して情報をやりとりできるようになってきました。もちろんこれらのIoT機器にも組み込みシステムは欠かせません。このように組み込みシステムの需要はますます高まって来ています。
組み込みエンジニアの仕事内容
これら組み込みシステムのソフトウェアを開発するのが組み込みエンジニアです。一般的に、PCのソフトウェアやスマートフォンのアプリを開発するエンジニアはシステムエンジニア(SE)と呼ばれ、その多くはいわゆるシステム開発会社(ITベンダ、SIer)に所属しています。
組み込みエンジニアもシステム開発会社に属している場合もありますが、多くは家電メーカーや自動車メーカーなどで、自社製品向けの組み込みシステムのソフトウェアを開発しています。組み込みエンジニアは以下のような仕事を行っています。
電子機器に搭載する機能の検討
主に経験豊富な組み込みエンジニアが担当します。
電子機器に搭載する機能を、実現可能性を考慮しながら検討していきます。機能については市場動向や競合他社への優位性などを鑑みて判断します。もちろんコストも重要な要素なので、ざっくりとした見積作成も組み込みエンジニアが担当します。
設計
機能要件が決まったら設計に入ります。こちらもある程度経験のあるエンジニアが主導します。組み込みシステムはPCのソフトウェアやアプリに対して、以下のような特徴があります。
- 各種規格への準拠が必要:例えばHDMIやUSBなどの入出力の規格、各種センサーやWi-Fiなどのネットワークの仕様、またブルーレイディスクやDVDなどに記録するデータフォーマットの仕様など、ほとんどの組み込みシステムは各種規格への準拠を求められます。
- 電子基板の設計も行う:ソフトウェアだけではなく、電子基板の設計も組み込みエンジニアが行います。最近の電子機器は小型化が求められるため、電子基板を搭載するスペースも限られています。しかし基板に搭載するICチップ(CPU/LSI)やセンサー類は汎用品を使うことが多く、小型化にはある種の職人芸が必要になってきます。基板の設計には時間がかかるため、ソフトウェアの開発と並行して行われることが多くあります。
- 安全性、耐障害性が最も重要:家電や自動車で問題が発生すると、場合によっては人の命に関わります。また組み込みシステムはソフトウェアの更新手段が無いか、あったとしても限られています。そのためソフトウェアにバグがあったり、電子機器の使い方を誤った場合でも安全性が担保できるよう、設計段階から考慮します。そのような考え方を「フールプルーフ」と呼びます。
プログラミング、テスト
設計が終わったらプログラミングとテストを行います。経験が浅い組み込みエンジニアはプログラミングとテストを主に行うことが多いでしょう。組み込みシステムでは、Cやアセンブラなどの言語が主流です。
また、OS(オペレーティングシステム)はITRONというOSが良く使われています。どちらもPCのソフトウェアやアプリの開発ではあまり用いられないため、専門知識が必要となります。プログラミングとテストは、PCに設計途中の基板を接続して行います。
ある程度ソフトウェアが完成に近づくと、実際に基板のメモリ上にソフトウェアを書き込んで、電子機器単体でのテストを行っていきます。テストは機器単体の動作確認の他、実際に機器が利用される環境を想定したもの、温度や湿度への耐久性など、様々な検証項目に基づいて行われます。
必要とされるスキル
未経験から組み込みエンジニアになるには、まずはITに関する基礎知識が必要です。これはIT関係の資格取得に向け学習することで身につけることができます。おすすめはIPA(独立行政法人情報処理推進機構)が実施している ITパスポート試験 です。
ITを利活用するすべての社会人・学生が備えておくべき基礎的な知識を確認するという位置づけなので、未経験の方にもおすすめです。その他、組み込みエンジニアには以下のようなスキルが求められます。いずれも入社後の研修や仕事を通じて身につけていくことも出来ますが、スキルとして持っていた方が就職活動には有利でしょう。
プログラミングの知識
前述の通り、組み込みシステムで使うプログラミング言語は、Cやアセンブラが主流です。未経験であればC言語でプログラミングの知識を身につけると良いでしょう。ただし広くシステムエンジニアを目指しているのであれば、C言語にこだわらず、JavaScriptやPythonなどで学習しても問題ありません。
コンピューターの仕組みに関する知識
Cやアセンブラを使うには、コンピューターのメモリ構造やデータの格納方式に関する知識が必要となります。プログラミングの知識と合わせて身につけると良いでしょう。
電気、電子基板に関する知識
これは知識というよりは興味を持つ方が重要かもしれません。Raspberry Pi などのシングルボードコンピューターで楽しみながら電子基板に関する知見を深めることが出来ます。
電気については電流や電圧、抵抗といった基礎知識をひととおり身につけておくと良いでしょう。
英語力
現在では1社だけで組み込みシステムを作ることは少なく、海外のメーカーから部品やそれを使用するソフトウェア(ドライバ)を調達して組み込みシステムを作る場合が多くあります。
それらの仕様書は英語で書かれていることが多いため、基礎的な読解力があった方が有利です。
どのような人が向いているか
組み込みエンジニアには、ものづくりが好きな人が向いています。また地道な作業が続くので、細かい作業が好きな人にも向いているでしょう。
- ものづくりが好きな人
- 細かい作業に飽きずに取り組める人
- 安全性や正確さが求められるため、石橋を叩いて渡るような性格の人
エンジニアになるための学習方法
学習サービス
Progate
プログラミング言語の基本に特化した、オンラインで無料から使用できる学習サービスです。今までプログラミングを学んだことのない人でも始められる各言語のカリキュラムが揃っています。有料会員では実践レベルのものまですべてのコースを受講可能です。
ドットインストール
動画による学習サービスです。環境構築など、初心者がつまずきやすい部分についても実際の画面を見ながら学習できます。ひとつひとつの動画は3分前後であり、集中して取り組みやすい形式になっています。有料会員では各動画の文字起こしやソースコードの閲覧が可能であり、学習に活かすことができます。
Schoo
仕事に関係するさまざまな知識やスキルを学ぶことができる、動画と生放送による総合学習サービスです。生放送では講師に質問することもでき、参加しながらライブで勉強できます。有料会員ではすべての録画授業の閲覧・ダウンロードが可能です。
スクール
エンジニア転職保証コース
現役エンジニアのパーソナルメンターが学習から転職までをサポートするサービスです。オンラインの環境があればどこでも受講可能で、パーソナルメンターにはカリキュラム内で分からないところを質問したり、キャリアについて相談することができます。
未経験からエンジニアを目指したいけれども、何から始めたらいいのか分からないという方におすすめです。
デジタルハリウッド
Webやデザイン・CGなどのデジタルコンテンツに関する通学制スクールです。就職・転職だけでなくフリーランスや在宅ワークといったさまざまな形態の働き方へのマッチングサポートも充実しており、在学中から始められる仕事なども紹介されています。
ヒューマンアカデミー
職業に関する各資格の学習ができる総合スクールになります。学習形態は通学・通信・オンラインから選ぶことができます。
各資格の日程なども公式サイトから一覧できるため、予定を立てて学ぶことができます。
この記事を監修してくれた方
太田和樹(おおたかずき) 普段は主に、Web系アプリケーション開発のプロジェクトマネージャーとプログラミング講師を行っている。守備範囲はフロントエンド、モバイル、サーバサイド、データサイエンティストと幅広い。その幅広い知見を生かして、複数の領域を組み合わせた新しい提案をするのが得意。 開発実績:画像認識技術を活用した駐車場混雑状況把握(実証実験)、音声認識を活用したヘルプデスク支援システム、Pepperを遠隔操作するアプリの開発、大規模基幹系システムの開発・導入マネジメント 地方在住。仕事のほとんどをリモートオフィスで行う。通勤で消耗する代わりに趣味のDIYや家庭菜園、家族との時間を楽しんでいる。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
また、オンラインのプログラミングスクールTechAcademyではエンジニア転職保証のコースを提供しています。
プログラミング未経験の方でも12週間で東京のIT企業へエンジニアとして転職を目指せるコースです。
現役エンジニアへオンラインで個別に相談できる無料カウンセリングを実施しているので、まずはこちらから試してみてください!