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:
• 7-10 years of Python development experience • Strong in Python Back end Programming (API Development) and high level of trouble shooting skills (Must Have) • Good knowledge in Rest APIs and Microservices. • Expertise in Flask, Celery, RabbitMQ and Redis • Experience with database technologies like MongoDB / MySQL; • Experience using GitHub for version control and source code management • Willing to learn and take up challenges and good at communication. • Should be a strong problem solver and Someone driven by passion and independently work with minimum supervision. • Good understanding of Docker and DevOps concepts