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.
Review key factors to help you decide if the role fits your goals.