Overview
Staff Engineer (Backend) on the Money team, setting technical direction for systems that hold and move customers' money, including the ledger and account platform, transfers and payments, bank integrations, reconciliation and end-of-day processing.
What you'll do
- Define the technical direction and architecture for ledger, account and payment systems that span several teams.
- Lead the design of fault-tolerant, consistent and secure services, and review critical designs from other teams.
- Lead the ledger architecture: double-entry model, balance computation at scale, holds, reversals and complete audit trails.
- Set the standard for correctness in money flows: idempotency, clear transaction states, distributed transaction patterns and safe handling of unknown results.
- Design the platform for connecting to many banks and payment networks, including routing, failover, monitoring of success rates and cut-off handling.
- Design reconciliation, settlement and end-of-day processing that find every difference quickly and fix it at the root.
- Design fraud and risk controls that fit into real-time money flows without hurting normal customers.
- Plan for peak load and failure scenarios, and drive load testing, capacity planning and disaster recovery.
- Identify technical risks early, weigh trade-offs and drive decisions that fit business and regulatory needs.
- Lead investigations and root cause analysis for complex production incidents, and drive lasting improvements.
- Set and promote engineering standards for reliability, observability, security and performance.
- Partner with Engineering Managers, Product, Finance, Risk and Compliance on cross-team initiatives.
- Mentor Senior Engineers and help grow technical leadership across the team.
- Stay hands-on with implementation for critical components and complex problems.
What you'll need
- Bachelor's or Master's degree in Computer Science or equivalent practical experience.
- 8+ years of professional software engineering, with a proven record of designing and running large-scale distributed systems that handle money or other critical transactions, and leading technical work across teams.
- Highly proficient in Java, Go or another modern backend language.
- Strong expertise in microservices, event-driven architectures, distributed transactions, reliability engineering, observability and performance optimization.
- Strong working knowledge of ledgers, payment networks, bank integrations, reconciliation and batch processing, or equivalent depth in large payment or e-wallet systems.
- Deep practical experience with Kafka, Redis, and relational databases, including transactions, locking, query tuning and data consistency.
- Experience designing and operating applications on cloud platforms (GCP, AWS).
- Background in banking, payments, e-wallets or another high-scale, regulated financial environment.
- Strong communication, with the ability to influence technical decisions without direct authority.
Details
- Locations: Jakarta, Indonesia; Bangkok, Thailand.
- Hybrid work arrangement, with flexibility to work both remotely and from the office.
Read the full description and apply on the company’s own careers page.