Understand business and technical requirement documents (Enhancement requests, SRS / BRD etc); Interact with clients / BA to clarify requirements if any; Provide inputs/ suggestions if any in order to validate the technology stack identified by the architects.
2. High Level Design (HLD)
Based on the technology stack identified, identify data sources, external interfaces, required outputs etc; Document high level business flow from the details gathered; Prepare the Designi document; Update HLD based on review comments in order to lay the ground-work for developing the solution.
Develop core reusable components as per project requirements; Adhere to internal quality norms / standards; Check-in compilable code into the repository; Send code for peer reviews; Fix code review defects; Provide clarifications / support to Developers and Sr.Developers on specific technology related queries in order to improve productivity and ensure quality.
4. SIT/SFT Support:
Understand the defects / change requests raised during SIT/SFT; Analyse the root-cause of defects; Incorporate changes into the design documents; Seek approval for design changes resulting from change request in order to confirm that the application meets user expectations and ready for deployment.
5. Very High Level Estimate (VHLE):
Based on the technical stack and the project requirements, prepare VHLE (using estimation tools / guidelines) including elements such as estimation break up for various SDLC stages, assumptions, risks and the approach document; Review the document with the Manager; Update document based on review comments in order to enable the client to give a 'go' or 'no go' for the project.
6. Requirement, Design Coding, Testing Review:
Conduct reviews / second-level checks of various technical documents / code across the different stages of the software development lifecycle (requirements gathering, high-level & low-level design, coding, testing etc) based on best practices and performance requirements in order to verify completeness, accuracy and compliance to internal standards.
7. People Management:
Conduct technical interviews; Provide assessment on candidate capability; Shortlist candidates for subsequent interviews; Coach and guide developers in improving technical capabilities and developing overall skills; Conduct technical trainings in order to build team capabilities 8. Process Improvements:
Identify best practices; Analyse, design, code and test productivity enhancement tools; Implement such tools and practices; Provide inputs for design and coding standards; Prepare design and coding checklists; Define/Refine the estimation templates in order to improve productivity and quality of projects.