Bachelors in science , engineering or equivalent
Requirement Understanding and Analysis :
Understand the functional / nonfunctional requirements.
Participate in client calls and prepare the clarification list to seek clarifications.
Prepare the list of requirements and seek review inputs from the key stakeholders.
Update requirements traceability matrix.
Create impact analysis document (for simple change) to understand the impact on the existing functionality, as required.
Provide inputs to create the low level design for the module based on the understanding of the requirement and HLD.
Identify the list of reusable assets that can be used and share inputs.
Share the list of components with the Senior Developer / other relevant stakeholders and seek inputs.
Based on LLD , identify the component that needs to be created.
Set up the environment for creating the component.
Replicate the existing code to the environment.
Establish connection to the databases.
Conduct coding as per finalized technical specification document.
Follow coding standards and best practices to check code quality.
Generate code quality document for the code review through various tools (Informatica, Aqua).
Share the developed code for review.
Rework on the code based on inputs shared by the Sr Developer and Module Lead if required.
Identify unit test case scenarios based on the design.
Prepare unit test cases and test data under guidance.
Merge code in the build environment and seek inputs from the Senior Developer.
Conduct peer review for the other team members.
Conduct technical troubleshooting if required.
Testing Management :
Conduct unit testing based on the identified test scenarios.
Fix simple defects identified during unit testing.
Prepare unit test document based on the test results and share the same for review.
Integrate and conduct system integration testing.
Address queries raised by QA team within defined timelines.
Analyze and fix the defects identified during functional / non functional testing.
Understand the impact / criticality and priority of the defect.
Conduct regression testing for QA testing.
Report defect status as per project standard process within agreed timelines.
Track the status of defects using the test management tool (ALM, QC ).
Close the defect in test management tool once resolved.
Configuration Management :
Branch off the existing code in the version control tool (VSS, CSV).
Identify configurable items.
Maintain version control across different configurable items (documents component, data mapping clarification document etc).
Share the environment set up details with the deployment team.
Provide inputs on instructions (in case standard).
Create a deployment package under guidance of senior members in the team.
Raise deployment request to deployment team to deploy the code in the integrated environment.
Review the deployed component in the environment.
Load the test data.
Conduct smoke testing under guidance.
Share notification with QA team post completion of testing.
Service Support and Maintenance :
Specific to production and maintenance support :
Prioritize incidents based on criticality.
Route the defects logged to the right stakeholder if required.
Attend user calls, and capture required information and incident details for logging.
Coordinate with the different stakeholders to resolve as per SLA.
Run appropriate tests, once the defect is resolved.
Track the status in the test management tool (QC, Alma etc).
In case of any recurring incidents, prepare a learning document capturing the known errors.
Provide inputs to module lead in creation of transition plan (project steps and milestones).
Knowledge Management :
Create specific artifacts for tasks allocated by Lead.
Share artifact with supervisor for review.
Upload article in the knowledge management repository.
Search the knowledge repository for information to resolve problems.
Apply best practices / learning during the code development.
Create reusable assets and their documentation.
Create value addition documents (value added by team to the client) and share it with the team.
People Management :
Provide inputs in creation of training courses and supporting artifacts on the training server such as demo, presentation.
Conduct training or knowledge sharing sessions (in case of niche technology).