.Role PurposeThe purpose of this role is to design, test and maintain software programs for operating systems or applications which need to be deployed at a client end and ensure it meets 100% quality assurance parameters. Responsibilities include:Instrumental in understanding the requirements and design of the product/software.Develop software solutions by studying information needs, systems flow, data usage, and work processes.Investigate problem areas followed by the software development life cycle.Facilitate root cause analysis of system issues and problem statements.Identify ideas to improve system performance and impact availability.Analyze client requirements and convert them to feasible design.Collaborate with functional teams or systems analysts who carry out detailed investigations into software requirements.Confer with project managers to obtain information on software capabilities.Perform coding and ensure optimal software/module development.Determine operational feasibility by evaluating analysis, problem definition, requirements, software development, and proposed software.Develop and automate processes for software validation by setting up and designing test cases/scenarios/usage cases, and executing these cases.Modify software to fix errors, adapt it to new hardware, improve performance, or upgrade interfaces.Analyze information to recommend and plan the installation of new systems or modifications of existing systems.Ensure that code is error-free or has no bugs and test failures.Prepare reports on programming project specifications, activities, and status.Ensure all codes are raised as per the norm defined for the project/program/account with clear descriptions and replication patterns.Compile timely, comprehensive, and accurate documentation and reports as requested.Coordinate with the team on daily project status and progress and document it.Provide feedback on usability and serviceability, trace the result to quality risk, and report it to concerned stakeholders.Status Reporting and Customer Focus on an ongoing basis with respect to project execution.Capture all requirements and clarifications from the client for better quality work.Take feedback regularly to ensure smooth and on-time delivery.Participate in continuing education and training to remain current on best practices, learn new programming languages, and better assist team members.Consult with engineering staff to evaluate software-hardware interfaces and develop specifications and performance requirements.Document and demonstrate solutions by developing documentation, flowcharts, layouts, diagrams, charts, code comments, and clear code.Document necessary details and reports in a formal way for proper understanding of software from client proposal to implementation.Ensure good quality of interaction with customers regarding e-mail content, fault report tracking, voice calls, business etiquette, etc