シニア組み込みソフトウェアエンジニア(カナダ・リモート)
Hexagon Mining のデジタルマイニングおよび車両制御技術向けに、安全性が重要な ECU ファームウェアを開発します。 量産投入可能な組み込みシステムを設計、テスト、コミッショニングします。
仕事内容
- 安全関連の車両制御 ECU 向け組み込み C および C++ ファームウェアを開発、デバッグ、保守する
- 定義済みの要件から検証済みリリースまでファームウェアを完成させる
- CAN 2.0A/B、J1939、高位層 CAN プロトコル、シリアルリンクを使用して車両通信を構築・保守する
- デジタルおよびアナログ入力、PWM と比例出力の I/O・アクチュエーションソフトウェアを開発する。信号調整、スケーリング、キャリブレーション、妥当性チェックを含む
- ウォッチドッグ、モニター、故障分類、安全状態への遷移を通じて診断、故障検出、フェイルセーフ動作を実装する
- 現行ハードウェア向けに量産ファームウェアプラットフォームの移行とモダナイズを支援する
- 分解され追跡可能な要件に基づいて開発し、双方向トレーサビリティを維持する
- 設計文書、インターフェース仕様、検証記録を作成・保守する
- 設計レビューおよびコードレビューを実施し、参加する
- 自動化された組み込み単体テスト、統合テスト、ハードウェアインザループテストを作成・保守する
- 組み込みビルド、静的解析、自動テスト、バージョン管理、リリースパッケージングの CI/CD パイプラインを強化する
- データロギング、接続性、リモート診断、可観測性を支援する Linux ベースのコプロセッサおよびサービスを扱う
- ベンチ、車両、現場でのコミッショニングを支援し、統合テストの問題を調査する
- ハードウェア・電気エンジニア、システムアーキテクト、機能安全スペシャリスト、アプリケーションソフトウェアチーム、プロダクトマネジメントと連携する
応募要件
- 電気・電子工学、コンピュータ工学、メカトロニクス、コンピュータサイエンス、または関連分野の学士号もしくは修士号、または同等の実証済み経験
- プロフェッショナルな組み込みソフトウェア開発経験 10 年以上
- 32 ビットマイクロコントローラでの量産ファームウェア開発経験 2 年以上
- 組み込み C の専門知識と、C++ の実務能力
- 固定小数点、リソース制約下のプログラミング、および動的メモリ割り当てを禁止するコードベースの経験
- ベアメタルまたは RTOS 開発経験。割り込み処理、優先度設計、スケジューリング、周期タスク、タイミング・レイテンシ分析、マルチコアシステムを含む
- ハードウェア回路図、MCU データシート、リファレンスマニュアルを読み取り、周辺機器、ドライバ、I/O を設定できる能力
- CAN 2.0A/B および J1939、または同等の高位層プロトコルの実務経験
- メッセージセットおよび信号データベースの定義・保守経験
- 標準 CAN ツールを使用したバス解析および障害切り分けの経験
- デバッグプローブ、オシロスコープ、ロジックアナライザー、バスロガーの実務経験
- MISRA などの強制的なコーディング標準に従い、静的解析を使用した経験
- Linux 開発環境、Git ワークフロー、コードレビュー、CI/CD パイプラインに精通していること
- TCP/IP ネットワークおよび Arm ベースプロセッサ上の組み込み Linux デバイスとクラウドの接続経験
- 歓迎:マルチコア車載グレードマイクロコントローラおよび商用安全認証済み ECU プラットフォームの経験
- 歓迎:コンテナ化されたビルド環境およびセルフホスト型 CI ランナーの経験
- 歓迎:Yocto または Buildroot の BSP・レイヤーの保守、ならびにカーネルとデバイスツリーの設定経験
- 歓迎:要件管理ツールおよび Jira、Confluence、または同等プラットフォームの使用経験
- 歓迎:正式で追跡可能な要件およびインターフェース管理文書の作成経験
- 歓迎:テスト自動化、ツール開発、データ分析のための Python およびシェルスクリプト経験
- 履歴書およびカバーレターを提出できること
福利厚生
- フルタイムのリモート勤務
- 出張は 10% 以下を想定
- 成長と継続的な学習の機会
- 多様性を尊重し、機会均等を実現する職場
