[HCLxANZ] Middle/Senior Java Cloud Engineer
HCLTech Vietnam***Note: We highly appreciate your interest in this position of HCLTECH Vietnam. After reviewing all applications, only qualified candidates will be contacted for the next steps within 15 days from date of submission!
ABOUT HCLTECH VIETNAM COMPANY LIMITED
HCL Vietnam Company Limited belongs to HCLTech which is a global technology company, home to 220,000+ people across 60 countries, delivering industry-leading capabilities centered around digital, engineering and cloud, powered by a broad portfolio of technology services and products. We work with clients across all major verticals, providing industry solutions for Financial Services, Manufacturing, Life Sciences and Healthcare, Technology and Services, Telecom and Media, Retail and CPG, and Public Services. Consolidated revenues as of 12 months ending Mar 31, 2025, totaled $13.8 billion. Website: https://www.hcltech.com/
Job Summary
We are hiring Java Backend Developers to join a large-scale payments modernisation program for a leading bank in Australia. The team is migrating the bank’s payment services from on-premise infrastructure onto Google Cloud Platform, re-platforming legacy components into cloud-native, event-driven Spring Boot microservices — all while keeping mission-critical, high-volume payment flows running without disruption to customers.
This is a hands-on engineering role on a regulated, production-critical platform. You will work end to end: design, build, test, deploy, and support.
It is also not a conventional delivery role. The program runs a specification-driven, AI-assisted SDLC. Written specifications are the single source of truth, and AI tooling is used to drive development, testing and deployment from those specifications. We are looking for engineers who work fluently with AI coding assistants and have the engineering judgement to know where those tools can be trusted, where they must be constrained, and where a human must take over. You will be actively exploring and defining those boundaries as part of the job.
Your Job Responsibilities
Engineering & Delivery
- Design, develop, and maintain robust, scalable Java applications using Spring Boot.
- Build and deploy Microservices-based architectures.
- Develop RESTful APIs and integrate with third-party services.
- Collaborate with cross-functional teams (frontend, DevOps, QA) to deliver high-quality solutions.
- Participate in system design discussions and architectural decisions.
- Optimize application performance, scalability, and reliability.
- Write clean, maintainable, and efficient code following coding standards.
- Conduct code reviews and mentor junior developers.
- Work with CI/CD pipelines for automated deployment.
- Troubleshoot and debug issues in production environments.
Cloud Migration (On-Prem → GCP)
- Analyse existing on-premise payment services and contribute to migration approach: re-host, re-platform, or re-architect.
- Refactor legacy Java components into cloud-native services deployed on GKE / Cloud Run.
- Implement integration patterns between on-prem systems and GCP during coexistence phases (hybrid connectivity, strangler-fig migration, dual-run and cutover).
- Work with GCP managed services — Pub/Sub, Cloud SQL / Spanner, Cloud Storage, Secret Manager, Cloud Build, Artifact Registry, Cloud Logging & Monitoring, Apigee.
- Externalise configuration, secrets and state so services are stateless, horizontally scalable, and safe to redeploy.
- Build in resilience for payment workloads: idempotency, retries with backoff, dead-letter handling, exactly-once/at-least-once semantics, graceful degradation.
- Support non-functional requirements that are non-negotiable in payments: throughput, latency SLOs, availability, data residency, auditability, and zero-data-loss cutovers.
- Contribute to observability — structured logging, distributed tracing, metrics, alerting, and runbooks.
AI-Driven SDLC
- Ability to work with AI tools. Intent is Specification to Deployment: use specifications to develop, test and deploy code.
- In the event of any modification / enhancement / bug / issue, the specification is updated first, and that change drives the resulting changes to design, code, test cases and documentation.
- Ability to try, test and determine the boundary conditions up to which AI can drive SDLC changes — and to clearly document and communicate where those boundaries sit.
- Write specifications that are precise, unambiguous and machine-consumable, at a quality level sufficient to drive generation reliably.
- Apply effective context and prompt engineering: supply the right repository context, standards, constraints and examples to AI agents.
- Critically review all AI-generated output. You are accountable for the code that ships — correctness, security, performance, and compliance are never delegated to a tool.
- Feed lessons learned back into the team’s prompts, specification templates, guardrails and engineering standards so the practice improves over time.
Quality, Security & Ways of Working
- Deliver automated test coverage as part of the definition of done: unit, integration, contract and regression.
- Follow secure coding practices appropriate to a regulated banking environment; work within the client’s security, audit and change management controls.
- Participate in Agile ceremonies, backlog refinement, estimation, and sprint delivery.
- Provide production support on a rotational basis for the services the team owns, including incident triage and root-cause analysis.
Your Experience & Qualifications
***Must-have
- 4+ years of commercial software engineering experience in Java backend development (Java 11 / 17+).
- Strong hands-on experience with Spring Boot and the wider Spring ecosystem (Spring MVC/WebFlux, Spring Data, Spring Security, Spring Cloud).
- Proven experience designing and building microservices and RESTful APIs (OpenAPI/Swagger, versioning, backward compatibility).
- Working experience with a major public cloud — GCP strongly preferred; AWS or Azure acceptable with demonstrated ability to convert quickly.
- Containers and orchestration: Docker and Kubernetes (GKE preferred).
- CI/CD: Jenkins, GitLab CI, GitHub Actions or Cloud Build; Git branching and trunk-based/GitFlow workflows.
- Databases: strong SQL, relational data modelling, JPA/Hibernate; exposure to NoSQL is a plus.
- Asynchronous messaging / event streaming: Kafka, Pub/Sub, RabbitMQ, Solace or IBM MQ.
- Testing: JUnit 5, Mockito, integration testing, Testcontainers; familiarity with contract testing (e.g. Pact).
- Demonstrable experience troubleshooting and resolving issues in production.
- Hands-on, regular use of AI coding tools — e.g. Claude / Claude Code, GitHub Copilot, Cursor, Windsurf, Gemini Code Assist — in real delivery work, not just experimentation. Be ready to talk concretely about what you have built with them, what went wrong, and what you changed as a result.
- Good English communication — written and verbal — with the confidence to engage directly with Australian client stakeholders.
- Bachelor’s degree in Computer Science, Software Engineering, IT, or equivalent practical experience.
***Good-to-have
- Experience in banking, financial services or payments, particularly:
+ Real-time and batch payment processing, clearing, settlement and reconciliation
+ ISO 20022 message standards
+ Australian payment rails: NPP / Osko / PayTo, BECS Direct Entry, BPAY
+ SWIFT, card schemes, or open banking / CDR
- Experience with legacy-to-cloud migration programs and coexistence architectures.
- Infrastructure as Code: Terraform, Helm.
- Event-driven architecture patterns: sagas, CQRS, event sourcing, outbox pattern, idempotency keys.
- Performance engineering for high-throughput, low-latency systems; JVM tuning and profiling.
- API management with Apigee or an equivalent gateway.
- Reactive programming (Project Reactor / Spring WebFlux).
- Awareness of regulatory and security standards relevant to Australian banking — APRA CPS 234 / CPS 230, PCI DSS.
- GCP Professional Cloud Developer or Professional Cloud Architect certification.
- Experience mentoring engineers or leading a small squad.
Behavioural Competencies
- Engineering judgement over tool dependence — comfortable using AI to move fast, and equally comfortable saying “this output is wrong, and here’s why.”
- Precision in writing. In a spec-driven model, the specification is the deliverable. Ambiguity becomes defects.
- Ownership. You follow your code into production and stay with it.
- Curiosity and adaptability. Our ways of working are changing quickly; you should be energised by that rather than unsettled by it.
- Collaborative and low-ego — this is a distributed team across Vietnam and Australia.
What Success Looks Like in Your First 6 Months
- Delivering production changes to migrated payment services independently, end to end.
- Producing specifications of a quality that lets AI tooling generate, test and deploy working code with minimal rework.
- Contributing a clear, evidence-based view of where the AI-driven SDLC works well and where it breaks down — and helping the team codify that.
- Trusted by the client team as a direct engineering contact, not just a resource behind a coordinator.
Additional Information
- Working mode: Hybrid, based in Ho Chi Minh City. Onsite presence required on agreed team days.
- Client engagement: Daily collaboration with an Australian banking client; some flexibility for early-morning ceremonies aligned to AEST/AEDT.
- Background checks: Given the regulated financial services environment, successful candidates will be subject to background verification prior to onboarding.
BENEFITS
- Insurance plan based on full salary + 13th month salary
- 100% full salary from the 1st day of working and during WFH
- Medical Benefit (Bao Viet Insurance package) for Employee and Family
- Working in a fast paced, flexible, and multinational working environment. Chance to travel onsite (in 54 countries)
- Internal Training (Technical & Functional). Scope of English Training
- 18 paid leaves per year (including 12 annual leaves + 6 personal leaves)