どうも、なかしーです。
僕は営業から組み込みエンジニアに転職し、自動車のプログラマーとして働ています。
組み込みエンジニアになるには、何を勉強すれば良いんだろう?資格とかいるのかなぁ。
といった悩みにお答えしていきます。
組み込みエンジニアになって自動車や家電製品の設計・開発の仕事をしたいけど、何を勉強したら良いのか悩んでいる方もいると思います。
僕は未経験から組み込みエンジニアになったんですが、入社するまでどんな仕事をするのか具体的にイメージ出来ませんでした。
組み込みエンジニアになりたいなら、次のことを勉強しておくと良いと思います。
- マイコンの動かし方
- プログラミング
この記事では「組み込みエンジニアになるための勉強法」について紹介します。
【エンジニアになりたい人向け】おすすめの転職エージェント3つ紹介タップできるもくじ
組み込みエンジニアになるための勉強法
組み込みエンジニアになりたいなら、「マイコン」と「プログラミング」を勉強すると良いでしょう。
この2つを勉強する方法は
- スクール
- 独学
- 会社の研修←一番おすすめ
未経験でイチから勉強するのであれば、独学+会社の研修を利用するのがおすすめです。
勉強と並行しながら転職活動も可能
組み込みエンジニアはIoTや自動運転技術の普及に伴い仕事が増え、人手不足な状態です。
将来的に伸びる可能性が高い分野なので、先行投資で人材を確保したい企業が多く、未経験でも入りやすくなっています。
また、未経験の人でも仕事で困らないように、研修でマイコンの動かし方やプログラミングを学べる会社もあります。
組み込みエンジニアとして働く会社を選ぶ時は転職エージェントを使いました。
転職エージェントは、担当者と面談をした上で自分が目指している将来像や収入などの条件にあった求人を紹介してくれるサービスです。
また、転職活動のサポートも行っており、履歴書や面接のアドバイスもしてくれました。
転職エージェントは完全無料なので、転職する時は使わないと損です。
おすすめの転職エージェントはこちらです。
- マイナビエージェント|IT系のエンジニア求人に強い
- リクルートエージェント|日本で一番の人材派遣会社が運営
- ワークポート|専門職に強いエージェント
>>【エンジニアになりたい人向け】おすすめの転職エージェント3つ紹介
【エンジニアになりたい人向け】おすすめの転職エージェント3つ紹介スクールをおすすめしない理由
ホームページ制作やWebアプリケーションを学べるスクールは充実していますが、組み込みエンジニアのためのスクールの数は少ないです。
しかも、授業内容の割に高額な料金設定です。
スクールを利用するよりも本を買ったり、ネットで検索して勉強した方が自己解決能力を鍛えることができると思います。
ちなみに、YouTubeでマイコンの動かし方を僕が解説しています!
組み込みエンジニアになるにはマイコンとC言語を勉強するべき
組み込みエンジニアになりたいなら「マイコン」と「C言語」を勉強するべきです。
冒頭でお伝えしたとおり、組み込みエンジニアが対象としているのはマイコンです。自動車のECUや家電製品、子供用のおもちゃにもマイコンは搭載されています。
マイコンはセンサやスイッチからのデータを受け取り、様々な計算をした上で、モーターなどのアクチュエーターやLCDなどのディスプレイに出力します。
この計算はマイコンのプログラミングで変更することが可能です。
組み込みエンジニアは、効率よく処理できる手順を考えて、プログラミングを行います。そして、組み込みに使われているプログラミングのシェアNo.1はC言語です。
C言語はパソコンなどを処理するために開発されたプログラミング言語で、歴史が長く、高速処理をするのに向いています。
自動車で100km/hで走行するときに1秒間に約27mも進みます。最近の自動車はアクセルやハンドルなど電子制御を行っています。1秒間に27mも進むのに、ハンドルを切って反応するのに時間が掛かるようだと命に関わる問題に発展してしまします。
それほど、組み込み制御ではプログラミングの処理が重要になってきます。
求人票の応募条件にC言語が書かれていることが多い
未経験でも応募できる会社の求人票を約20社ほど見せてもらいましたが、ほとんどC言語が必須になっていました。
最近は、IoTが注目を浴びているからPythonを勉強した方が良いと思っていたので正直、驚きでした。
なぜ会社がC言語を出来る人を欲しがっているのかというと、開発の現場では以前の製品に改良を加える方法を使っているからです。
C言語は歴史が長く、製品を高速で動かすのに向いているので、ほとんどのところで使われています。
例えば、C言語からPython言語にプログラミングを変えてしまうと、一から書き直す必要があるのでとてつもない時間が掛かります。自動車に関しては約1000万行ものプログラミングで動いているそうです。とてつもないですよね。
とはいえ、自動運転やAIやIoTで大量のデータを扱うようになりつつあります。その大量のデータを扱うところはPython言語を使用していたり、C言語の派生系であるC++言語を使っているところもあるみたいです。
このPython言語もC++言語もC言語を参考にして作られているので、C言語が出来れば、Python言語とC++も勉強すればできると思います。
ただ、現状はC言語の方が需要が高いので、C言語を中心に勉強しつつ、余力があれば他のプログラミング言語に手を出してみるのも良いと思います。
マイコンとC言語の勉強する方法
PICマイコンをC言語で動かすのがおすすめです。
しかし、初心者の方にはArduinoというマイコンとC言語を簡単にしたArduino言語から入るのがおすすめします。
レビュー記事はこちら
>>【Arduino入門キットレビュー】初心者におすすめしたい電子工作の入門キット
なぜ、Arduinoをおすすめするのかというと「プログラミングでモノを動かす楽しさを感じて欲しいから」です。
これを買うと、セットでモーターやセンサーなどがたくさん付いてくるので、ある程度の勉強は出来るかなと思います。
その後に、自分で何か作ってみるとより勉強になると思います。
でも、C言語は難しい
C言語を実際にやってみたことがある人は「難しい」と思っていると思います。
確かに、僕も難しいと思います。
ちなみに僕はC言語で3回ぐらい挫折しています。
僕の場合は、教えてくれる人がいたからなんとか出来るようになったんですが、それでもプログラミングって難しいです。
全くのC言語初心者の方は挫折しやすいプログラミング言語だと思います。
そういう方はC言語を勉強する前に「アルゴリズム」の勉強をすると良いと思います。
アルゴリズムとは問題を効率良く解決する流れを表現したものです。
ロジカルシンキング(論理的思考)を鍛えることが出来ます。
例えば、大阪から東京に行くときに最も安く早く移動できる方法を考えるような感じですね。バスと新幹線ならどっちが速いかとか飛行機はどうなのか考えて、それを表すのがアルゴリズムです。
アルゴリズムを勉強するならScratch(スクラッチ)がおすすめです。
Scratchは小学校の義務教育でも扱われていて無料で使うことが出来ます。
僕が実際に作ったアルゴリズムを下に貼っておきます。
キーボードの適当にキーを押すと、ネコが「数字を入力して」と言ってくるので2回数字を入力してください。そうすると足し算した結果を表示してくれます。
このアルゴリズムは下のようになってます。
組み込みエンジニアの将来的な話
僕の予想では組み込みエンジニアの需要はますます高まるばかりだと思います。
特に自動車業界では自動運転やコネクティッドカーなどでプログラミングの量は増えます。そして、各自動車メーカーでは試作品を作らずにパソコン上でシミュレーションを行うモデルベース開発を取り入れる動きがあります。
その一環でプログラミングしなくても、図や数式を元にC言語に変換してくれるツールなんかも登場しています。
もちろん、C言語の知識はあった方が良いと思いますが、将来的にはC言語よりも、効率が良いアルゴリズムを考えれる人が活躍するんだと思っています。
この記事のまとめ
この記事では「組み込みエンジニアになるにはマイコンとC言語を勉強するべき理由」について紹介しました。
組み込みエンジニアは物を動かすためのマイコンと呼ばれる小さなコンピューターにプログラミングを行います。
C言語は歴史が長く、高速で処理をするのに向いていることから、今でも使われていることから求人票の応募条件にC言語必須と書かれています。
もしも、C言語が難しいならアルゴリズムの勉強から始めると良いと思います。
組み込みエンジニア関連の記事