*_responsibilities_*
- support for analyzing and defining system and software level requirements.
- responsible for understanding the embedded design and architecture.
- development of the embedded software to meet the defined requirements.
- support implementation of components based on the design.
- participate in the overall development and implementation of embedded systems throughout the project lifecycle.
- confirm and validate that new software features integrate with system to meet functionality requirements.
- support development of technical documentation (requirements, design, testing, reports and others).
- support unit/component/module/integration/system level testing.
- ensure process compliance and configuration management activities.
- work under supervision of a senior engineer to complete specific assignments.
- work with senior software engineers to develop features that have a high degree of hardware/software interaction.
- develop project work according to guidance and processes defined to meet applicable regulatory/statutory/legislative standards.
- participate in code and design reviews.
- manage multiple tasks in a fast-paced environment.
- follow common problem-solving techniques, such as 5 why’s, fishbone, etc.
*_requirements_*
- b.s./m.s. in electrical, computer, software, or related experience.
- strong organizational and communication skills.
- user level knowledge of embedded programming languages such as c/c++.
- user level knowledge of embedded software development life cycle and testing tools.
- user level understanding of autosar architecture components, methodologies, latest software quality and autosar standards
- user level knowledge in the following:
- autosar architecture
- microprocessor and microcontroller platforms
- driver development such as can/lin/i2c/spi and others
- testing and debugging tools for embedded systems (hil/sil)
- development of complex driver drivers (cdd) and software components (swc)
- bsw configuration
- mcal configuration
- familiarity with software configuration management tools, defect tracking tools, and peer review
- strong documentation and writing skills
- user level understanding of software design methodologies and latest software quality and coding standards (like misra and spice)