The SW Engineer is responsible for designing and developing the SW for the product.
- Define and maintain the Software Requirements
- Define and maintain the Software Architecture
- Define and maintain the Software Detail Design
- Develop and maintain the Software Module code
- Perform static/dynamic code analysis
- Develop, maintain and perform the SW Unit tests
- Develop, maintain and perform the SW Integration tests
- Develop, maintain and perform the SW tests
- Perform code (and other work product's) reviews
- Guarantee the SW Quality by defining/maintaining/developing all required work products according to both the internal MM guidelines and the International Standard (i.e. MISRA, A-SPICE, ISO26262 and MM coding rules),
- Deliver the module and the related work products to the SW Function Integrator / SW Domain Leader
- Good knowledge of programming languages (C/C++)
- Good knowledge of SW design, development and debugging on embedded systems.
- Knowledge of real-time O.S. (Autosar or equivalent) and related debug tools
- Knowledge of Linux or Androis O.S. and related debug tools
- Knowledge of CAN, MOST, UDS Protocols preferred.
- Knowledge of CAN, Diagnostic stacks configuration using tools like Vector GENy is desired.
- Knowledge of ECU wakeup, sleep concepts is desired.
- Experience with Enterprise Architect or IBM Rhapsody is a plus.
- Knowledge of requirements management tools (preferred: Doors)
- Familiarity with architecture modeling methodologies and tools usage (preferred: Rhapsody and UML)
- Knowledge of static/dynamic code checking techniques and tools (preferred: Polyspace)
- Knowledge of unit testing/integration testing techniques and tools (preferred: GoogleTest)
- SW Configuration management knowledge and tools usage (preferred: GIT)
- Atlassian Suite (Jira, Confluence tools) knowledge