-
Analyze customer, system, electronics, interface, operational, safety, and validation inputs to identify software-relevant requirements and behaviours including interfaces with CAN, serial, Ethernet, discrete I/O, telemetry, command-and-control messages, sensor inputs, actuator outputs, vehicle status, and system health reporting.
-
Decompose higher-level requirements into clear, concise, feasible, verifiable, and traceable software requirements.
-
Allocate requirements to the appropriate software layers and maintain traceability from source requirements through validation evidence.
-
Work with project, software, engineering support, and test and validation teams to allocate requirements across drivers, hardware abstraction layers, middleware, application logic, control laws, diagnostics, communication interfaces, health monitoring, and integration logic.
-
Defines expected software behaviour for normal operation, startup, shutdown, degraded modes, invalid inputs, communication loss, timeouts, fault conditions, diagnostics, recovery, and safe-state logic in alignment with the overall system and/or subsystem operational behaviors.
-
Develop acceptance criteria, validation requirements, test objectives, test cases, procedures, expected results, pass/fail criteria, required logs, and objective-evidence expectations in collaboration with the project team.
-
Maintain bidirectional traceability among source requirements, software requirements, software components, test cases, execution results, defects, and verification evidence.
-
Support and conduct unit, component, bench, test-jig, SWIL/HIL, integration, regression, system, and acceptance testing as applicable.
-
Review logs, test outputs, anomalies, defect reports, and integration issues to determine whether requirements are satisfied or require clarification, rework, or retest.
-
Works with software, electronics, systems, mechanical, test, production, quality, and field teams to resolve requirements gaps, interface issues, implementation assumptions, and validation concerns.
-
Support requirements and design reviews, validation and integration readiness, release readiness, ATP inputs, verification reports, and software release evidence packages.
-
Collaborate with the project team to develop requirements, validation plans, test cases, test procedures, evidence reviews, and verification recommendations within the assigned project scope.
-
Support C++, Python, scripting, automation, simulation utilities, log-processing tools, and validation-support software as required.
-
Support controlled requirements baselines, change-impact analysis, configuration management, version control, and release documentation.
-
Working knowledge of C++ and Python for software understanding, scripting, automation, test support, or validation utilities.
-
Practical experience developing and using unit-test frameworks, static-analysis and code-quality tools, test jigs, bench setups, SWIL/HIL systems, simulation environments, and laboratory validation equipment.
-
Experience with Git-based source-control platforms and continuous-integration tools, including Gitea, GitLab, Bitbucket, Jenkins, or equivalent systems.
-
Bash, MATLAB/Simulink, or related engineering scripting and automation tools.
-
Ability to interpret interface control documents, wiring information, electrical schematics, signal definitions, I/O maps, and software architecture information.
-
Basic use of requirements management tools such as Codebeamer, Polarion, DOORS, Jama, Azure DevOps, or equivalent.
-
Basic use of Jira or other tools for issue, defect, workflow, or project tracking tools.
-
Microsoft Word and Excel for requirements, traceability, reporting, and evidence management.