Deskripsi pekerjaan Back-end Developer (Java) divistant
Kualifikasi Utama:
- Minimal 3-5 tahun pengalaman di Java Backend (diutamakan pernah di perbankan / fintech / payment gateway).
- Mahir Java 21, Spring Boot 3.x, Spring Data JPA, Spring Security, dan Spring WebFlux (WebClient).
- Paham arsitektur Hexagonal (Ports & Adapters) / Clean Architecture dan Modular Monolith.
- Berpengalaman membangun integrasi API (REST, Webhook callback, HMAC SHA-256 signature).
- Paham konsep Idempotency, In-doubt Transaction handling, Resilience4j, dan background reconciliation worker.
- Terbiasa dengan Oracle DB / PostgreSQL, Flyway Database Migration, dan Redis (caching & distributed lock / ShedLock).
- Kuat di automated testing: JUnit 5, Mockito, WireMock, Testcontainers.
Job Description:
- Merancang, membangun, dan memelihara aplikasi backend yang responsif, aman, scalable, dan berkinerja tinggi menggunakan bahasa pemrograman Java dan framework terkait.
- Merancang dan mengimplementasikan RESTful APIs (atau gRPC/GraphQL) yang efisien untuk diintegrasikan dengan tim Frontend, Mobile, serta sistem pihak ketiga (third-party integration).
- Merancang skema database, menulis kueri yang efisien, serta melakukan optimasi performa pada basis data Relational (SQL) maupun Non-Relational (NoSQL).
- Memelihara kode yang sudah ada, mengidentifikasi bottleneck performa, serta melakukan troubleshooting dan debugging pada lingkungan production.
- Menerapkan prinsip Clean Code, Design Patterns, serta arsitektur perangkat lunak yang baik (seperti Microservices atau Monolith yang terstruktur).
- Bekerja sama secara aktif dengan Product Manager, Frontend Developer, QA, dan DevOps dalam skema kerja Agile/Scrum, serta melakukan code review untuk menjaga kualitas kode tim.
- Menulis unit test dan integration test untuk memastikan keandalan kode sebelum dideploy ke lingkungan staging/production.
Nilai Plus:
- Pengalaman integrasi sistem LOS (Sunline), Core Banking, ESB, Dukcapil, AML/DHN, atau Privy.
- Terbiasa dengan Docker, CI/CD, SonarQube, dan ArchUnit.

