Develop and implement new application modules independently as per specifications.
Implement fixes and enhancements for existing applications.
Deploy new modules and changes into production or client environments.
Troubleshoot issues and provide solutions for applications under development and in production, including working with others code.
Write and maintain unit tests and support integration testing.
Review code for quality, maintainability, performance, and requirement compliance, and provide feedback to junior staff.
Maintain clear, descriptive code comments and ensure project files follow naming conventions and structure.
Contribute to technical documentation and deployment guides.
Collaborate with QA to ensure applications meet QA standards and drive plans to minimize defects.
Communicate task and project status to clients and teams, assess implementation risks, and keep projects within timeline, budget, and quality objectives.
Work with clients to evaluate and implement new technologies and propose strategies for new opportunities.
Lead, mentor, and upskill developers to ensure they meet required technical qualifications.
Assist in recruitment, including interviewing and evaluating technical candidates.
Contribute to development standards, best practices, policies, processes, and strategic planning.
Continuously improve proficiency in current technologies and explore new technologies.
Oversee project work to ensure scheduling based on priorities, risks, and team strengths, and manage resource allocation.
Collaborate with BSAs to refine client requirements.
Technical Qualifications
8+ years of overall software development experience (or equivalent combination of education and experience).
Strong proficiency in Java Enterprise Edition.
Hands-on experience with Java 17 and above (Java 21 and 25 preferred).
Strong experience with Spring framework, Spring Boot.
Experience in building robust monolithic and microservice-based applications.
Strong object-oriented analysis and design skills, coding best practices, and common design patterns.
Strong experience in Domain-Driven Design (DDD), including bounded contexts, aggregates, entities, value objects, repositories, domain services, and tactical/strategic DDD patterns in microservice architecture.
Experience with Hibernate, JPA, and related Java frameworks/libraries.
Experience with unit testing frameworks and mocking tools (e.g., JUnit, Mockito).
Experience with advanced SQL queries, stored procedures, and query optimization.
In-depth understanding of relational and NoSQL databases (preferably PostgreSQL and MySQL).
Experience in RESTful API and web services implementation.
Good understanding of security best practices including OAuth 2.0, JWT, Spring Security, and OWASP guidelines.
Experience working closely with DevOps/infrastructure teams to design and maintain CI/CD pipelines.
Experience with performance testing and load testing.
Experience with HTML, XHTML, JavaScript, and CSS
Good working knowledge of JavaScript frameworks and CSS frameworks.
Working knowledge of Redis and Kafka
Personal Skills
Strong analytical skills to understand complex situations and drive optimal solutions.
Strong verbal and written communication skills in English.
Ability to explain technical concepts clearly to non-technical stakeholders.
Ability to act as an effective liaison between clients, business stakeholders, and delivery teams.
Ability to ensure technical solutions align with business objectives and client requirements.
Ability to propose alternative technical approaches to meet client and business goals.
Education
Bachelor's degree in Computer Science, Information Technology