Role Proficiency
Independently design develop and optimize complex embedded software modules in areas such as OS enabling Driver FW development
Outcomes
- Develop UML and sequence diagrams for the module level / sub system level
- Understand and provide inputs in the application / feature / component design and develop the same in accordance with system requirements.
- Debug root-cause and fix variety of hardware and software technical problems and work with the cross functional teams to ensure timely resolution.
- Create Integration & Regression test strategies related test contents Execute and generate test results along with debug logs.
- Fix the static and dynamic analysis violations to deliver embedded software package per quality standards.
- Select appropriate techniques for software development such as reusing improving / reconfiguring of existing embedded models
- Respond to customer/client requests
- Mentor Developer II /Software Engineers to become more effective in their roles
Measures Of Outcomes
- Adherence to engineering process and coding standards.
- Adherence to schedule / timelines
- Adhere to SLA wherever applicable
- Number of defects post delivery
- Percent of integration and functional coverage.
- Number of non-compliance issues
- Defined productivity standard for product
- Completion of technical /domain certifications
- Completion of all mandatory training requirements
Requirement
Outputs Expected:
- Understand the functional requirement prepare low level design for the module.
- Develop code using simulation environments like Matlab; optimization using DSP assembly programming
Code
- Develop FW controller applications
HW & SW Setup
- Able to troubleshoot and help bring up HW boards Clusters infotainment embedded systems.
Test
- Develop test strategies and plan for integration & regression test execute regression tests.
Debug & Fix
- Perform defect RCA and mitigation
Document
- Create implementation documentation HAS Technical specification & BKM’s.
Status Reporting
- Report status of task assigned
- Comply with project related reporting standards and process
Mentoring
- Mentor developers in team
- Set FAST goals and provide feedbacks to mentees
Estimate
- Estimate time effort resource dependence for one's own work and for projects' work.
Skill Examples
- Ability to develop bare metal state machines and hardware drivers as appropriate
- Ability to develop using C C++ middleware frameworks (OpenCV Computer vision)
- Ability to configure and debug using Vehicle bus stacks (CAN LIN Ethernet SOME/IP)
- Ability to develop and test the various MCU software featuresa. Power Managementb. HVACc. User settingsd. Cameras configuratione. Audio amplifierf. Diagnostic
- Ability to do hands-on with the following toolsa. GIT SVN /Gerrit bit bucketb. Vector Da Vinci development and configuration toolsc. JIRAd. Confluencee. Jenkinsf. Vector CANoe
- Ability to do hands-on for various Protocol analysers (SATA PCIe etc.) network & traffic analysers Audio analyser (APx) Video analyser Spectrum analyser and JTAG Emulators
- Capable to prepare technical specifications for the respective IP’s understand Hardware/ Software Architecture specification.
- Work in a team environment
- Good written and verbal communication abilities
- Proactively ask for and offer help
Knowledge Examples
- Knowledge of:a. Automotive domain: AUTOSAR / Non Autosar platform ADAS Computer Vision b. Semiconductor: SOC architecture IP level deep understandingc. Multimedia: Exposure to DSP fundamentals Media standards.d. Communication: Exposure to communication protocols streaming protocols.
- Understanding of embedded real-time systems internals
- Knowledge in HMI design tools like QT & Kanzi.
- Knowledge of ARM TrustZone and Secure OS like OPTEE for Trusted Execution Environment (TEE).
- Comprehension of ARM /X86 Boot flow ARM memory initialization bootROM architecture and UBoot development.
- Knowledge of Key Peripherals: USB Ethernet Bluetooth DDR PCIe CAN SPI I2C UART TIMERS etc.
Additional Comments
- Firmware Development –
- C based processor validation, ARM or any processor.
- Should have experience working in power and performance domain of processors under Linux platform.
- Should be proficient in C/C++ programming.
- Should have experience in power and performance measurement tools and benchmarking.
- Should understand SoC design and interfacing protocols.
- Understanding of different IP’s from ARM is plus
Desired Skills and Experience
Embedded C,Device Driver Development,Arm,Linux