【初心者向け】組み込みエンジニアの勉強を完全攻略する5つの方法

この記事でお伝えすること
  1. 組み込みエンジニアの必要な知識・スキル
  2. 組み込みエンジニアに必要な勉強
  3. 組み込みエンジニアになるための有利な学校・専攻

AI・IOT時代、益々需要が高まる組み込みエンジニア。興味はあるけれど、

「何から手を付けたらよいの?」

「どんな勉強をしたら良いかわからない」

と考えていないでしょうか?

なかがわ

組み込み系の仕事は専門性が高く、ほとんどの人が知識・スキルは現場で身に着けていますよ。

ちか

何か自分で勉強しておくべきことはありますか?

なかがわ

就職や実践で困らないためにも、できる限り基礎知識を身に着けておくといいでしょう。

できることなら、無駄な勉強」も「挫折」もしたくないですよね!少なくとも、この記事を読んでいるあなたはそうなりたくないはずです。

そこで今回は、初心者のために最短で攻略可能な勉強方法をお伝えします。

無駄なく効率的に勉強を進めることで、挫折することなく組み込みエンジニアになることができますよ。

組み込みエンジニアとは…必要な知識・スキルは?

ちか

組み込みエンジニアってどんなお仕事をしているんですか?

組み込みエンジニアとは、ハードウェアにソフトウェアを組み込んでいくエンジニアのこと。

テレビやスマホなどの家電は、製品本体(ハードウェア)だけでは動きません。機能を実装するために、システム(ソフトウェア)開発し組み込んでいくことが仕事です。

そのため、ハードウェア・ソフトウェア両方の知識があれば有利となるでしょう。

なかがわ

テレビや冷蔵庫などを動かす重要なソフトウェアを制作しているんですよ!

組み込みエンジニアが、ソフトウェアを開発する時に使うプログラミング言語は主に4つあります。

組み込みで主に使用するプログラミング言語
  1. C
  2. C++
  3. アセンブリ
  4. JAVA

組み込みエンジニアの大部分を占めるプログラミングとは、コンピューターに対する指令書です。

なかがわ

プログラミング言語を学ぶことで収入が上がりますし、脱初心者となれますよ!

プログラミングの仕事はこれからどんどん需要が高まり、仕事が増えていくと予測されます。

仕事に就く前に組み込みの技術を習得することは中々難しいです。知識も実際に現場で教わらないと身につかない場合もあります。

しかし、自力で勉強できる部分など、できる限り自分で知識を身に着けておくことが大切です。

【保存版】組み込みエンジニアとは?仕事内容〜キャリアパスまでまるわかりガイド

組み込みエンジニアに必要な勉強5選

ちか

組み込みエンジニア未経験だと何を勉強をしていけばいいですか?

なかがわ

必要なのは基礎知識です。
組み込みエンジニアに必要な基礎知識
  1. プログラミング
  2. ハードウェア・ソフトウェア

ちか

具体的にどんな勉強をしていけばいいですか?

なかがわ

以下3つの勉強をしていくと、基礎知識が身につくでしょう!
組み込みエンジニアの基礎知識をつけるための勉強
  1. 初心者向けの本やキッドで勉強
  2. 実践に役立つ資格の勉強
  3. プログラミングスクールで勉強

組み込み技術は多種多様で、一括りにこれだけを勉強しておけば大丈夫!ということはありません。

それは、企業や時代の背景によって必要な技術は違ってくるものです。

ここでは、組み込みエンジニアの基礎となる必要な勉強をご紹介します。

組み込みプログラミングの勉強

世の中に200種類以上のプログラミング言語がありますが、組み込みで主に使う言語はC、C++、アセンブリ、JAVAです。

「プログラミングは暗記ではなく理解!」

大半の方が過ちを犯していますが、プログラミングを暗記しようなどと思ってはいけません。

暗記ではなく「理解」し「把握」に徹すること

例えば改行をしたい場合、「br」という記述をすると暗記するのではなく「HTML 改行」で検索をかけていけば充分です。

「どこで使われる技術なのか?」「どのようなことができるのか?」を把握することで勉強の向上に繋がるでしょう。

なかがわ

プログラミングを上達させるコツは「検索力をつけることです。

ちか

プログラミング未経験なので、どの言語が自分に合うかよく分かりません。

なかがわ

知識や経験がないと誰もがそう思うものですよ。自分の適性がわからない場合は、プログラミングスクールへ行ってみるといいかもしれませんね。

プログラミングスクール侍エンジニア塾では、プログラミングの無料体験も行われています。

【最新2019】プログラミング言語10を比較!初心者におすすめな言語はPython!?選び方と注意点は?

 

ここでは、言語の詳細についてと勉強に役立つサイトをご紹介します。

C言語

C言語で作れるもの
  1. ロボット/組み込み系・・・電子レンジ、炊飯器、洗濯機、プリンタ、カーナビ」
  2. ソフトウェア・・・メモ帳、Chrome、Safariなどのブラウザ
  3. OS・・・Apple社のMacに搭載されているMacOS Xや、Linuxの中核を担っているLinuxカーネル

組み込みの開発現場で、C言語は最も多く使われています。プログラミング言語の中でも知名度の高い言語の一つです。

高速でコンパクトなプログラムが実現可能。コードが軽く低資源の環境で、制御などのリアルタイム性が要求される組み込みに最適な言語なのです。

難易度が高い言語ですが、プログラミングに詳しくなりたい人に最適な言語といるでしょう。

なかがわ

C言語ができる人は少ないので、学んだというだけで高評価を受けることもあるでしょう。

言語自体が他の言語の基礎となっていたりするため、C言語を勉強しておくと別の言語学習に移る時に役立ちます。

汎用性の高い言語で、主要な産業の機器に組み込まれていることが多いです。

安定した需要がある言語のひとつと言ってもよいでしょう。

なかがわ

C言語を扱える組み込みエンジニアは不足していることから、年収が上がる可能性も高いんですよ!
C言語が身につくサイト

C++(シープラスプラス)

C++で作られるもの
  1. 金融システム、国が運営する公共機関のシステムなどでも多く用いられている
  2. ゲーム業界でも多く使用されている言語

C++とは、C言語の機能や特徴を継承したオブジェクト指向プログラミングの要素が追加された言語。

なかがわ

オブジェクト指向とは、オブジェクト(モノ)同士を組み合わせてプログラムを動かすということ。たとえば「テレビを動かすためにはリモコンを使いましょう」というのが、オブジェクト指向のイメージです。

C++は、C言語と互換性もあることから、現在もっとも普及しているプログラミング言語となっています。

C言語との下位互換性を保っているため、C言語でできることは全てC++でも実現が可能です。

習得難易度の高さからC++エンジニアの数は求人数に比べて少なく、現在も高い需要を維持しています。

C++の入門サイト

アセンブリ言語(アセンブラ)

アセンブリで作られるもの
  1. チップの開発
  2. チップに密接に関係するソフトウェアの開発
  3. コンシューマーゲーム

コンピューターなどを動かす為の機械語を、人間に分かる形で記述する低級プログラミング言語です。

なかがわ

アセンブリ言語で作ったプログラムを、コンピュータが理解できる機械語に変換する作業を「アセンブル」。実際に変換を行うプログラムの事を、「アセンブラ」と言います。

組み込み系開発でよく使用されるプログラミング言語と言えば、C言語がダントツ。アセンブリの種類は数多いのと、最近はアセンブリを使うことは少なくなりました。

しかし、アセンブリの知識やスキルが必要な開発現場はまだまだあるものです。

どうしてもパフォーマンスが必要な場面に限り、部分的にアセンブリ言語を使う場合はあります。

暗号処理などアセンブリで書くことで、パフォーマンスが劇的に向上する場面は意外と多いでしょう!

つまり、アセンブリ言語の知識を持っていることは非常に有利です。

なかがわ

高級言語になるほど使える人は多いものです。アセンブリが使えるとその分「武器になる」ということですね!
アセンブリが身につくサイト

Java

JAVAで作られるもの
  1. 銀行のシステム案件
  2. Androidのスマートフォンアプリ
  3. Webサービス(サイト)

Javaは動く環境を気にしない言語。

プログラム言語にはWindows、Linux、Macでしか動作しないなどど、動くマシンが限定されてしまうケースが多いものです。

しかし、Javaで作ったプログラムは仮想マシンを利用しているため、どこでも動作することができる!動作が速いこともJavaの特徴です。

未経験でもJavaのプログラマーになれる!技術を習得する4つの方法

 

C言語やC++言語を元にさらにオブジェクト指向的に開発された言語がJava。

なかがわ

JAVAはTwitter、Evernote、Google、楽天などにも使われているんです!

Javaの人気やシェアは他の言語に比べて圧倒的に高く、求人案件数もかなり多くあります。

ちか

Javaを習得できていれば就職・転職する時に優位に立てるということですね!
JAVA

ハードウェア・ソフトウェアの勉強

ハードウェア・ソフトウェアを簡単に言うと「目に見えるものがハード」「目に見えないものがソフト」となります。

  • ハードウェア…本体
  • ソフトウェア…本体を動かすOS・プログラム

AI・IOTの時代、ハードウェア・ソフトウェアも両方が重要。

知識を高めるためには、インプットだけでなく、アウトプットをして初めて成果を出すことができるようになるものです。

修理・解決するまでには自ら仮説を立て、検証を繰り返す必要があります。

教材を使って実践を行っていきましょう!

なかがわ

動かさないと勉強になりませんからね。C言語などの勉強をするのなら、マイコンの学習キットがオススメです。

マイコンの初期化からプログラムを造ったりできれば、それなりに力がつくものです。

Rapsberry pi(ラズベリーパイ)などの有名なお手軽マイコンキットもありますので、ご紹介します。

組み込みエンジニア勉強キット:ソフトウェア開発学習(ヴイストン ビュート ローバーH8+ H8マイコンによる組込みプログラミング入門—ロボットで学ぶC言語— セット)

C言語などのプログラムの経験が全くない人を対象としている学習教材。

C言語の文法についても自学自習ができる構成としてあり、基礎的な力をつけることを目的とされています。

プログラムの書き込みも専用ソフトがあり、別途開発ツールを用意する必要はないのが嬉しいです。

ラズベリーパイ(raspberry pi):ハードウェア・ソフトウェアの勉強

ラズベリーパイ最新モデル!学校でのコンピューター教育を目的に開発された教材。

各付属品及びインストールの手順まで詳しく説明してあるので、素人でも簡単に扱えるのが嬉しいです。

ラズベリーパイはカスタマイズしやすく用途は無限大!ソフトウェアを入れればアイデア次第で“何でも”できます。

このパッケージには必要なものが一通りそろってるのが魅力です。SDカードの相性だとか、探すのが手間な人には最適でしょう。

ちか

個別に用意しても結局同じような金額になりますし、労力を考えると安価ですよね!

組込み開発学習教材 「EAPL-Trainer BASIC」:ロボットで学ぶC言語

実際に開発現場で行われている「アプリケーション開発」に特化した新スタイルの学習教材です。

C言語を使ったオブジェクト指向設計や実装の手法を実際に体験しながら学ぶことができます。

実践で使える専門知識を活用したノウハウが習得できるでしょう。

組み込み初心者向けの本3冊で勉強

ちか

未経験者にとって、勉強ってとっつきにくいですよね。

なかがわ

組み込みは覚えることが沢山ありますからね!そんな時には本で基礎を学びましょう!

ここでは、組み込みで必要な基礎知識を勉強できる本をご紹介します。

組込みエンジニアの教科書

created by Rinker
¥3,003 (2019/11/12 05:08:09時点 Amazon調べ-詳細)

文字通り組み込みの教科書で、初心者にもわかりやすく書かれた本。組み込みエンジニアが知っておくべき知識は一通り網羅されているのが嬉しいです。

他ではあまりないことですが、アセンブリにまできちんと焦点を当てられています。ハード、ソフトについても説明されている一冊。

2019年4月に発売された本で、写真や図解が多く使われているのが特徴です。

苦しんで覚えるC言語

苦しんで覚えるC言語 [ MMGames ]

created by Rinker
¥2,420 (2019/11/12 05:08:09時点 楽天市場調べ-詳細)

C言語の基礎を学ぶのに最適で、ポインタなどの概念もわかりやすく理解出来るよう丁寧に書かれている本。

基本的すぎて省かれているような内容をまでも詳しく解説してくれています。

土台作りはこれ一冊で充分!表題に反して苦しまずに読め、他の本を参照するといった面倒がいりません。

プログラムはなぜ動くのか 第2版 知っておきたいプログラムの基礎知識

created by Rinker
日経BP社BizTech
¥2,640 (2019/11/12 05:08:10時点 Amazon調べ-詳細)

ハードディスクからCPU(プロセサ)、メモリー、プログラムの動作環境までの流れがすごく分かりやすい本。C言語の入門書などをひととおり読んだ人向けとなっています。

組み込みをやっているとマイコンのマニュアルをしょっちゅう見るようになるものです。

通常、マニュアル本はCPUの動作原理や専門用語など、当然わかっているものとして書かれてあります。

基礎から学べるこの本の内容は理解していないとまともに開発はできません。

組み込みエンジニアの実践に役立つ資格の勉強3選

移り変わりが激しいこの業界では、資格はそこまで重要ではありません。

しかし、どのような資格を持っているかで外注先からひとつの指標となったり、社内での評価に繋がることもあるでしょう。

ここでは組み込みに関する代表的な資格を紹介していきます。

組み込みエンジニアが取得したい資格
  • 情報処理技術者試験、ETEC・・・組み込み開発に関する幅広い知識を証明したい人
  • JSTQB・・・ソフトウェアの勉強がしたい人

情報処理技術者試験(エンベデッドシステムスペシャリスト試験)

対象者像

高度IT人材として確立した専門分野をもち、組込みシステム開発に関係する広い知識や技能を活用し、最適な組込みシステム開発基盤の構築や組込みシステムの設計・構築・製造を主導的に行う者

(出典:IPA独立行政法人 情報処理推進機構

IPA 独立行政法人 情報処理推進機構が推進する国家資格「情報処理技術者試験」の中に、組み込みエンジニアとしての技術力を認定する「エンベデッドシステムスペシャリスト試験」があります。

なかがわ

エンベデッドシステム=組込みシステムのこと。IoTをやるなら取得しておきたい資格です。

合格率は17%前後、位置づけは高度試験にあたります。

試験ではハードウェア寄り、ソフトウェア寄りのどちらかの問題を選ぶことができます。業務により近い方を選択すると良いでしょう。

【公式サイト】https://doda.jp/によると持っている資格の1位~3位は全て「情報処理技術者試験」の中の資格となっています。

上記表の資格試験には、一部名称変更があったものがあります。

  • ソフトウェア開発技術者試験→応用情報技術者試験に変更
  • 情報処理技術者試験第二種→基本情報技術者試験に変更

ちか

人気がある資格なんですね!是非、持っておきたいです。
他試験の合格者の免除・任用資格
  • 弁理士試験の一部試験の免除制度
  • 技術陸曹・海曹・空曹及び予備自衛官補(技能公募)の任用資格
  • 警視庁特別捜査官の4級職(警部補)のコンピュータ犯罪捜査官の任用資格

なかがわ

情報処理教科書 エンベデッドシステムスペシャリスト」が必須知識と過去問に特化していていいです。

ちか

どの程度の勉強時間が必要ですか?

なかがわ

半年間で1日3時間程度の学習が目安ですよ。

ETEC(Embedded Technology Engineer Certification:組込み技術者試験制度)

ETECは認定試験ではないので、合否判定はありません。

800点満点のスコア方式を採用。これは英語の検定で有名なTOEICと同じです。

また、スコア以外にもグレードの判定があります。上位からグレードA、グレードB、グレードCの3段階等級で判定が行われます。

足りない知識・スキルが明白になり、次に学習すべきポイントが見えてくるでしょう。

ETECの推奨書籍で入門編の2冊を紹介します。

「漫画で解説組み込み開発ストーリー
created by Rinker
¥2,640 (2019/11/12 05:08:11時点 Amazon調べ-詳細)

製品企画から完成までのプロセスをストーリーで仕立てられた入門書。

組込み製品開発会社に入社した3人の新人社員が、ロボコンやカードセキュリティゲートなどの技術を習得していく過程が描写されています。

エンベデッド技術
created by Rinker
¥2,530 (2019/11/12 05:08:11時点 Amazon調べ-詳細)

組込みシステム開発に関して幅広く解説した入門書。

この本は、技術的視点からエンベデッド技術者育成の標準テキストとして広く利用されています。

演習問題も豊富に掲載されているので、必ず目を通しておきましょう。

JSTQB「Japan Software Testing Qualifications Board」・「テスト技術者資格認定試験」

JSTQBはソフトウェアテストに特化した資格。

勉強することで業界における統一の言葉が分かるようになります。

JSTQBが運営するソフトウェアテスト技術者資格は、海外でも有効な資格となっています。

Foundation、Advanced、Expertの3レベルが存在します。

試験対策はこの「ソフトウェアテスト教科書 JSTQB Foundation 第3版」の一冊で万全です。

基本的な用語や説明が非常にわかりやすく書かれています。

試験にも似た問題が出てきますし、豊富な練習問題に加え模擬試験も収録。

なかがわ

エンジニアは必読。1日3時間を約3ケ月間程度の学習が目安です。

プログラミングスクールで勉強

脱初心者を目指して、独学でプログラミングを勉強する場合、約1,000時間が取得の目安です。

実は、それを1/3にする方法があります。それは、プログラミングスクールで勉強をすることです。

その理由は、プロのサポートにより確実かつ最短で進めていけること。

エラーや難しい用語などで挫折しにくいからです。

プログラミングスクールと独学の違いは、挫折率の違い。

プログラミングスクールでは大半の人が習得できるのに対して、独学の人の挫折率は90%以上と言われています。

わからないことを聞ける相手がいることは、対処をしている間に時間や精神力、体力を奪われることがないので、心強いですね!

ちか

組み込みエンジニアになるためのプログラミングスクールって、あまりないですよね…

なかがわ

そうなんですよ!侍エンジニア塾なら、組み込みエンジニアになるためにフルオーダーメイドカリキュラムなので安心ですよ。

侍エンジニア塾は、オンライン学習によって日本全国対応可能です。8時〜22時で対応してくれるので、学業や働きながらでも自分のペースで勉強することができます。

ちか

自分のペースで進めることができたら、スピードが遅くてモチベーションが下がるということがなく楽しく学べますね!
前向きに勉強・転職活動に取り組むことができました。

未経験で独学をしていると、学習内容やペースについて不安を抱きがちですが、講師の方が現役エンジニアなので、「現在の自分がどの程度の実力を身につけているのか」、「エンジニアとして転職するにはどうしたらよいか」について生の声を聞くことができました。

 

学習の方向性についてのアドバイスと、「30歳未経験でも、遅いなんてことは絶対ないです!」という言葉で常に前向きに勉強・転職活動に取り組むことができました。

男性N.K. さん/出典:侍エンジニア塾

組み込みエンジニアになるための有利な学校・専攻

理系の大学や、電気・電子工学科を専攻すると、ハードウェアの知識やプログラミングを学ぶことになるので有利となるでしょう。

情報工学科でソフトウェアだけに触れるのはもったいないかもしれませんね。

急速に需要が拡大している組み込み系ですが、深刻なエンジニア人材不足の問題を抱えています。

そのため未経験者歓迎!の求人も多いものです。

【必見】組み込みエンジニア未経験者が最低限知っておくべき7個のこと

 

ロースキル者や未経験者でもテスト・デバック業務での募集は沢山あります。知識と技術を身につければ、組み込みエンジニアになるのも夢ではないでしょう。

【2019年最新版】組み込みエンジニアの転職を成功させる5つのコツ

まとめ:基礎知識をしっかり身につけ実践に活かそう

未経験者に必要なのは、基礎知識だということがわかったと思います。

組み込みエンジニアの基礎知識まとめ
  1. プログラミング
  2. ハードウェア・ソフトウェア

なかがわ

ほとんどの人が会社に入ってから勉強しています。電子や回路、ソフトも…会社に入ってから学んでも全然遅くないです。
組み込みエンジニアを目指す勉強まとめ
  1. 初心者向けの本やキッドで勉強
  2. 実践に役立つ資格の勉強
  3. プログラミングスクールで勉強

なかがわ

プログラミングスクールで学習しながら就職までサポートしてもらえるので、挫折することなく最短最速で組み込みエンジニアになることができますよ!

ちか

モチベーション維持は大切ですものね。

組み込みエンジニアを目指すためのサポートがある侍エンジニア塾で、無料体験してみまるといいでしょう。

【生涯賃金2億円】組み込みエンジニアの年収を2倍にする5つのコツ