Required Education/Experience:
- Bachelor's degree in computer science, software engineering or relevant field required.
Required Qualifications:
- The main function of an embedded software engineer is to apply the principles of computer science and mathematical analysis to the design, development, testing, and evaluation of the embedded software and systems that make computers work
- A typical embedded software engineer researches, designs, develops and tests operating systems-level software, compilers, and network distribution software for medical, industrial, military, communications, aerospace, business, scientific and general computing applications.
Position's Contributions to
Work Group:
- This role supports the Electrification Verification/HIL team within the Advanced Power Technologies Team
- The team is responsible for verification and validation of electrification programs embedded controls and software across multiple CLIENT machine and stationary applications
- The engineer will help develop, maintain, and use HIL simulation capabilities to find software and controls issues earlier in the development cycle and improve regression-test coverage
- The current team supports OPAL-RT and d
SPACE HIL
benches and performs release/regression testing for electrificatoin controls and software
- The role works closely with controls and software developers to support software releases and new machine/program development.
Typical task breakdown:
- A typical day may include a combination of:
- Developing or modifying MATLAB/Simulink plant models for real-time HIL simulation.
- Configuring and operating OPAL-RT or d
SPACE HIL
benches.
- Developing test plans and test cases from software or system requirements.
- Writing and maintaining Python-based automated regression tests.
- Running automated and manual software regression tests.
- Reviewing test results and investigating failures.
- Using
CAN/J1939
tools and diagnostic data to troubleshoot embedded software and system behavior.
- Working directly with controls/software engineers to reproduce issues, debug new functionality, and verify fixes.
- Maintaining HIL hardware, harnesses, models, configurations, and test documentation.
- Supporting commissioning of HIL benches for new applications.
- Develop and maintain real-time electrificatoin plant models using MATLAB/Simulink.
- Develop, configure, and maintain dSPACE and
OPAL-RT HIL
test environments.
- Develop requirements-based HIL test plans and test cases.
- Develop automated regression testing using Python or similar scripting/programming tools.
- Execute software release and regression testing using both automated and manual methods.
- Analyze test results, document defects, and support root-cause investigation.
- Work closely with embedded controls and software developers to validate new features and debug software/system issues.
- Support
CAN/J1939
communications, diagnostics, fault injection, and ECU integration testing.
- Maintain test traceability and test-result documentation.
- Help improve verification efficiency through reusable test automation and standardized HIL processes.
Required Technical Skills:
- Verbal and written communication skills, problem solving skills, customer service and interpersonal skills.
- Knowledge of reading schematics and data sheets for components
- Basic knowledge of the full software development lifecycle: from business/systems analysis, through requirements gathering and functional specification authoring, to development, testing and delivery.
- Basic ability to troubleshoot issues and make system changes as needed to resolve issue.
- Basic knowledge of computer hardware and software. Solid programming experience in C or C++
- Knowledge of computer development software as it relates to embedded systems, such as SQL, Visual Basic, etc
- Develop and maintain real-time electrificatoin plant models using MATLAB/Simulink.
- Develop, configure, and maintain dSPACE and
OPAL-RT HIL
test environments.
- Develop requirements-based HIL test plans and test cases.
- Develop automated regression testing using Python or similar scripting/programming tools.
- Execute software release and regression testing using both automated and manual methods.
- Analyze test results, document defects, and support root-cause investigation.
- Work closely with embedded controls and software developers to validate new features and debug software/system issues.
- Support
CAN/J1939
communications, diagnostics, fault injection, and ECU integration testing.
- Maintain test traceability and test-result documentation.
- Help improve verification efficiency through reusable test automation and standardized HIL processes.
Soft Skills:
- Strong problem-solving and troubleshooting ability.
- Able to work collaboratively with controls, software, systems, and test engineers.
- Clear technical communication and documentation.
- Comfortable working independently on technical problems while keeping the broader development team informed.
- Organized and disciplined in test execution, defect documentation, and follow-through.
- Willingness and ability to learn new HIL hardware, software tools, machine applications, and control systems.
Top 3
Skills:
- Ability to learn
- Matlab/Simulink
- 3- Some sort of programming language (C, Python, etc.
..)
Additional Role Details:
- This role is for an HIL verification engineer for electrification teams
- The knowledge of Malab/Simulink, Python and HIL is a benefit
Responsibilities:
- Design and implement software of embedded devices and systems from requirements to production and commercial deployment for product lines.
- Write and code logical and physical database descriptions and specify identifiers of database to management system or direct others in coding descriptions.
- Analyze and enhance efficiency, stability and scalability of system resources
- Review project requests describing database user needs to estimate time and cost required to accomplish project.