Principal Infra Developer
Qualification:Science / Engineering graduate
Responsibility:
Requirement Gathering:
– Participate in requirement gathering JAD sessions and support documentation where applicable (business, functional, UI, usability, data, compliance, data migration, NFR, 3rd party tools & products).
Raise clarifications with customer / onsite to eliminate any ambiguity on the scope of work assigned from the Client / Project Cocoordinator.
track to closure any open clarifications with customer / onsite.
understand and translate requirements into design.
(FOR ONSITE):conduct meetings with customer SMEs, BAs and architect to understand and clarify functional and technical requirements
Technology Advisory & Consulting (for clients):
:
Engage with client stakeholders during advisory engagements.
Gather information relevant to the client’s context and conduct detailed analysis using technology solution frameworks.
Seek guidance Infra Development Manager as required.
Arrive at draft recommendations based on analysis.
Provide thought leadership on implementation of specific technology.
Engage with client stakeholders.
Solution Design & Development:
:
Document / review the design / blueprint / specifications of the solution.
Provide guidance to project teams on how functionality works together and how it works / fitment from technology perspective for complex requirements.
Define the product feature requirements / criteria based on the requirements finalized (for complex requirements).
Resource/ Efforts Estimation and Monitoring:
:
Provide input on technical effort estimation to arrive at resourcing plans.
participate in management reviews and teleconferences and report weekly status and walkthrough to the Project Manager / Client.
Followup with customer POC to resolve team issues and dependencies.
raise concerns regarding changes in timelines and expectations with customer point of contact to resolve the same.
Design & Analysis:
:
Develop proof of concept as designed by architect.
setup development environment for team to work in.
break up the modules considering technical aspects.
Understand interdependencies of the various components in work packages that are being developed.
Create design documents with the support of the architects for the assigned scope.
Work with architect to understand the architecture of the application, high level approaches and ensure that the design is in line with overall direction.
conduct peer review, as required.
Organize design review sessions with various stakeholders to validate design is as per requirements.
Identify and use Reusable components from the repository.
Coding:
:
Identify the standards applicable for the work packages / components.
Familiarize the team with development environment and CTS and customer specific coding standards, guidelines and best practices to be followed through sessions and document sharing.
Design and develop reusable components Analyze and reuse such developed components from the repository during the design process.
Review the code created by team and provide review comments to the developers.
develop code for core module(s) needed for the project.
Contribute towards development of framework.
Develop/ review tier coding, business layer coding, interface development, service development, creation of stored procedures etc as applicable for the work package / project.
Write efficient queries and understand logical and physical data models.
follow up with Developers to ensure integration of components (input / output).
troubleshoot critical technical issues.
Handle escalations related to critical technical issues.
create detailed tasks for the scope and share timelines for the same with the team.
track the status of the tasks assigned, maintain detailed task information for the work packages owned and do periodic reporting.
conduct technical review and audit.
Create quality check points for all deliverables.
estimate at task level in the area of work concerned, measure and report the actual effort against the estimated effort and ensure task progress reporting in C20 or any other applicable tool.
Prepare and report status for the scope responsible.
conduct peer reviews in coding and testing phase.
Testing:
:
Develop comprehensive unit testing cases for modules developed (as required) and unit test plans.
execute unit testing.
Create unit test logs.
prepare unit test strategy, test plan document and data requirements.
automate unit testing and contributing to automation of unit testing.
Perform developer integration testing by integrating the components developed by each individual team member and ensure that the integration for the teams work has been completed before the next phase of testing (system testing).
Signoff on test cases created by team.
discuss results / actions from NFR testing and signoff on the same for system testing / NFR.
Defect Management:
:
Participate in defect triage meetings with the team and confirm the defects identified, highlight any new change request to the agreed scope and identify actions to reduce defects.
Monitor rework carried out on the code based on review comments from code review / defects raised in unit testing, peer testing, SIT, UAT testing or any other relevant testing phase for core / critical modules.
Follow up with the team to close out on the defects.
identify ways to prevent defects.
Participate in transition of knowledge and to support organization with any defects raised post production as required.
Knowledge Management:
:
Contribute towards updating knowledge assets, user manual, online help document, installation scripts and installation manual and leverage the same.
Support process audit activities.
Conduct knowledge transfer sessions for new joiners in the project team.
conduct training through academy (if approved).
Guide and mentor team junior members from a technical perspective to ensure quality delivery of the components.
People Management:
:
Engage with team.
resolve conflict within team.
Define the teams goals.
set performance expectations.
conduct appraisals.
set stretch targets and track performance against the same periodically.
Identify, groom, reward and develop high performers.
create training plans for team.
Conduct technical evaluation for building team and share inputs with supervisor / project manager.
Source link