Lead Engineer (Control Module Software Validation)
This job is no longer active.
View similar jobs.
POST DATE 8/13/2016
END DATE 10/28/2016
Farmington Hills, MI
JOB DESCRIPTIONAPPLY GENERAL RESPONSIBILITIES:
The primary role of the Software Validation Engineer is to plan, execute, and document software
testing activities for both production software and in-house test applications. The emphasis is on
low level driver software for various powertrain control modules, including engine control
modules (ECM), transmission control modules (TCM), and hybrid inverter modules. Experience
with transfer case control module (TCCM) and active suspension controllers are also a plus.
Additional roles include support for software process development and software process audits.
The Software Validation Engineer will be part of the Software QA Group and will work directly
with the software design team to support the validation phase of the software development
lifecycle. The engineer will analyze the software requirements, develop a test plan and test
schedule, create test specifications, execute test cases, and generate test reports. The engineer
shall exercise proper version control on all work products including plans, specifications,
reports, tool scripts, target software, etc.
The Software Validation Engineer shall also participate in the Software Engineering Process
Group (SEPG) to support development of software processes that comply with CMMI, TS16949,
and ISO26262. The engineer will author process manuals and training modules, deploy
processes to the design teams, conduct process training, and engage in internal process audits.
The primary work location is Farmington Hills, Michigan. Frequent travel will be required to
customer sites in southeast Michigan during certain program phases. Occasional interstate
travel may be required, primarily to manufacturing sites in the southern United States.
International travel is rare and is not generally required for this position, however the engineer
shall be qualified to travel internationally if it becomes necessary.
The successful candidate will possess a well-rounded knowledge base in embedded software
design (at the microprocessor register level), electrical circuits, and vehicle powertrain systems
(particularly with respect to powertrain control modules, sensors, and actuators).
The specific responsibilities of the Software Support Engineer shall include (but shall not be
limited to) the following:
a. Develop test plans and test schedules. Monitor and communicate the overall validation
project status to project stakeholders.
b. Develop test specifications to document test environments, test cases and test procedures,
tools, and equipment necessary to test software function and performance. Establish
complete requirements traceability and insure full test coverage.
c. Maintain a test case library to support test case re-use and highly efficient test execution.
Generate tool scripts to automate certain test cases. Execute test cases and record data in
test reports. Track software failures in the validation issue list on the team collaboration site.
d. Understand how to use an ANSI-C compiler, assembler, linker, make files, and related
software build tool chain components. Also have knowledge of version control tools such as
PVCS, CVS, SVN, CM Synergy, Rational Clear Case, etc.
e. Utilize software debuggers to execute and debug software using techniques such as
breakpoints, watch windows, and program trace. Also be able to reprogram flash memory
with various debug interfaces (Nexus, JTAG, DAP).
f. Demonstrate capability with measurement & test equipment such as oscilloscopes, digital
multi-meters, current probes, function generators, serial communication tools such as
CANalyzer or VehicleSpy.
g. Able to use automotive measurement and calibration tools such as ETAS INCA or ATI
Vision. Understand concept of emulation calibration data memory and ASAP display table
h. Familiar with low level drivers such as ADC, PWM, GPIO, timer modules, SPI, SCI, LIN,
CAN, SENT, DMA, external bus interfaces, memory management units, ECC, flash memory,
i. Familiar with real-time operating systems (RTOS), interrupt service routines, exception
handlers, task scheduling, and multi-core CPU operation.
- Possess a bachelor degree in Electrical Engineering, Computer Engineering or a related
- Be proficient in software programming languages such as assembly, C or other high
- Be familiar with automotive component and vehicle test procedures, including EMI/EMC
- Be generally knowledgeable in the automotive development process.
- Have a minimum of 7-10 years applicable experience in automotive environment.
- 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 PowerPC (MPC56xx/57xx) and Infineon Aurix (TC2xx)
- Have working knowledge of debuggers and emulation tools, CAN interface tools and
other serial communication interfaces.
- Have experience tracking and reporting design changes.
- Have experience coordinating and facilitating several small projects or one major project.
- Experience with ETAS or ATI calibration tools and real time OS kernels is a plus.
- Experience interfacing with customers.
- 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.