Embedded Software Engineer
About this role
Employer-provided description, formatted for easier reading.
Job Description & Skill Requirement:
- We are seeking a highly motivated Embedded Software Engineer with expertise in Drive-By-Wire (DBW) systems, Embedded C++, CAN communication, MATLAB/Simulink, and Linux/UNIX-based embedded software development. The engineer will support the development, integration, verification, and validation of autonomous and off-highway vehicle control systems.
- The role requires hands-on experience with safety-critical embedded software, Linux/UNIX environments, vehicle communication networks, model-based development, embedded debugging, and system integration across MIL, SIL, HIL, and vehicle platforms.
Key Responsibilities
Software Development & Integration:
- + Design, develop, and maintain embedded software for DBW, Autonomous Hauling, and Machine Control Systems.
+ Develop application and middleware software using C++ for real-time embedded control systems.
+ Implement and integrate software features for steering, braking, propulsion, chassis, hoist, and vehicle control.
+ Develop and maintain Linux-based software components and services.
+ Support software bring-up, integration, deployment, and troubleshooting on target hardware and vehicle platforms.
Model-Based Development:
- Develop control algorithms and system models using MATLAB, Simulink, and Stateflow.
- Perform model verification, validation, and auto-code generation activities.
- Support MIL, SIL, and HIL testing.
- Ensure compliance with MAAB modeling guidelines and model quality standards.
Vehicle Communication & Diagnostics:
- Design, develop, and validate communication software using:
+ CAN / CAN FD
+ SAE J1939
+ UDS
+ Automotive Ethernet
- Develop and maintain DBC files and communication databases.
- Analyze network traffic and troubleshoot communication issues using:
+ CANoe
+ CANalyzer
+ CANape
+ CAPL
+ Wireshark
- Support diagnostics, calibration, and software download activities.
Validation & Verification:
- Execute MIL, SIL, HIL, System Integration Testing (SIT), regression testing, and vehicle validation.
- Develop and maintain automated test frameworks and regression test suites.
- Perform fault injection, diagnostics validation, fail-safe verification, and communication network testing.
- Analyze test results, perform root-cause analysis, and support issue resolution.
Linux / UNIX Development & Support:
- Develop, build, deploy, and troubleshoot software in Linux and UNIX environments.
- Create and maintain Shell/Bash scripts for software deployment, testing, diagnostics, and development workflows.
- Utilize Linux tools for process monitoring, memory analysis, performance tuning, and log analysis.
- Configure, maintain, and troubleshoot Linux-based embedded systems and development environments.
- Support cross-compilation, build automation, and software packaging.
- Debug networking and communication issues using Linux diagnostic and monitoring tools.
Debugging & Troubleshooting:
- Perform embedded software debugging using Lauterbach TRACE32 and other target debugging tools.
- Investigate software, communication, integration, and performance issues in HIL and vehicle environments.
Required Skills & Experience:
- 3+ years of experience in Embedded Software Development, Drive-By-Wire Systems, Autonomous Systems, Vehicle Controls, Off-Highway Equipment, or similar domains.
- Strong proficiency in C++ software development for embedded real-time systems.
- Strong hands-on experience with Linux and UNIX operating systems.
- Experience in software integration, system validation, and troubleshooting of complex embedded systems.
- Experience with vehicle communication networks and safety-critical applications.
- Experience with CAN, CAN FD, J1939, UDS, and Automotive Ethernet.
- Experience with MATLAB/Simulink/Stateflow and model-based development.
- Experience with MIL/SIL/HIL testing and system integration.
- Experience with Lauterbach TRACE32 or equivalent embedded debugging tools.