
ITプロパートナーズ 代表エージェント 木村 直人

最新記事 by ITプロパートナーズ 代表エージェント 木村 直人 (全て見る)
- 【要注意!】フリーランスが契約書で確認すべき項目とは? - 2019年2月7日
こんにちは!
ITエンジニア・webディレクター・webデザイナーなどのIT人材の自立・キャリアを支援するITプロパートナーズの木村です。
弊社では、独立精神旺盛な優秀なエンジニアの方々の独立・起業サポートや、フリーランス支援を行っています。
こちらでは、日々の現場でサポートさせていただいている中での、プロの目線で、エンジニアに役立つお話をしてまいります。
今回は、組み込みエンジニアについてです。
どういった仕事に就くのか、仕事選びのポイントは人それぞれかと思います。
しかし、、複数評価ポイントを挙げてもらった際、100人いれば、99人が答えるのが、給与・年収です。
そこで今回は、地味ながら実はニーズの高い組み込みエンジニアの年収を見ていきたいと思います。
そもそも組み込みエンジニアとは?

組み込みエンジニアの年収について見ていく前に、「そもそも組み込みエンジニアって何者なの?」という方も意外と多いかもしれません。
まずは、そこから確認しましょう。自動販売機を例にとって説明します!
お金を入れて、欲しい商品のボタンを押すと商品が出てきます。
お釣りがあれば、レバーをひねると、お釣りが出てきます。
さらに、商品がなくなれば売り切れという文字を表示したり、売り切れランプが点灯しますよね。
この一連の自動販売機の仕組について、身近な当たり前のものすぎて、どう実現しているか考えた経験のある方はほとんどいないと思いますが、実はシステム制御なのです。
システムと言えば、通販サイトなどのWebシステムや、企業のERP(企業資源計画)システム、スマホアプリなどをイメージする方が多いかと思いますが、それ以外の機械類を制御するためのシステムがあります。
そういった、機械類の制御のためのシステムを組み込みシステムと呼びます。
自動販売機以外にも、電子レンジやエアコン、TV・レコーダーなどの電化製品、駐車場・駐輪場の料金支払い機、銀行のATM、更にはカーナビや車本体などなど、さまざまな機器で人知れず組み込みシステムが動いています。
それらの組み込みシステムを作る人が組み込みシステムです。
具体的に言えば、マイクロコントローラ(マイコン)と呼ばれる、電子機器の制御用に特化した、小さな集積回路用のプログラミングを設計・作成します。
ちなみに、このマイコン、スマートフォンのSoCと基本的な構造は同じです。
ただ、構成する演算装置に大きな違いがあります。
スマートフォンのSoCに含まれる演算装置は汎用性があり高機能・高価格なのに対して、マイコン用の演算装置は、製品の制御に特化した専用品でSoCの演算装置よりずっと低価格なことが多いです。
少々、話が反れました。
組み込みエンジニアのニーズについても触れておきましょう。
組み込みエンジニアのニーズはあるのか
様々な電子機器上で組み込みシステムは動作しているため、需要は決して低くはありません。
従来はIT企業というよりも、電気機器メーカーや自動車メーカーなど製造業からのニーズが中心でした。
しかし、ロボットやドローンにも組み込みシステムは必要なため、ITベンチャーからのニーズも高まりつつあります。
製造業からも、従来からある機器にセンサー類を取り付けてデータを収集してビックデータを取得するなど、新たな付加価値を創造する動きがありますが、各機器のセンサー類を制御するためにも組み込みシステムが必要ですので、ニーズは高まっています。
特に自動車業界は、自動運転技術の登場で、より高度な組み込みシステムの開発が必要となっているため、大手電機メーカーなどから組み込みエンジニアのヘッドハンティングが行われているとの報道もあります。
更に言えば、IoT(Internet of Things)実現には、各機器にセンサーを取り付け制御する仕組みと各機器がそれぞれインターネットに繋がるための仕組みが必要ですが、その仕組みを実現するのはまさに組み込みシステムです。
組み込みエンジニアのニーズは高まる一方だと言えます。
組み込みエンジニアに必要なスキル

さて、そんな組み込みエンジニアですが、ここでは必須スキルといえる、組み込みシステムで良く使われる言語についてご紹介したいと思います。。
具体的な言語としては、以下のようなものが挙げられます。
- C言語系(C、C++)
- Java
- 各種、アセンブラ
C言語系(C、C++)
かつては企業の新人研修として鉄板だったC言語ですが、最近のプログラマー・システムエンジニアは別の言語で受けていることが多く、若い人を中心にC言語は落ち目だと思っている方も少なくないように感じます。
しかし、組み込みシステムの世界では、C言語は最重要言語と言っても過言ではありません。
組み込みシステムを作成するときにポイントとなるのが、安価な反面、演算装置の性能もメモリーの搭載量も制限された、つまりハードウェアリソースリソースが少ないマイコン上でもフリーズせずに安定稼働できるか、という点です。
C言語が今どきの新人研修で使われない理由としては、メモリーの領域確保や解放といったハードウェアリソースの確保を意識する必要があり、扱いにくい点が敬遠されたためですが、ハードウェアリソースの管理が肝となる組み込みシステムにとっては、むしろ都合が良いのです。
ちなみにですが、C言語はオブジェクト指向ではないと思っている方も多いですが、C言語を拡張したC++はオブジェクト指向を取り入れており、C言語でもオブジェクト指向として振舞わせることが可能となっています。
Java
現在、世界で最も利用されている言語と言われ、新人研修でもC言語に取って代わったJavaも組み込みシステムでよく使われています。
Javaはかつて組み込みシステムに不向きだと言われていました。
その理由はJava仮想マシンの存在です。
Javaは様々なOS・ハードウェア上で動作しますが、それを実現しているのがJava仮想マシンです。
本当の環境の上に仮想環境を展開し、その上でJavaを動作させることで、本当の環境の違いを吸収しています。
この仕組みは様々な環境で動作する反面、仮想環境の作成・維持を行う分、C言語と比べてハードウェアリソースを大食いしてしまう、という欠点に繋がります。
そのため、ハードウェアリソースが限られた組み込みシステムには不向き、という考え方が一般的でした。
しかし、近年のハードウェアの進化は目覚ましく、そこまでカツカツ考えなくても良くなったこともあり、むしろJavaで書かれたソースコードは、他の同等機種に移植するなどの再利用性が高い点が注目され、Javaで組み込みシステムを作ることも一般的になりつつあります。
JavaはC言語よりも処理が遅いという欠点があるので、即時性を求められる環境では使えないなど、いくつかの制約はありますが、Javaも主要言語の一つと呼んで間違いありません。
アセンブラ言語
そして、組み込みシステムでなければ、基本的には出てこないのがアセンブラ言語です。
たまに勘違いされている方がいますが、「アセンブラ」という言葉は「オブジェクト指向」と同じような位置づけです。
言語の性質を表すものであって、「アセンブラ」という名前の言語があるわけではありません。
具体的なアセンブラ言語としては、UNIX用のasやMicrosoft Macro Assembler(MASM)などが知られています。
機械の演算訴追は機械語を読み取って動作するので、機械語で記述したソースコードがもっとも効率的にハードウェアリソースを制御することが可能です。
しかし、機械語をそのまま人間が読み書きするのは難しいので、機械語を人間でも読み書きできるようにしたのがアセンブラ言語なのです。
アセンブラ言語は、直接ハードウェアリソースをコントロールするので、演算装置が変わった同等他製品に移植ができないといった再利用性の低さと、組み込みシステムくらいしか利用される場面がないため、今の若い人で書ける人が少ないなどの欠点もあり、最近はやや使われなくなってきた印象を受けます。
次に、組み込みエンジニアの年収についても見ていきましょう!
組み込みエンジニアの年収って?

年収がすべてではないですが、転職やキャリア選択の際に重要なポイントになるのが年収面かと思います。
そこで組み込みエンジニアの年収を確認しておきます。
実は、組み込みエンジニアの年収は、自身の利用できるプログラミング言語に大きく左右されます。
すでにお伝えした通り、アセンブラは組み込みシステムくらいでしか使われません。
裏を返せば、組み込みシステム以外からの需要がないということを意味します。
一方でC言語ですが、汎用言語のため組み込みシステム以外でも使われます。
改めて触れますが、C言語は人工知能開発の最適解ともいわれており、C言語を操れるエンジニアのニーズが高まっています。
結果、アセンブラの場合約550万円、C言語の場合約660万円と100万円ちかい年収格差が発生しています。
ちなみに、プログラマの平均年収は約420万円、システムエンジニアの平均年収550万円と言われているので、C言語の組み込みエンジニアはITエンジニアの中でも高収入エンジニアと言えそうです。
組み込みエンジニアが年収をあげるには?

最後に、すでに組み込みエンジニアの方や、今後組み込みエンジニアに進みたい方が、どうすれば年収を上げることができるのか、その方法をご紹介したいと思います。
①C言語、Javaを覚える
まず一つ目は、アセンブラしかできない、という方はC言語やJavaを覚えるということです。
特にC++やJavaといったオブジェクト指向はアセンブラにはない考え方のため、最初難しさを感じるかと思いますが、一度理解してしまえば、他の言語、PythonやRubyの習得も容易になり、組み込みエンジニア以外の道も開けることになります。
②人工知能開発エンジニアへのキャリアアップ
もう一つの方法は、人工知能開発エンジニアへのキャリアアップです。
上でも少し触れましたが組み込みエンジニアの方たちが得意とするC言語は、人工知能開発の最適解と言われています。
ただ、C言語が書けるだけですぐに人工知能開発エンジニアになれるわけではありません。
人工知能のアルゴリズムに使われている数学知識があった方が良いですし、C言語と並んで人工知能開発に使われるPythonも習得しておいた方が良いでしょう。
しかし、PythonはC言語に比べると、ずっと習得難易度の低い言語ですので、キャリアアップのハードルは他のITエンジニアよりもずっと低いと思います。
ちなみに、人工知能開発エンジニアであれば、年収1000万円オーバーも夢ではありません。
③トレンドをキャッチアップした、市場価値の高い組み込みエンジニアを目指す
「いや、あくまで組み込みエンジニアとして活躍したいんだ」という方も多いかと思います。
そういう方は、新技術の動向に関心を持って、トレンドを追いかけ市場価値の高い組み込みエンジニアを目指すように心がけてください。
例えば、今後ドローンや車の自動運転、IoT関連で組み込みシステム案件が増えると思われますが、それぞれの注意点はどこでしょうか?
この問いに答えられるかどうかで、その方の市場価値は大きく変わります。
まとめ

今回は組み込みエンジニアの年収について見てきました。
どちらかと言うと地味な存在である組み込みエンジニアですが、C言語を操ることができれば、ITエンジニアの中でも比較的高収入を目指せます。
組み込みエンジニアも面白そうだと感じた方は、今後、活躍の場も拡大すると思いますので、積極的にキャリアアップを目指していただけると幸いです。
また、すでに組み込みエンジニアだという方も、今回の記事を参考に年収アップを目指していただけると嬉しいです。
ITプロパートナーズに登録すると3つのメリットがあります!
①他には無い!弊社だけの週2日〜のフリーランス案件!
ITプロパートナーズでは、フリーランスエンジニアが週2日から働ける案件を数多く取り揃えております。 そのため、他案件やご自身が開発するサービスと並行可能です。 独立資金を貯めたい方や趣味に時間を費やしたい方には非常に重宝して頂いております。 契約期間も3ヶ月~で安定収入を実現しており、稼働文の請求となるのでリスクもないです。
②成長企業の直案件で高単価を実現!! 週3日で月額50万円も!!
弊社の95%以上が高単価の直案件になります。 常時、50件以上の週2~の案件を保有しています 社長の木村を始め、ITプロパートナーズの社員は圧倒的にITベンチャー出身者が多いです。 故に多くのベンチャー企業に精通しています。 スタートアップのベンチャー企業で最大限のバリューを発揮したい方にはオススメです。③専属エージェントがしっかりサポート!!
希望に合致した案件をご紹介可能です。 また、契約交渉や債権管理を代行します。 契約が切れても、未稼働期間なしで次の継続的な案件を随時ご紹介します!