Principal Engineer Qualification
Science / Engineering graduate Responsibility
: Requirements 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.
conduct meetings with customer SME's, BA's and architect to understand and clarify functional and technical requirements Thought Leadership / Process Improvements / Delivery Excellence
- ' Lead technology inititives, incubate and build tools & reusable assets for dev / Productivity enhancement.
- ' Understand the current IT/Technology trends and analyze/identify the impact of each trend on the business segments within vertical in relation to area under purview.
- Create reusable assets / supporting artifacts based on the industry landscape.
- Identify reusable solutions/assets which can be built within the technology unit.
- represent in the Technology Conferences/Roadshows/Forums.
- Guide teams to create case studies/whitepapers on application/solution/enterprise architecture / technology recommendations.
- Participate and present in industry forums, technology forums and workshops.
- ' 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.
Technology Review for Projects
- raise concerns regarding changes in timelines and expectations with customer point of contact to resolve the same.
- Review deliverables, and tasks Assigned to the team to ensure quality deliverables ontime.
- ' Build technical skills and capabilities through training and mentoring,.
- Train the teams on technology tools and techniques.
Design & Analysis
- Enable Knowledge sharing and training for the developers.
- ' 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 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.
- Review the code created by team and provide review comments to the developers.
- develop code for core / critical 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.
- ' Develop comprehensive unit testing cases for modules developed (as required) and unit test plans.
- 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.
- 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.
Process Improvements and Adherence
- Participate in transition of knowledge and to support organization with any defects raised post production as required.
- Create training plan for team as identified in the training plan for the project.
- Plan and participate in innovation sessions.
- identify and implement innovative processes to reduce manual intervention and improve productivity based on technology and domain expertise.
- Prepare business case to quantify process improvement (efforts saved etc).
- Identify/ evaluate opportunities for valueadds and implement valueadds for the project.
- Participate in front end delivery audit(s).
- highlight and identify technical risks to project manager.
- ' 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.
- resolve conflict within team.
- set performance expectations.
- set stretch targets and track performance against the same periodically.
- Identify, groom, reward and develop high performers.
- create training plans for team.
Must Have Skills
- Conduct technical evaluation for building team and share inputs with supervisor / project manager.