Job Description Role Proficiency : Level of Proficiency : Independently design, develop and optimize complex embedded software modules in areas such as OS enabling, Driver, FW development Outcomes : 1.
Develop UML and sequence diagrams for the module level / sub system level 2. Understand and provide inputs in the application / feature / component design and develop the same in accordance with system requirements.
3. Debug, root-cause and fix variety of hardware and software technical problems and work with the cross functional teams to ensure timely resolution.
4. Create Integration & Regression test strategies, related test contents, Execute and generate test results along with debug logs.
5. Fix the static and dynamic analysis violations to deliver embedded software package per quality standards. 6. Select appropriate techniques for software development such as reusing, improving / reconfiguring of existing embedded models 7.
Respond to customer / client requests 8. Mentor Developer II / Software Engineers to become more effective in their roles Measures of Outcomes : Measures : 1.
Adherence to engineering process and coding standards. 2. Adherence to schedule / timelines 3. Adhere to SLA wherever applicable 4.
Number of defects post delivery 5. Percent of integration and functional coverage. 6. Number of non-compliance issues 7.
Defined productivity standard for product, 8. Completion of technical / domain certifications 9. Completion of all mandatory training requirements Outputs Expected : Requirement : 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 : 1. Ability to develop bare metal state machines and hardware drivers as appropriate, 2. Ability to develop using C, C++, middleware frameworks (OpenCV, Computer vision) 3.
Ability to configure and debug using Vehicle bus stacks (CAN, LIN, Ethernet SOME / IP) 4. Ability to develop and test the various MCU software features a.
Power Management b. HVAC c. User settings d. Cameras configuration e. Audio amplifier f. Diagnostic 5. Ability to do hands-on with the following tools a.
GIT, SVN / Gerrit, bit bucket b. Vector Da Vinci development and configuration tools c. JIRA d. Confluence e. Jenkins f.
Vector CANoe 6. 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 7.
Capable to prepare technical specifications for the respective IP’s, understand Hardware / Software Architecture specification.
8. Work in a team environment 9. Good written and verbal communication abilities 10. Proactively ask for and offer help Knowledge Examples : 1.
Knowledge of : a. Automotive domain : AUTOSAR / Non Autosar platform, ADAS, Computer Vision b. Semiconductor : SOC architecture, IP level deep understanding c.
Multimedia : Exposure to DSP fundamentals, Media standards. d. Communication : Exposure to communication protocols, streaming protocols.
2. Understanding of embedded real-time systems internals 3. Knowledge in HMI design tools like QT & Kanzi. 4. Knowledge of ARM TrustZone and Secure OS like OPTEE for Trusted Execution Environment (TEE).
5. Comprehension of ARM / X86 Boot flow, ARM memory initialization, bootROM architecture and UBoot development. 6. Knowledge of Key Peripherals : USB, Ethernet, Bluetooth DDR, PCIe, CAN, SPI, I2C, UART, TIMERS, etc.