【初心者向け(1)】組込みエンジニアになろう
※この記事は組込みエンジニアになりたい方、興味がある方、また組込みエンジニアの教育に困っている方に向けて書いています。
組込みエンジニアを増やしたい
「組込みエンジニアって少なくない?」
私が組込みエンジニアとしてのキャリアを歩むなかで感じていることです。
組込みエンジニアとは簡単に言うと、家電・産業機器・自動車などを制御するマイコン*1を操る人です。製品の仕様決めから電子回路設計も含むと思います。
と言う私も社会人になるまでは「組込み」という言葉を知りませんでした。それどころか、プログラムというものを作ったことすらありませんでした。
それがいつの間にか組込みエンジニアとして飯を食べる事になったのです。
何も分からないところから組込みエンジニアになるまではちょっとだけ苦労しましたが、振り返るとそんなに難しい事はしてこなかったように思います。
私がこれまでにやってきた軌跡を辿るように知識を紹介すれば、今は素人だけど組込みエンジニアを目指している方の力になれるのではないか。
何から手を付けたらいいのか分からず立ち止まっている方の背中を押すことが出来るのではないか。組込みエンジニアがわずかでも増えるのではないか。
そう思い立ってこのサイトを開設しました。
まずはC言語の習得から
私自身まだまだ組込みエンジニア歴は浅いですが、まだ素人だった頃の気持ちを覚えている間に発信することが大切だと考えました。
自分のつまづいたところを丁寧に紹介することが出来るからです。
組込みスキルは幅広いですが、私は素人であっても最低限の実務に耐えうるレベル*2までは短期間で達成できると考えています。短期間とは言っても1回2時間、週3回のペースで半年くらいかなと思いますが。
今考えている内容としては、まずは何と言ってもC言語の習得からです。
多くの組込みシステムはC言語を用いて作られています。
他のプログラム言語を使用した組込みシステムもあると思いますが、それでも過去のソフトウェア保守*3を行う上では必ずと言って良いほどC言語に関わることになります。
C言語がある程度使えるレベルになったところで、実際にマイコンを使用した実践的な内容を紹介したいと考えています。
趣味で電子工作
電子工作に興味がある方ってどれだけいるのでしょうか。
実は結構いるんじゃないかなーという気がします。
私自身は色々作れたら楽しいだろうなぁ…と思っています。正直言うと私もそんなに作った経験は無いのです。
あるにはあるのですが良く分からないままに勢いで作ったっきりです。
勢いで作った割には実用的でしたが。どんな物を作ったかは、またいつか記事にしたいと思います。今ならもう少しマシなものが出来上がりそうだなー
このサイトでは組込みスキルの一部として、電子回路の知識も紹介する予定です。
電子回路の知識を身に付けると、電子工作が可能になります。
マイコンを操れるようになると、出来ることの幅が大きく広がるので、更に上級の電子工作が楽しめるようになると思います。
ただし…電子工作はスキルがあってもアイデアと格好良く作れるセンスが別に必要だと思います。
私のまわりにもスキルはあるのに「何作ろうかな。。」で立ち止まっているエンジニアがいます。
私もせっかくなのでこのサイトの更新を通して、最後にはいろんな電子工作にチャレンジしてみたいと考えています。
組込みシステムは外注?
多くのメーカーが組込みシステムを内蔵した製品を作っているわけですが、実情は組込みソフトウェア*4、ハードウェア*5を専門の会社に外注して作る会社も多いかと思います。
『それじゃ、組込みエンジニアの活躍の場は少ないのかな…』
いや、そんな事はないと思うのです。
組込みシステムは実現する機能が多いほど複雑になりがちです。複雑になると当然トラブルが発生しやすくなります。
突発的なトラブルが生じたときにすぐに対応できる機動力を確保するためには、社内に組込みエンジニアを抱えるほうが安心ではないですか。
実際に求人情報を見てみても、多くの会社が組込みエンジニアを求めている事が分かると思います。
つまり、組込みスキルを習得することは就職、転職に有利に働くし、その間口も広いと思います。転職を勧めているわけではないです…
最後に
近頃はIoT*6やAI*7なんて言葉をホントよく聞きますね。
これらはまさに組込みエンジニアが求められる領域です。
IoTはモノの中にセンサや通信の機能を組込んで実現します。
今後ますます組込みエンジニアの需要は高まりそうです。
AIの開発にはPython*8というプログラム言語が使用されることが多いですが、組込みスキルの学習を足掛かりにしてAI人材を目指すことも可能だと思います。
組込みスキルを持ったAIエンジニア、かっこいいですね!
プログラム言語を1つ習得すると別のプログラム言語の習得も少し楽になります。
まずはC言語を習得しましょう!
最初からAIエンジニアを目指すんだ!という方はPythonから学習するのが近道だと思います。。
これからC言語、システム設計、マイコン、周辺電子回路などの知識を発信していきたいと思っています。少しでも多くの方の役に立てば幸いです。
次回はどのようなロードマップで組込みエンジニアを目指すのかをお話ししたいと思います。
/*** このサイトでは脚注を豊富に記載します ***/
*1:マイコン:マイクロコントローラ。プログラムを書き込んで、機器を思い通りに動かせる。
*2:最低限の実務に耐えうるレベル:機能の仕様に沿ったプログラムを考えて書き、プログラムをテストできる。過去のエンジニアが書いたプログラムを理解できる。
*3:ソフトウェア保守:新機能の追加や不具合への対応などを行うこと。
*4:ソフトウェア:プログラムや機能などの物理的に目に見えないもの。
*5:ハードウェア:電子部品・回路などの物理的に目に見えるもの。
*6:IoT:あいおーてぃー。Internet of Things(モノのインターネット)と訳される。あらゆるモノがインターネットに繋がること。遠隔でモノの状態が分かったり、制御できたりして便利な世の中になる。モノ同士が会話できたりもする。
*7:AI:えーあい。Artificial Intelligence(人工知能)と訳される。自分で考えてくれるので賢い。だけど結局のところプログラムに従って動いているだけなので、言葉や感情は本当の意味では理解していない。
*8:ぱいそん。