The primaryresponsibility of this position is to design powertrain ECU software,specifically low level driver software (a.k.a BSW or basic software) developedfor 32-bit single and multi-core microcontrollers. Secondary responsibilitiesinclude test software development, software validation, softwaretroubleshooting, and root cause analysis.
This position will berequired to work directly with the Hitachi project teams in Farmington HillsMichigan, Kentucky, and Japan to support the design and functionality of thesoftware delivered to the customer. Theengineer will follow Hitachi's corporate software development process toproduce high quality software artifacts. The engineer will analyzerequirements, write software design specifications, develop & debug code, writesoftware validation test plans, and execute software validation test plans,while maintaining proper version control and configuration management.
The specific responsibilitiesof the Software Design Engineershall include (but shall not be limited to) the following:
Analyze ECUrequirements specifications, identify software requirements, and develop asoftware requirements matrix to show software meets all specified requirements.
Write software designspecifications, software interface specifications, and software verificationdocuments. Assist in software design and code reviews executed.
Develop C and assemblycode, make files, linker command files, and any necessary build scripts orbatch files. Use debugger tools to flash ECU and debug software on a HIL bench.
Perform unit testing andintegration testing on a HIL bench to verify software against the softwaredesign specifications.
Exercise versioncontrol by checking in and out of a source code repository, and followdepartment policies for maintaining trunk and branch integrity. Followdepartment policies for change control to manage software change requests andmaintain traceability.
Write softwarevalidation test plans, execute software validation procedures, and generatereports to show validation status.
Possess a bachelor degree in ElectricalEngineering, Computer Science Engineering or a related technical area.
Be proficient in software programming languagessuch as assembly, C or other high level languages.
Be familiar with automotive component andvehicle test procedures, including EMI/EMC testing.
Be generally knowledgeable in the automotivedevelopment process.
Have experience with electronic controlsystems.
Have experience with design specifications anddetailed software documentation.
Have experience with software validation testprocedures.
Have experience with NXP, Infineon, and/orRenesas 32-bit microcontrollers.
Have working knowledge of debuggers andemulation tools, CAN interface tools and other serial communication interfaces.
Have experience coordinating and facilitatingseveral small projects or one major project.
Experience with ETAS and/or ATI calibrationtools and real time OS kernels is a plus.
Must be able to travel for to Europe, US and
Additionally, the ability to work independentlywith minimal direction is required as are strong verbal and writtencommunications skills. Experience withPCs and application software, such as MS Office tools and Lotus Notes are alsorequired.