Java Backend Engineer
Description
Job Duties & responsibilities:
• Develop cloud-native Java 17+ and Spring Boot microservices for Credit Card, Cashline, and Unsecured Lending origination adhering to OpenAPI / Swagger specifications.
• Analyze legacy J2EE monolithic enterprise code (EJBs, DAOs, session beans) to extract lending business logic and refactor into clean, decoupled microservices.
• Understand and extend the established digital onboarding platform’s domain patterns, common libraries, and orchestration pipelines with zero regression.
• Design and deliver performant, contract-first RESTful APIs optimized for consumption by the ReactJS Micro-Frontend (MFE) onboarding journeys.
• Implement resilient downstream integrations with Credit Bureau checks, Credit Decisioning/Underwriting engines, Core Banking customer master and account setup, and Singpass MyInfo.
• Design and optimize relational database schemas (MariaDB / PostgreSQL / Oracle), manage transactional boundaries, and write efficient SQL queries using Spring Data JPA / Hibernate.
• Implement event-driven asynchronous processing, status updates, and audit logging using Apache Kafka.
• Write comprehensive automated unit and integration tests using JUnit 5, Mockito, and Testcontainers; integrate circuit breakers, idempotency keys, and retry policies.
• Work collaboratively in an Agile squad with the Product Owner, Tech Lead, Solution Architect, Frontend Engineers, and Test Engineers.
Required Experience:
• 3 to 6 years of solid, hands-on backend software engineering experience in enterprise environments.
• Proven track record building and deploying production-grade RESTful microservices using Java and Spring Boot.
• Strong analytic skills to process complex lending requirements and legacy monolithic architectures into clean microservices.
• Hands-on experience in Agile projects (Scrum / Kanban) with active participation in sprint ceremonies.
• Solid understanding of relational database modeling, indexing, SQL optimization, and transactional boundaries.
• Experience with asynchronous event-driven messaging using message brokers (Apache Kafka / RabbitMQ).
• Familiarity with quality assurance processes and automated testing frameworks (JUnit 5, Mockito, Postman, JIRA).
• Strong verbal and written communication skills to interact with cross-functional teams on a daily basis.
• Experience in Banking, Finance, or FinTech domain, especially in consumer lending origination, is an advantage.
• Good team player with strong ownership and accountability.
Tech Skill Sets:
• At least 3 years of working experience in Java (Java 11 / 17 / 21) and Spring Boot (Spring Web, Spring Security, Spring Data).
• Strong hands-on experience designing and securing RESTful APIs using OpenAPI / Swagger specifications.
• Solid knowledge of relational databases (MariaDB, PostgreSQL, or Oracle) with strong SQL query and index tuning skills.
• Practical experience with message brokers, primarily Apache Kafka (producers, consumers, topic management).
• Hands-on experience deploying, inspecting, and troubleshooting applications on Docker and Kubernetes / OpenShift.
• Proven discipline in automated unit and integration testing using JUnit 5, Mockito, and Test containers.
Tech Skills Preferred / Dual-Stack Advantage (Big Plus):
• Prior experience with legacy J2EE / Java EE enterprise monoliths (EJB, Servlets, SOAP/WSDL, monolithic EAR/WAR deployments, WebSphere / WebLogic / JBoss) – enables smooth extraction of legacy business logic into modern microservices.
• Hands-on understanding of consumer lending workflows: Credit Cards, Cashline (revolving credit lines), personal loans, credit bureau inquiries, or straight-through processing (STP).
• Familiarity with microservice resilience patterns (Resilience4j, circuit breakers, idempotency, rate limiting).
• Experience with API contract testing (Pact or Spring Cloud Contract) and distributed tracing (OpenTelemetry / Jaeger).
Skills
- Agile
- API
- Cloud
- Cloud Native
- Docker
- Event Driven Architecture
- Fintech
- Hibernate
- Integration Testing
- J2EE
- Java
- Jboss
- Jira
- JPA
- JUnit
- Kafka
- Kanban
- Kubernetes
- MariaDB
- Microservices
- Mockito
- OpenAPI
- OpenShift
- OpenTelemetry
- Oracle
- PostgreSQL
- Postman
- RabbitMQ
- RDBMS
- React
- REST
- Scrum
- SOAP
- Spring
- SQL
- Swagger
- Test Automation
- Weblogic
- WebSphere