Role Proficiency:
Provide leadership to a project with appropriate technical options and well suited design standards for embedded system product development system level validation and performance optimization strategies.
Outcomes:
Design develop and implement system level specifications. Develop highly optimized secured code debugging integrating firmware/ applications and development level testing of complex SW/HW systems. Work directly with IP owners product (HW & SW) architects for design and debugging as per the project needs. Prepare Release Notes and participate in release strategies. Mentor lead and manage Developers I II III – Embedded Software Engineers based on project needs Identify and recommend appropriate tools (SW & HW) for the project. Developing utilizing various debug validation tools and/or methodologies to implement Development and validation plans Create share best practices and lessons learned with the team. Optimises efficiency cost and quality. Influence and improve customer satisfaction Set FAST goals for self/team and also provide feedback to FAST goals of team membersMeasures of Outcomes:
Adherence to embedded design process and standards Quick turnaround on multiple alternative solutions determining the most suitable Number of technical issues uncovered during the execution of the project Number of review feedback post Software Lead II review based on project SLA Number of design and test defects post-delivery based on project SLA Quick turnaround on defect fixing for design and tests based on project SLA Adherence to testing methodologies and compliance process Adherence to project schedule / timelines Deploy Innovation techniques and publish white paper Team management and productivity improvement as per Project SLA.Outputs Expected:
Requirement:
Lead requirement engineering; collaboration with internal and external customers to understand their needs
Design:
Develop:
coding standards
templates and checklists. Develop automated tools or scripts for the validation environment.
Test:
validate the designed software
document the analysis and test results
Document:
LLD/architecture for component/system
software/ application diagnostics and test results
Status Reporting:
Quality:
add value
take responsibility for the design and overall quality of the embedded software
Release:
design schematics
board files
Compliance:
regulatory and test compliance
Estimate:
effort
resource dependence for one's own work and for projects' work. Accurately define and document the technical side of the project schedule with estimates and identified risks
Interface with Customer:
and conduct product demos
Manage Project:
Manage Team:
opportunities etc. Ensure team is engaged in project
Manage Defects:
Manage knowledge:
Skill Examples:
Ability to create Embedded C Program Development for system level. Capability in creating and executing one or more of the following domains: Storage/connectivity/Media/graphics/boot/clusters/infotainment/ADAS Ability to do C++ programming (OOP) Assembly programming skills Ability to handle OS Scheduler Pre-emptive Round robin & Cooperative scheduling related work Ability to handle SW development in area of CAN Diagnostics Vehicle Functions etc. Aptitude in Networking protocols such as CAN LIN etc Ability to select right IoT & IO protocols as per problem statement. Ability to do Unit Testing (Tessy & RTRT) using appropriate Integration Testing Tools Ability to define and execute test cases with techniques (White Box and Black box) Ability in Closed loop LabCar INCA or similar tools Capacity to configure GDT framework. Ability to adhere to software quality standards (MISRA PCLINT QAC). Ability to debug using embedded tools Ability to do automation and configure Simulation Tools. Proactively ask for and offer help Ability to work under pressure determine dependencies risks facilitate planning and handle multiple tasks. Build confidence with customers by meeting deliverables in time with quality. Estimate effort time resources required for developing / debugging features / components Make decisions on appropriate of the Software / Hardware’s. Strong analytical and problem-solving abilitiesKnowledge Examples:
Knowledge on product development lifecycle Testing methodology and standards (Water Fall/ Agile) Knowledge in Test Automation scripting languages (e.g. Python Perl TCL) Knowledge with Wired (USB Ethernet PLC SCADA etherCAT Modbus RSxxx & Wireless technologies like NFC Bluetooth Wi-fi Zigbee etc. is a plus Understanding of automation frameworks (e.g. Hudson/Jenkin) Knowledge and knowhow on Diesel and Gasoline Engine Management Systems Knowledge of embedded algorithm integration on platform (Windows Linux and Android) Comprehension of ASPICE & ISO26262 process Knowledge in Pre-Silicon Verification environments for simulation and Emulation/FPGA platform Experience with System Verilog IP/Subsystem and SOC development environment Knowledge of MISRA 2004 and 2012 Coding guidelines (PC-lint LDRA & PRQA) Knowledge of CAN Tools: CANoe CANalyser & CAPL programming Knowledge of GDT framework internalsAdditional Comments:
• Strong programming skills in following languages • C (good proficiency), Python (good proficiency), Perl , any other scripting language • Good knowledge and experience of working on Microcontrollers and developing embedded FW for Microcontroller based devices. • Should have experience of developing low level drivers and should have strong debugging skills. • Good knowledge of interrupt handlers, protocols like I2C , MIPI standard and HW blocks like Timers , GPIO's. • Repository knowledge - svn ,Git etc • Knowledge of Unix environment , SimVision for debug purpose, would additionally help and will be preferred. • Experience on ISO26262 ,ASpice processes or Cybersecurity basics would be an added advantage. • Knowledge in CMOS image sensors and in image data processing would also be advantageous.