Sign Up
Hire People
Find A Job

Software Design Engineer
Farmington Hills, Michigan - Posted on April 11, 2019
Published By Nathan Gilbert

Job no longer available

We're sorry. This job is no longer available.

Software Design Engineer needed in Farmington Hills, MI.

Job Description

The primary role of the Software Design Leader is to develop the software component designs for ECU Basic Software and map software functionality onto hardware resources. The engineer must be familiar with the operation of the CPU cores, self-test features, memory functions for both RAM and Flash ROM. The engineer should also have knowledge about real-time operating system (RTOS) functionality/configuration, microcontroller peripherals, serial communication, and standard powertrain devices (i.e power supply ASICs, low-side drivers, high-side drivers, CAN transcievers, etc).
Basic Software emphasis is on low level driver software for powertrain control modules, including engine control modules (ECM), transmission control modules (TCM), and hybrid power inverter modules. Experience with transfer case control module (TCCM) and active suspension controllers are also a plus.

Job duties include:
This position will be required to work directly with the customer to understand requirements and present technical software solutions. The engineer will also work with the hardware engineering team in Farmington Hills and Japan to define the hardware/software interface. The engineer will decompose requirements into software components, define the component interfaces, and deliver software architecture specifications to the lead software designers.
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 specific responsibilities of the Software Design Leader shall include (but shall not be limited to) the following:
a. Parse customer requirements and develop a requirements traceability matrix. Participate in design, code, and test reviews to ensure that traceability is maintained. Collaborate with functional safety and cyber security engineers to cover safety and security goals.
b. Develop software component specifications using UML notation including use case diagrams, class diagrams, sequence diagrams, activity diagrams, and state machine diagrams. Supplemental notation for real-time performance requirements is also required.
c. Multi-core Software Architecture Design, with UML, SysML modeling and associated tools ( ex: Enterprise Architect).
d. Collaborate with hardware engineers to define the hardware/software interface in terms of microcontroller pin assignments, mixed signal processing algorithms, signal scaling/resolution/timing, and diagnostic fault condition algorithms.
e. Collaborate with the customer to define a microcontroller memory map.
f. Must be familiar with low level drivers such as ADC, PWM, GPIO, timer modules, SPI, SCI, LIN, CAN, SENT, DMA, memory management units, ECC, etc.
g. Must be familiar with real-time operating systems (RTOS), interrupt service routines, exception handlers, task scheduling, and multi-core CPU operation.

If you are interested, apply now.


• Possess a bachelor degree in Electrical Engineering, Computer Engineering or a related technical area.
• Proficient in software programming languages such as assembly, C or other high level languages.
• Automotive component and vehicle test procedures, including environmental and EMI/EMC testing.
• Automotive development process.
• 8 years applicable experience in automotive environment.
• Experience in multi-core Software Architecture Design
• 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 Infineon Aurix/Renesas microprocessors.
• 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 calibration tools and real time OS kernels are a plus.
• Experience interfacing with customers.

Trillium has been recruiting and placing professionals for over 30 years. From Fortune 100 companies to small businesses, our philosophy remains the same: to achieve excellence by providing quality employees and an uncompromising level of service. We believe in honesty, integrity, and a simple philosophy of providing value to our customers and our employees. We strive to be unsurpassed in the recruitment and placement of quality and skilled professionals. Trillium is an Equal Opportunity Employer.


One moment please while we grab your information.

Account Login