Role Proficiency:
Develops applications and selects appropriate technical options. Optimizes application development maintenance and performance by employing design patterns and by reusing proven solutions Account for others' developmental activities with some guidance from Product Engineer II
Outcomes:
Understand product requirements and user stories from customer discovery process Create high/low level design documents and maintain necessary artefacts Ensure requirements coverage of complex features with unit test cases Troubleshooting development and production problems across multiple environments and operating platforms. Provide technical guidance to the team in resolving challenging programming and design problems Create effort estimation and ETA for the deliverables ensure adherence to timelines/SLAs wherever applicable Ensure code coverage and code quality by active participation in code reviews Ensure adherence to the best practices and standards providing periodic status updates Execute test cases and prepare release document in line with the requirements Ensure career progression for Associate Product Engineers via focused mentoring and grooming Optimises efficiency cost and quality Influence and improve customer satisfaction Set OKRs for self/team and also provide feedback of goals to team membersMeasures of Outcomes:
Adherence to engineering process and standards (coding standards) Adherence to project schedule / timelines and effort estimation Number of technical issues uncovered during the execution of the project Number of defects in the code Number of defects post delivery Number of noncompliance issues Adherence to mandatory domain certification/ product certificationsOutputs Expected:
Product Requirements:
Understand the functional/ non-functional requirements gathered from the stakeholders (ArchitectProduct Manager
Product Lead
Client) for enhancement. Participate in cross functional meetings to review Product Marketing user stories and Functional Requirements and create clarification list to resolve ambiguities; Conduct feasibility study to understand the impact of the user stories on the existing product; Provide inputs to the development lead on estimation Understand new / complex product requirements (functional and non functional) ; Create a lowlevel design document (which captures class level diagram and attributes mapped to the class and sequence diagram) based on the understanding of high level design; Seek review inputs from the Architect and incorporate the same
Product Design and Development:
design
analysis
testing
process improvement
and complex troubleshooting for critical and large projects; Provide technical expertise to resolve challenging programming and design problems; Participate in code reviews and eliminate implementation problems early in development cycle; Create/ review of lowlevel design document for product enhancement; Seek review inputs from the product specialist; Build code as per the design document Support the client in user acceptance testing if required
Product Testing:
Product Training and Documentation:
as required.
Product Sign Offs:
Project Management:
People Management:
Skill Examples:
Uses Domain / Industry Knowledge to independently understand capture the business requirements and fine-tune interact with SME at various stages of the development Use Product Design knowledge to design/implement the business and non-functional requirements Use knowledge of Product Features / Functionality to understand the technical dependency of the product workflow. Independently analyze the product apply the best practices in own area of work; impart training on the various functional modules of the product Design install configure troubleshoot CI/CD pipelines Independently use Software Design & Development knowledge to develop code as per the requirement specifications / user stories. Understand and follow engineering practices take technical responsibility for all stages in the software development process and review process to ensure all practices are being followed Use UX Knowledge to understand user interface design and implication on product design and development to improve product usability across the user base. Provide necessary inputs to design team that indicates the user profile/segments and savviness of these users so the right trade-off can be achievedKnowledge Examples:
Domain / Industry Knowledge: Has working knowledge of standard business processes within the relevant industry vertical customer business domain Product Design: Has working knowledge of product architecture elements such as client server/SOA based configuration parameters and may specialize in one or more areas Product Features / Functionality: Has working knowledge of the product Comprehension of Config/Build and Deployment processes and tools Knowledge of IAAS - Cloud providers (AWS Azure Google etc.) and their tool sets Knowledge of the application development lifecycle – agile and waterfall Familiar with Quality Assurance processes Knowledge of Quality Automation processes and tools User Experience Knowledge: Has basic knowledge of aspects that enhance product/systems usability and improve the overall user experienceAdditional Comments:
Role Proficiency: Provide leadership to multiple projects with appropriate technical options and well suited design standards for embedded system product development system level validation and performance optimization strategies. Account for others' developmental activities; assist project manager in day to day project execution Outcomes: Design develop and implement product level specifications for multiple projects. 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. Mentor lead and manage the Lead I – Embedded Software based on project needs Identify and recommend right tools (SW & HW) for the project. Developing and utilizing various debug and validation tools and/or methodologies to implement development and validation plans Create share best practices and lessons learned to 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 members Select and create appropriate technical options for development such as reusing improving or reconfiguration of existing components or create own solutions for new contexts Influence and improve employee engagement within the project teams Prepare Software Quality Assurance Plan. Create Progress Reports and Process Review (Audit) Reports and Release Readiness ZBB (Zero Bug Build) Review report. Measures of Outcomes: Adherence to Embedded design and Quality process and standards Quick turnaround on multiple alternative solution and determine the most suitable one Number of technical issues uncovered during the execution of the project Number of design and test defects post-delivery based on project SLA Adherence to testing methodologies and compliance process Adherence to project schedule and timelines Number of new ideas implemented and patented as per business requirement. Percent of voluntary attrition On time completion of mandatory compliance trainings. Team management and productivity improvement as per Project SLA. Outputs Expected: Design: Embedded design architecture/LLD sequence/use case diagrams and linking to customer requirements Develop: Design the embedded SW and code as per design patterns coding standards templates and checklists. Test: Review and create unit test cases scenarios and execution Review test plan created by testing team Provide clarifications to the testing team Document: Create and review templates checklists guidelines standards for design/process/development Create and review deliverable documents. Design documentation requirements test cases/results Configure: Define and govern configuration management plan Ensure compliance from the team Domain relevance: Advise embedded software developers on design and development of feature / component with deeper understanding of the business problem being addressed for the client Learn more about the customer domain and identify opportunities to provide value addition to customers Complete relevant domain certifications Status Reporting: Report status of tasks assigned comply to project related reporting standards/process Quality: Lead design reviews add value take responsibility for the design and overall quality of the embedded software Release: Execute and monitor release process Compliance: Adhere to embedded software design regulatory and test compliance Estimate: Estimate time 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: Clarify requirements and provide guidance to development team present design options to customers conduct product demos Work closely with customer architects for finalizing design Manage Project: Manage delivery of embedded software and manage requirement understanding and effort estimation. Support project manager with inputs for the projects Manage Team: Set FAST goals and provide feedback understand aspirations of team members and provide guidance opportunities etc. Ensure team members are upskilled Ensure team is engaged in project Proactively identify attrition risks and work with BSE for retention measures Certifications: Take relevant domain/technology certification Skill Examples: Ability to do Embedded C C++ programming (OOP) STL Assembly programming for product level. Ability to create and execute one or more of the following domains: Storage/connectivity/Media/graphics/boot/clusters/infotainment/ADAS Ability to do Linux / Android kernel patching Back porting kernel patches and OOT merging; upstreaming to community Ability to develop solutions based