Role Proficiency:
Leverages technical expertise with some guidance from Lead II to select appropriate technical options for development after understanding of complex product requirements based on customer discovery process
Outcomes:
- Ensure product requirements and user stories are clearly understood from the customer discovery process
- Create effort estimation and ETA for the deliverables ensure adherence to timelines/SLAs wherever applicable
- Enable solutioning for complex technology problems write code for very critical modules/complex algorithms develop complex features and unit test cases
- Ensure execution of test cases and preparation of release document in line with the requirements
- Adherence to the best practices and standards provide periodic status updates
- Ensure career progression for Product Engineers via focused mentoring and grooming
- Ensure hiring of right candidates via technical assessments for the Product Engineering Lead role
- Influence and improve customer satisfaction
- Set OKRs for self/team and also provide feedback to these goals of team members
Measures of Outcomes:
- Adherence to engineering process and standards (coding standards)
- Adherence to project schedule / timelines
- # of technical issues uncovered during the execution of the project
- # of defects in the code in the product overall
- # of defects post delivery overall
- # of non-compliance issues overall
- # of reusable components/libs developed overall
- # of domain certification/ product certifications
- Achievement of quarterly/yearly objectives (OKR Assignments HIG Stretch goals) by self
Outputs Expected:
Product Requirements:
- Understand critical / complex product requirements (functional and non-functional);
- Create a low-level 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 Solution architect and incorporate the same
Product Design and Development:
- Create POCs to identify the feasibility of new technologies / products and share the findings with the architecture team;
- Provides technical inputs for product research design analysis testing process improvement and complex troubleshooting for critical and large projects in the product development process;
- Build optimized modules in terms of performance without affecting functionality
- Under the guidance of Architects create high level software design (HLSD) documents;
- Provide technical expertise to resolve challenging programming and design problems;
- Drive architecture / code reviews and eliminate implementation problems early in development cycle;
- Establish design standards and deliver solutions which meets product's functional and non-functional requirements;
- Provide technical guidance to the team to resolve complex technical issues
Product Testing:
- Conduct Integration testing and resolve defects/bugs during QA Testing Alpha Release Beta Release Post-Release patches for complex modules.
- Maintain code quality ensure code coverage.
Technology Thought Leadership:
- Participate in various conferences seminars webinars and create blogs / white papers to showcase technology thought leadership;
- Contribute with inputs to create knowledge assets user manual online help document installation scripts and installation manual and leverage the same
People Management:
- Train and mentor team members in product development track
- Build positive working relationship with the clients' module leads
Skill Examples:
- Uses Domain / Industry Knowledge to independently understand interact with SME at various stages of the development
- Use knowledge of Product Features / Functionality to understand the complex functionality in product to build training materials and assessments for the product share the best practices with other teams leverage the best practices followed assess product suitability and feasibility provide / create a mechanism/model to calculate ROI for a feature roll-out
- Create Training plans/SOPs to help DevOps Engineers deal with already existing CI/CD Pipelines & components
- Deliver components that automates parts of the build/deploy lifecycle for products
- Configure a CI/CD pipeline that can be used by product development teams
- Use User Experience Knowledge to understand user interface design and implication on product design and development and 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 that right trade-off can be achieved
Knowledge Examples:
Knowledge Examples. Domain / Industry Knowledge: Has working knowledge of standard business processes within the relevant industry vertical customer business domain
- Technology Trends Knowledge: Demonstrates broad knowledge of technology trends related to multiple inter-related technologies
- Has specialized knowledge of product architecture elements
- Proficient in object-oriented analysis and design and good knowledge on software design principles and patterns.
- Knowledge of the application development lifecycle preferably Agile and XP.
- Product Features / Functionality: Has specialized knowledge of the product
- Knowledge of Config/Build/Deploy processes and tools
- Knowledge of IAAS - Cloud providers (AWS Azure Google etc.) and their tool sets
- Knowledge of the application development lifecycle
- Knowledge of Quality Assurance processes
- Knowledge of Quality Automation processes & tools
- Knowledge of multiple tool stacks not just one
- Knowledge of Build Branching/Merging
- Knowledge about containerization
- Technology Partnership Management: Has specialized knowledge of parameters for vendor evaluation
- User Experience Knowledge: Has basic knowledge of aspects that enhance product/systems usability and improve the overall user experience