Software Developer 8/9/2016
JOB DESCRIPTIONAPPLY MUST HAVES:
1. Automotive Embedded Background
a. Developer: Tools: CAN, Lauterbach Debugger, MATLAB/Simulink, Microcontrollers, Configuration Management, Change Management
b. Validation : dSPACE, NI, HIL, Python (preferred)
3. C language
4. Powertrain, Engine, Transmission, Brakes, Safety, (no Infotainment), no consumer electronics
The Embedded Software Development Engineer reports to the Software Systems Engineering Manager, and works in a cross-functional development group supporting the Battery Management System (BMS) software for multiple customers in both automotive and non-automotive markets.
The BMS platform is in production use on multiple global OEM Hybrid Electric Vehicles (HEV), Plug-In Hybrid Electric Vehicles (PHEV) and pure Battery Electric Vehicles (BEV).
The Embedded Software Development Engineer will work directly on architecture, design, development and testing of existing and new BMS functionality in the areas of diagnostics, battery cell and pack monitoring, thermal control and more. In this dynamic and demanding environment, your responsibilities will be varied, but always focused on delivering value to customer projects while working closely with many other parts of our engineering organization. The pace of work is fast and it is important to be able to work effectively and deliver on commitments. There will be opportunities to learn new skills, mentor others, and develop s/w solutions and architecture using the latest tools and technologies while working on the automotive industry's highest profile vehicle electrification projects.
JOB TASKS / RESPONSIBILITIES
The Software Engineer has sufficient skills and experience to execute best practice software design, verification and analysis during system development or redeployment.
Specific responsibilities at the Software Developer level include:
Takes direction from the Software Technical Lead.
Primary responsibility for one or more modules of the Battery Management System software.
Responsible for code construction, static analysis, unit testing and peer reviews, and ensuring proper revision control of all work products
Works independently to execute work plans, provide status updates and adjust to changing requirements.
Participates in the Software Change Review Board, including providing input and analysis and joining in the decision making process.
Tracks and analyses software requirements changes. Translates customer requirements into detailed software requirements and design as needed.
Supports Quality, Reliability and Robustness efforts (DFMEA, Fault Tree analysis.)
Support troubleshooting of software issues for both development and production software releases, including troubleshooting software running on electronics hardware, battery packs and vehicles.
Ensures revision management of work products
Supports Software Validation Team in designing appropriate requirements validation.
EDUCATION AND TRAINING:
B.S in Electrical Engineering, Computer Science or equivalent
REQUIRED EXPERIENCE AND SKILLS:
Excellent verbal and written English
Ability to interface well with internal and external customers
Ability to work independently or as a lead member on a development team
Demonstrated history of delivering quality automotive embedded software products to market
Minimum 3 years embedded software development in C and/or C++
Structured software design and code development methods (e.g. SPICE/CMMI) preferred
Quality & Reliability disciplines (FMEA, 8D, APQP) preferred
Experience with Major automotive microprocessors (Motorola/Freescale, Intel, STMicro) preferred
Automotive network data structures, protocols, (e.g. CAN, GM LAN, FNOS, J1939) desirable
Matlab/Simulink/RTW experience desirable
HV battery systems desirable