Backend Engineer
Summary
Backend engineer in Jakarta building Java/Spring Boot microservices for an omnichannel clienteling platform: WhatsApp messaging integrations, Kafka event-driven pipelines, PostgreSQL/MongoDB data models, and WebSocket real-time messaging, with a focus on scalability, security, and production reliability.
Salary: Rp 12.000.000 – Rp 18.000.000 per month
Overview
We are seeking an experienced Backend Engineer to develop and maintain scalable backend services for an omnichannel clienteling platform. The role will involve building microservices, integrating messaging systems and third-party platforms, and ensuring system performance, reliability, and security.
Responsibilities
1. Backend Development & Architecture
Develop and maintain backend services using Java and Spring Boot for conversation management, message routing, campaigns, and sales attribution.
Design and optimize data models across PostgreSQL and MongoDB.
Build event-driven architectures using Kafka, including message ordering, retries, and error handling.
2. Integration & Messaging
Develop and maintain integrations with the W Business Platform, including message handling, webhooks, templates, and delivery status tracking.
Implement phone number normalization and matching to link incoming WhatsApp messages with customer records.
Integrate chatbot, VoIP, and Microsoft Graph services, including bot-to-human handoff workflows.
3. Scalability & Performance
Implement real-time messaging using WebSockets and ensure horizontal scalability across multiple instances.
Optimize backend services to support thousands of concurrent users while meeting performance and availability targets.
4. Security & Data Protection
Implement access control mechanisms using RBAC or ABAC, alongside customer data masking.
Ensure secure handling of personal data in accordance with Indonesia's Personal Data Protection Law (UU No 27/2022), including audit logging.
5. Delivery & Production Support
Estimate tasks, manage development priorities, and deliver work according to agreed timelines.
Implement observability through logging, metrics, and distributed tracing.
Troubleshoot production issues, participate in code reviews, and collaborate with frontend, Business Analyst (BA), QA, and vendor teams.
Qualifications
Must-Have Requirements
Minimum 4 years of backend development experience, including production experience with Java and Spring Boot.
Strong proficiency in Java 21 and Spring Boot 4.
Strong knowledge of PostgreSQL, including schema design, query optimization, indexing, and connection pooling.
Production experience with Redis and Kafka.
Experience with WebSockets or other long-lived connection systems at scale.
Strong understanding of concurrency, idempotency, distributed locking, and consistency trade-offs in microservices.
Experience with Spring Security, OAuth2 / JWT, and implementing RBAC or ABAC.
Experience with Docker, Kubernetes or ECS, CI/CD pipelines, and AWS or GCP.
Experience writing unit and integration tests using JUnit and Testcontainers.
Ability to troubleshoot production issues, including memory leaks, slow queries, thread contention, and slow downstream dependencies.
Familiarity with Git workflows, including branching, pull request reviews, and conflict resolution.
Bachelor's degree in Computer Science, Information Technology, or a related field.
Preferred Qualifications
Production experience with the WhatsApp Business Platform, including Cloud API or a Business Solution Provider (BSP) such as Twilio, Infobip, Qiscus, or Mekari Qontak.
Experience with contact center, customer service, helpdesk, ticketing, or live chat platforms, particularly message routing, queue management, and SLA tracking.
Experience using MongoDB for high-volume message storage.
Familiarity with SIP / WebRTC signaling or VoIP integrations.
Experience integrating chatbot or conversational AI platforms, including human-handoff workflows.
Key Attributes
Strong ownership and accountability in delivering backend solutions.
Excellent problem-solving and troubleshooting skills.
Strong attention to detail and commitment to code quality.
Clear communication skills for asynchronous collaboration with distributed teams and external vendors.
Ability to work collaboratively with cross-functional teams to deliver reliable, scalable solutions.