ECU Software Engineer I-41012


General Responsibilities:
The primary responsibility of this position is to design powertrain ECU software, specifically low level driver software (a.k.a BSW or basic software) developed for 32-bit single and multi-core microcontrollers. Secondary responsibilities include test software development, software validation, software troubleshooting, and root cause analysis.

Job Responsibilities:
This position will be required to work directly with the Hitachi project teams in Farmington Hills Michigan, Kentucky, and Japan to support the design and functionality of the software delivered to the customer. The engineer will follow Hitachi’s corporate software development process to produce high quality software artifacts. The engineer will analyze requirements, write software design specifications, develop & debug code, write software validation test plans, and execute software validation test plans, while maintaining proper version control and configuration management.

The specific responsibilities of the Software Design Engineer shall include (but shall not be limited to) the following:

  • Analyze ECU requirements specifications, identify software requirements, and develop a software requirements matrix to show software meets all specified requirements.
  • Write software design specifications, software interface specifications, and software verification documents. Assist in software design and code reviews executed.
  • Develop C and assembly code, make files, linker command files, and any necessary build scripts or batch files. Use debugger tools to flash ECU and debug software on a HIL bench.
  • Perform unit testing and integration testing on a HIL bench to verify software against the software design specifications.
  • Exercise version control by checking in and out of a source code repository, and follow department policies for maintaining trunk and branch integrity. Follow department policies for change control to manage software change requests and maintain traceability.
  • Write software validation test plans, execute software validation procedures, and generate reports to show validation status.


  • Possess a bachelor degree in Electrical Engineering, Computer Science Engineering or a related technical area.
  • Be proficient in software programming languages such as assembly, C or other high level languages.
  • Be familiar with automotive component and vehicle test procedures, including EMI/EMC testing.
  • Be generally knowledgeable in the automotive development process.
  • Have experience with electronic control systems.
  • Have experience with design specifications and detailed software documentation.
  • Have experience with software validation test procedures.
  • Have experience with NXP, Infineon, and/or Renesas 32-bit microcontrollers.
  • Have working knowledge of debuggers and emulation tools, CAN interface tools and other serial communication interfaces.
  • Have experience coordinating and facilitating several small projects or one major project.
  • Experience with ETAS and/or ATI calibration tools and real time OS kernels is a plus.
  • Must be able to travel for to Europe, US and Japan.

Additionally, the ability to work independently with minimal direction is required as are strong verbal and written communications skills. Experience with PCs and application software, such as MS Office tools and Lotus Notes are also required.