
ずっとコード書いてるだけでは…?
こうした悩みを解決します。
仕事内容
パソコンによる閲覧推奨↓

組み込みエンジニアの仕事内容は大きく分けて5つあります。

コード書く以外にもやることいっぱいありますよね
1つずつ紹介していきます。
開発業務
こういう製品を作る、というのがまずあって、その設計を行います。
マイコンのピンアサイン(=ピンの機能割り当て)に始まり、演算・通信・制御のマイコン内部のモジュールの設計をしていきます。
回路図見ながら、アナログ入力の信号レベルはどうなんだろ、このピンのHiレベルをトリガとしてこの機能を動かせばいいのかな、とか色々考えつつコードを書いていきます。
機能毎に単機能試験(=コードレベルで正常動作するか)を実施。
その後、実装した機能を組み合わせた状態で結合試験(=全体の流れで不整合がないか)を実施。

結合試験の時から、ここバグっぽくね?みたいなのが出始めます
最後に、ハードウェア、ソフトウェア、機構全て完成した状態で総合試験(=製品と同等の状態で実仕様を想定)を実施。
うちではこれを設計者ではなく製品を全く知らない評価担当の人にやってもらっていました。

開発スケジュールの最終段階なので、ここで致命的なバグが出ると大変なことになる
これらの試験を行う前にはソースコードレビューを実施して、予め想定されるバグの洗い出しと現状の確認を行い、レビュワーの方々より試験可能な品質であるという承諾を得る必要があります。
書類
設計と同時にソフトウェア全般の仕様書も作っていきます。
これらは自分のやってることをまとめるために有用なもちろん、技術資料として将来的に残す意味もありやっておかねばならない業務の1つです。
そしてこれらが必須となる最も重要な理由が、ソースコードレビューや評価試験を実施するための配布物として使うから、です。

要は、仕様と評価を照らし合わせるV字モデルに沿ってます
製造ライン対応
製造ラインでは製品の組み立てや出荷前検査が行われます。
パソコンと製品を通信させて検査工程を自動化する場合、どういうコマンドがあって、それで何ができるのかを製造の方と打ち合わせしながら製造ラインを構築します。
また稼働中の製造ラインで検査不良が発生することがあると、呼ばれて対応することもあります。
営業問い合わせ
営業の方からお客様の使用環境で製品を使用できるか、どうやって取り付ければよいかなど問合せが来ることがあり、対応することがあります。
すぐ解決できることであればその場で回答し、要調査の内容であればいったん調べて折り返し回答します。
不具合品検証
購入したお客様より不具合品として戻ってきた製品の検証を行います。
端子にゴミが入って動作しない、製品を落とした衝撃で配線の不良が生じた、過入力で基板のある部品が焼損した、など様々な原因で不具合が生じます。
なんでこんなことするの?ってことをする人…たくさんいます。

こういう時に使用上の注意を取説等に書いておくと、どちらの責任の切り分けができる
製品企画
これは開発リーダーのやることになります。
原価利益計算やスケジュール立案、競合分析に規格調査など行い、会社に対してプレゼンを行います。
許可が下りれば製品開発スタートとなります。
製品企画を行うようになると、開発業務だけでなく製造、品質、営業など他部署との連携が非常に大事になります。
リーダーとしてチームをまとめ、スケジュールに沿って全体を俯瞰しながら回すのが仕事になり、コーディングすることはないですね。

組み込みエンジニアの到達目標はここですね
あわせて読みたい:
1日の流れ
1日の流れとしては予め決められたスケジュールを遅延しないよう、上で述べた開発業務と書類作成を並行して行うことになります。
これを基に、割込みで製造ラインや営業、品質部署から電話が来れば対応します。
バグ対応で1日考えて終わる日もあれば、コードを書かず何日も書類を作り続けることもあり、その時々によってやることが違いますね。
まとめ
組み込みエンジニアの仕事内容は下図の通りです

コメント