組み込みエンジニアの役割、責任、仕事

本投稿は「Embedded Engineers: Roles, Responsibilities and Job Descriptions」の抄訳です。共著者のMaurice Kalinowski.と私は、これまでに何百人という組み込みエンジニアを採用してきました。最適な候補者を採用するには、その職務を説得力のある正確な言葉で説明できなければなりません。今回は、組み込みエンジニアの役割を理解し、その職務を説明するためのヒントをご紹介します。

本稿のトピック:

 

組み込みエンジニアとは何をする人か?

組み込みシステム/ソフトウェアエンジニアとは、製品の組み込みシステムの設計、開発、保守をサポートする人です。役割のひとつに、ソフトウェア開発が含まれることもよくあります。また、組み込みシステム全体に関する知識も必要とされます。

組み込みエンジニアの役割は、会社によって異なるため明確な定義というものがありません。さまざまな企業が「組み込みエンジニア」という呼称を使いますが、その役割は各社で異なります。組み込みソフトウェアを主に扱うエンジニアのことを組み込みエンジニアと呼ぶ企業もあれば、システム全体に携わるエンジニアを組み込みエンジニアと呼ぶ企業もあります。

組み込みエンジニアの役割

組み込みエンジニアは、特定のタスクを実行するのに必要な組み込みシステムを作る業務に携わります。また、システムを構成するソフトウェアの開発に携わることもよくあります。システムが正しく機能することを確認するために、システム全体のテストをサポートする場合もあります。

組み込みエンジニアの主な責任

組み込みエンジニアの職務は、肩書や経験によって異なります。ジュニア組み込みエンジニアは、システムの基本を学ぶことが最も重要な職務です。プリンシパル組み込みエンジニアは、システム全体の設計と改善をサポートします。

組み込みエンジニアのタイプ別の詳細な役割:

  • 組み込みシステムエンジニア:企業によっては、「組み込みシステムエンジニア」という肩書をジュニアエンジニア的な職位と捉えることがあります。このような場合、組み込みシステムエンジニアはスーパーバイザーの下で基本的なソフトウェア開発業務に携わり、スキルの向上に専念します。

    エンジニアの大部分を、「組み込みシステムエンジニア」または「組み込みソフトウェアエンジニア」と呼ぶ企業もあります。このような場合、エンジニアは以下の「シニア組み込みシステムエンジニア」と同様の業務に携わります。

  • シニア組み込みシステムエンジニア:自主性を持ってソフトウェアやシステムの開発と改善に携わります。複雑な技術的問題点を分析し、根本原因を診断し、解決策を見つけるのも役割の一部です。ジュニアエンジニアのメンターとなって指導に当たることもあります。

  • プリンシパル組み込みシステムエンジニア:ファームウェアの開発に専念します。高い自主性を持つことが多く、組み込みシステムと組み込みソフトウェアの設計にも携わる例が多々あります。また、会社の上層部と協働し、コミュニケーションする立場にあります。

  • 組み込みアーキテクト:組み込みアーキテクトは、システム全体の構造について決定権を持ち、その開発プロセスを監督する立場にあります。元組み込みエンジニアで、現在はデジタルマーケティングエージェンシーFire&Sparkの社長として活躍するDale Bertrand氏は、組み込みアーキテクトの役割を以下のように定義しています。「設計に関するハイレベルな決定権を持ち、プロジェクトチーム全体のことを考えて技術的要件の調整を図る。これには、プログラム言語やベンダーツールの選択のほか、システムを構成するコンポーネントの相互作用を決定することも含まれる」。

熟練の組み込みエンジニアになるためにはどのようなスキルが求められるか詳細をまとめた投稿もご覧ください。

組み込みエンジニアに必要なスキル

組み込みシステムエンジニアが業務を適切に遂行するためには、特定の技術的領域について適切な教育とトレーニングを受け、経験を積む必要があります。また、業務に長け、他者とうまく協働するための「ソフトスキル」も身につけなければなりません。

組み込みエンジニアに不可欠な技術的スキル

組み込みエンジニアは、特定のテクノロジーや製品について幅広い経験を身につけていきます。ただし、すべてのエンジニアに必要な基本的スキルや専門知識もあります。

  • 組み込みシステムエンジニアに不可欠なスキル:組み込みシステムエンジニアは、ビギナーや経験の少ない組み込みエンジニアに対する肩書としてよく使われます。通常、この肩書のエンジニアには次のスキルが求められます:
    • コンピュータ科学または工学の分野で学士以上の学歴
    • CまたはC++、あるいは両方でのプログラミング経験
    • 組み込みシステム開発とトラブルシューティング、およびリアルタイムOSに関する一定の経験
    • デバッギングの経験
  • シニア組み込みシステムエンジニアに不可欠なスキル:プロフェッショナルとして数年以上の経験を有しているエンジニアに対する肩書です。通常、この肩書のエンジニアには次のスキルが求められます:
    • 組み込みシステムエンジニアに求められるあらゆる教育と経験
    • 組み込みシステムに関する7~8年以上の経験。多種多様なシステムやファームウェア開発、リアルタイムOSに直接携わっていることも必要
  • プリンシパル組み込みシステムエンジニアに不可欠なスキル:最も経験豊富な組み込みエンジニアに対する肩書です。通常、この肩書のエンジニアには次のスキルが求められます:
    • シニア組み込みシステムエンジニアに求められるあらゆる教育と経験
    • 通常、組み込みシステムデザイナーとしての10年以上の経験(組み込みシステムの設計経験を含む)

組み込みエンジニアに求められる重要なソフトスキル

組み込みエンジニアにとって、技術的スキルはなくてはならないものです。しかし、ある種のソフトスキルのほうがより重要だと考える向きも少なくありません。特に、組み込みエンジニアがチームで協働し、新しいコンセプトを学び、成長するのを助けるソフトスキルが大切とされます。

航空宇宙・防衛業界およびライフライン業界に顧客を持つAIサービスインテグレーションプラットフォーム「Hypergiant」のシニア組み込みソフトウェア開発者Brent Horine氏は、次のように述べています。「個人的には、エンジニアの職務について色々な必須スキルを並べ立てて説明するのはいかがなものかと思っている。どのスキルも意外と簡単に学べるからだ。大切なのは、その人の関心事とソフトスキルが合致しているかどうかだろう。スタートアップ企業で働くのに本当に向いているかどうか、大企業のほうがふさわしいのではないか、マルチタスクができる人材か、それともひとつのタスクに専念したいタイプか、といったことを考える必要がある」。

組み込みシステムエンジニアおよびシニア組み込みシステムエンジニアに求められるソフトスキルには、以下のようなものがあります:

  • 分析的な物の考え方
  • テクノロジーに対する熱意。「熱意のある人のほうが、生産性が高い」とQtのプロダクトディレクターで元組み込みエンジニアのMaurice Kalinowskiは述べています。
  • 問題解決能力
  • 実用性と完全性のバランスの取り方を分かっている
  • エンジニアリングチームの一員としてうまく働いてきた経験。「自然にチームプレーヤーになれること。誰もがこのソフトスキルを求めている」(Kalinowski)
  • 文書と口頭での優れたコミュニケーション能力
  • 継続的に学習し、向上しようとする熱心さ

プリンシパル組み込みシステムエンジニアに求められるソフトスキルには、以下のようなものがあります:

  • 組み込みシステムエンジニアおよびシニア組み込みシステムエンジニアに求められるすべてのソフトスキル
  • 強靭な社会的能力
  • 極めて効果的なコミュニケーション能力

「元大学教授としては、エンジニアスタッフに必要なスキルを教えたいと思っている。だが本当に大切なのは、生涯学び続けることだ」とホーリン氏は付け加えています。

組み込みエンジニアの職務の説明例

組み込みエンジニアのタイプ別の職務を以下にまとめました。ダウンロードして、チームの一員として理想的な候補者を探す際にお役立てください。

組み込みエンジニアになるには

ほぼすべての組み込みエンジニアは、大学でプログラミングを学んでいます。大抵はコンピュータ科学や工学の学士号を持ち、修士号や博士号を取得している人も多数います。

多くの組み込みエンジニアは以下の分野の大学卒の学位を持っています:

  • コンピュータ科学
  • 電子工学
  • 電子/コンピュータ工学
  • 組み込みシステム工学
  • ロボティクス

組み込みエンジニアの勤務先となる企業は大くの場合、大卒学位の有無を重んじますが、もっと重視するのが実際の経験です。また組み込みエンジニアは、各種の認定を取得して、特定の分野の知識や技能があることを示すこともできます。

企業によってはそうした認定を重視するところもあります。たとえば次のような認定が有益です:

  • ナショナルインスツルメンツ(NI)のLabVIEW組み込みシステム開発者認定(CLED)
  • SME(国際生産技術者協会)の国際生産技術者資格(CMfgE)
  • 国際計測制御学会(ISA)のCertified Automation Professional (CAP)

組み込みエンジニアのキャリアパス

組み込みシステムエンジニアとしてのキャリアパスは、マネジャーになりたいかどうかによっても変わってきます。この世界で経験不足なビギナーから極めて経験豊富なプロフェッショナルへとキャリアアップしていく、一般的な道筋は次のようなものになります:

  • 組み込みシステム/ソフトウェアエンジニア
  • シニア組み込みシステム/ソフトウェアエンジニア
  • プリンシパル組み込みシステム/ソフトウェアエンジニア
  • チーフソフトウェアエンジニア
  • 最高技術責任者(CTO)

組み込みエンジニアは、組み込みエンジニアとしてのバックグラウンドを生かしながら、スキルを活かして別のポジションに進むこともできます。たとえば次のようなポジションがあります:

  • セールスエンジニア
  • プロジェクトエンジニア
  • 品質保証エンジニア

Career Path for Embedded Engineers

組み込みエンジニアの将来的な需要

エキスパートたちは、組み込みエンジニアの需要は今後も伸びていくだろうとみています。組み込みシステムが、消費者向け製品やその他の製品に組み込まれるケースが増えているからです。

米労働統計局では、多様な業界を対象に将来的な求人数の推定を行っています。組み込みエンジニアに限定した求人数の推定は行われていませんが、ソフトウェア開発者全体としての推定はされており、2019年から2029年の間に22%増との見通しが明らかにされています。これは、全職種の平均値を大きく上回る成長率です。

Qtで専門知識と技術を磨き、Qtで活躍する

Qtは、組み込みエンジニアのスキル向上をお手伝いします。組み込みエンジニアの皆様はぜひ、Qtエコシステムで多彩な組み込みチュートリアル(無料)をご活用ください。Qtシステムに関する深い知見を提供する、組み込みトレーニングにもご参加いただけます。

また、The Qt Company日本オフィスでは、ソリューションエンジニアを積極的に採用しています!ご興味のある方はこちらをご覧ください。