This position is responsible for the development and support of Java web applications using Microservice architecture. The individual will work both independently and collaboratively with peers to develop, enhance and maintain applications, including client-specific websites and Java applications.
The person in this position will support existing customer applications as well as develop new applications or make modifications to current applications. The candidate must be familiar with configuration and system testing processes. This position requires an experienced and self-motivating individual who can perform in a web development environment.
The person in this role is also responsible for communicating with clients and team staff regarding project progress and for assisting the team in making decisions to ensure the project remains within its objectives. The role demands strong technical expertise in Java and related frameworks, as well as the ability to guide junior team members and contribute to high-quality delivery.
The candidate must be proficient in Java Enterprise Edition and the Java Spring / Spring Boot Hibernate, and JPA with databases such as PostgreSQL and MySQL.
Responsibilities:
- Develop/implement new modules to specifications independently
- Implement fixes for existing applications per specifications independently
- Deploy changes/new modules into production environment, or client framework
- Troubleshoot issues and provide solutions in applications under development and applications in production where you might have to work with someone's code
- Implement unit test cases for your code and for integration testing
- Review code (issues free, ease of maintenance, no effect on application run time, requirement compliance) and provide feedback and training to junior staff
- Keep clear and descriptive code comments, understand project documentation and keep project files (naming convention and structure) well organized. Contribute to technical documentation and deployment guides
- Perform testing and work with QA on ensuring that application meets relevant QA standards by taking ownership to devise a plan for minimizing errors and bugs
- Communicate with client and other teams' staff on task progress, assess implementation risks and work toward keeping the project within objectives (timeline, budget, quality)
- Work with client in evaluating and implementing new technologies and offer strategies for new opportunities
- Lead/mentor developers and share knowledge to make sure development staff meets technical qualifications required for their positions
- Assist in recruiting new staff, conducting interviews and evaluate potential candidate
- Assist in formulating development standards and best practices, organizational policies and processes, strategic planning
- Increase proficiency level in technologies used by the client and investigate and develop skills in new technologies
- Oversee project to make sure work is scheduled based on priorities, risks and team strengths and assignment of resources across project
- Work with the BSA to refine the client’s requirements
The ideal candidate for the position should have the following skills and experience:
Technical Qualifications:
- Strong experience in object-oriented analysis and design, coding best practices and common design patterns
- Strong experience in Domain-Driven Design (DDD), including designing bounded contexts, aggregates, entities, value objects, repositories, domain services, and implementing tactical and strategic DDD patterns in microservice architecture.
- Experience with Java 17 and above is preferred (Java 21 and 25 Preferred)
- Experience in designing and developing applications using Java Enterprise Edition, Spring framework, Spring Boot
- Experience in building robust Monolithic and microservice-based applications
- Experience with Hibernate and other core Java frameworks and libraries
- Experience with unit testing frameworks and mocking tools such as JUnit and Mockito
- Experience with advanced SQL queries, stored procedures, and query optimization
- Experience with HTML, XHTML, JavaScript, and CSS would be good
- Experience working closely with DevOps and infrastructure teams to design and maintain CI/CD pipelines for build, test, and deployment automation
- Experience with performance testing and load testing
- Experience in RESTful API services and web services implementation
- In-depth understanding of Relational and NoSQL databases (preferably PostgreSQL / MySQL)
- Good understanding of Security best practices, including OAuth2.0, JWT, Spring Security and OWASP Guidelines
- Working knowledge of JavaScript frameworks and CSS frameworks
- Working knowledge of Redis and Kafka is preferred
- Knowledge of frontend technologies like ReactJS
- Knowledge of cloud technologies would be good (AWS/Azure/GCP)
- Knowledge of banking/finance domains would be good
- Knowledge of event-driven architecture
- Familiarity with various source control systems and project management tools
Personal Skills:
- Strong analytical skills to analyze complex situations and drive optimal solutions
- Strong verbal and written communication skills in English
- Ability to clearly explain technical aspects to non-technical stakeholders
- Ability to act as an effective liaison between the client, business stakeholders and the delivery team
- Ability to ensure technical solutions align with business objectives and client requirements
- Ability to propose alternative approaches to meet client and business goals
- Ability to make timely, well-informed decisions, including proactively gathering required information under ambiguity
- Ability to guide and motivate team members
- Ability to define and prioritize short-term and long-term team objectives based on circumstances
Education and Work Experience:
- The candidate should have over 8 years of working experience or an equivalent combination of education and experience
- Background in CS, IT or related scientific discipline is preferred


