Software Engineer (Core Payment)
Location
Indonesia
Department
Payments Technology
Apply for this jobApply for this job
About Us
M-DAQ Global is a pioneering fintech group specialising in foreign exchange (FX) and payment solutions that facilitate seamless cross-border transactions for businesses worldwide. Its proprietary technology delivers FX clarity, certainty, and payment mobility through a single API, empowering large enterprises and SMEs to manage global trade and FX exposure with confidence.
Headquartered in Singapore with an expanding presence across ASEAN and 7 countries and territories, M-DAQ Global provides a comprehensive suite of FX, collections, and payment solutions. This includes AI-enabled onboarding, compliance, and enhanced risk management solutions, enabling businesses to transact across borders with ease amidst evolving needs.
Our employee experience and growth have also been recognised through industry and workplace accolades, including:
The Financial Times High-Growth Companies Asia-Pacific 2026
The Straits Times Singapore’s Fastest Growing Companies 2026
Tech in Asia Singapore’s Top Fintech Companies 2026
Employee Experience Awards - Best Hybrid Work Model
For more information, please visit: www.m-daq.com.
About the Role
We're looking for a Software Engineer to join our Core Payment team — the engineering group for the systems that move money: payment processing, ledgers, settlement, reconciliation, and the integrations that connect us to banks and payment networks. This is a hands-on engineering role for someone in the 2–5 year experience range who is ready to take ownership of meaningful components in a high-stakes, correctness-critical domain. You will write production code, design resilient services, and help us keep the payment rails accurate, observable, and always-on. More senior candidates will additionally take on technical design ownership and mentor others on the team.
What We're Looking For
Required
2–5 years of professional software engineering experience building backend services.
Strong programming skills in one or more of: Node.js, Bun, JavaScript/TypeScript, or Golang (we use a mix; depth in at least one is what matters).
Solid experience with relational databases (MySQL, PostgreSQL) — schema design, transactions, indexing, and query performance.
Understanding of distributed systems fundamentals: consistency, idempotency, retries, and failure handling.
Experience building and operating microservices — service boundaries, inter-service communication, and independent deployability.
Hands-on experience with event-based / event-driven architectures and message queues (e.g. Kafka, RabbitMQ, SQS).
Working knowledge of the saga pattern (orchestration and/or choreography) for managing distributed transactions and compensating actions across services.
A correctness-first mindset — you care about edge cases, especially where money is involved.
Preferred
Experience in the banking and/or payments industry (payment processing, ledgers, settlement, card schemes, or financial integrations).
Experience with MongoDB or other NoSQL stores.
Familiarity with financial concepts: double-entry accounting, reconciliation, or settlement.
