Principal Responsibilities:Functional Responsibilities:1. Design, develop, and review technical solutions that meet the business requirements, improve the system performance, and resolve the existing bugs in the applications.2. Collaborate with business users to understand their needs and expectations, and to provide technical solutions that are feasible and effective. In addition, troubleshoot and resolve technical issues by conducting in-depth system analysis and applying appropriate techniques.3. Handle security incidents promptly and effectively or implement minor enhancements to the existing systems within the given timeline and budget.4. Troubleshoot and resolve complex technical issues, identify root causes, and implement preventive and corrective actions.5. Write comprehensive and accurate test cases and execute them to ensure the quality and functionality of the system.6. Provide realistic and reliable estimates of efforts for enhancements and new projects, based on the scope, complexity, and resources available.7. Manage the team's workload, priorities, deadlines, and deliverables by assigning tasks, monitoring progress, resolving issues, and communicating expectations and feedback regularly.8. Research and evaluate new technologies, tools, and frameworks that can improve the software development process and enhance the user experience.Supervisory Responsibilities:1. Review and manage vendor coding quality by conducting regular code reviews, ensuring adherence to coding standards and best practices, providing feedback and guidance.2. Work closely with vendors to track and resolve issues, such as defects, delays, scope changes, and communication gaps, and escalate them as needed.