Embedded Software Engineer
Boucherville, Quebec, CA, Canada
Job Purpose
Dana is a global leader in the supply of highly engineered driveline, sealing, and thermal-management technologies that improve the efficiency and performance of vehicles with both conventional and alternative-energy powertrains. Serving three primary markets – passenger vehicle, commercial truck, and the off-highway equipment – Dana provides the world’s original equipment manufacturers and the aftermarket with local product and service support through a network of nearly 100 engineering, manufacturing, and distribution facilities.
Purpose as an Embedded Software Engineer, you are an active member of the SW development’s team.
Job Duties and Responsibilities
- Analyze, design, develop & testing of Autosar software components to ASPICE/ISO 26262 methodology & standards.
- Work closely with the electronics and hardware departments to ensure design of electronics and hardware can support the software requirements.
- Create Software Requirements.
- Support Architecture design and development.
- Create Software Detail designs.
- Develop software code in C/C++ to implement the software design.
- Ensure code is compliant to MISRA and CERT C/C++ standards.
- Interact with Software developped in MATLAB Simulink/Stateflow environment.
- Conduct unit test to validate the software implementation.
- Support issue analysis and corrective action definitions.
- Take part in various development in the software development life cycle (SW FMEA, DFA, etc).
- Participate in task planning and reporting, in an AGILE environment.
Required Working Experience
- Expert with RTOS/BSW, device driver development like Flash, ADC, EEPROM, LIN, CANFD, SPI, etc.
- Expert with design, implement, test and debug of embedded software for automotive electronic module.
- Expert knowledge in real-time embedded software for 32-bit multicore microcontrollers (Infineon Aurix TC3xx, TI TM570, etc.)
Education and Qualifications
- Bachelor’s degree in Electronics Engineering, Computer Science, or related discipline
- Essential: Minimum five (5+) years of relevant experience with embedded software development
- Essential: Strong knowledge of embedded C/C++ language
- Essential: Knowledge of UML
- Essential : Knowledge of Python
- Essential : Experience with SPI, CAN, CANFD, J1939, UDS, and XCP communication protocols.
- Experience with developing software in compliance with a formal V-cycle development.
- Knowledge of ISO 26262 standard (an asset)
- Knowledge of embedded systems testing with SIL, PIL (an asset)
- Knowledge / experience of Motor control theory (an asset)
- Experience with following tools (an asset):
a. Requirements : Polarion
b. MBD : Matlab/Simulink + Toolbox (Simulink Requirements, Simulink Tests, etc)
c. Software devOps tools: Jira, ,Azure Git, CMake, Artifactory, etc
d. Static Code analysis tools: Polyspace, etc.
e. Software Unit tests and Software Integration tests: VectorCAST, etc
f. LauterBach Debugger
g. Automotive Communication Tools (Vector Canape, CANalyzer/CANoe, & CANdela)
Skills
- Ability to work with multidisciplinary teams
- Curious and autonomous
- Rigorous and strong ability to meet deadlines
- Commitment to the highest standards of ethical behavior in self and others; commitment to inclusion and diversity
- Good analytical skills
- Demonstrated ability to be proactive and think forward
- Hands-on person.
- Will work in a global and multi-cultural team