- Location
- Tai Seng, SG
- Type
- Full-time
- Department
- Engineering
- Source
- Breezy HR
Description
On behalf of our client, a fast-growing iGaming company, we are seeking a dynamic Game Backend Development Engineer.
In this role, you will be responsible for developing the backend services for slot machines and casual games (80%), with secondary responsibilities including pre-launch code auditing and anti-arbitrage investigation (20%).
What You'll Do
- Game Backend Development (Primary) : Develop backend services and engines for slot machines / casual games (including provably-fair titles) — betting, settlement, idempotency, state machines, seed commitment/reveal, and wallet/operator integration. Numerical values (RTP, odds, weights) are designed by data scientists; you are responsible for accurate implementation and validation.
- Numerical Validation : Ability to use Monte Carlo simulations to verify that actual RTP matches the design target; ability to reverse-engineer payout tables and calculate expected value for cross-verification — you don't design the numbers, but you are accountable for whether the numbers got skewed during engineering implementation. Requires basic comfort with probability/statistics, and the ability to understand the data scientist's models and map them to code.
- Security by Design : Build red lines into the code during development — seeds must not leak, results must be server-authoritative, idempotency scope must be correct, payout caps must actually be enforced, and amounts must use fixed-point arithmetic, never floating-point.
- Code Auditing (Secondary) : Participate in pre-launch static reviews, base conclusions on the code that will actually be deployed, and produce actionable tickets that the team can execute directly.
Requirements
- 3+ years of backend development experience for slots / casual games : Have worked on backend for slots (online casino), crash games, provably-fair games, or similar — understand that settlement, idempotency, and state transitions in this domain are not ordinary CRUD.
- Kotlin : Primary server-side language; must be proficient . Experience with microservices / RPC architecture.
- Solid backend engineering fundamentals:
- Message Queues (Kafka, etc.): delivery semantics, offset commits, consumption ordering, idempotent consumption
- Redis : caching / distributed locks / atomic operations; understand that it expires, can be evicted, and can lose data during failover
- NoSQL (DynamoDB / Cassandra, etc.): data modeling and concurrent writes
- ClickHouse (or similar columnar / OLAP databases): data writing and querying
- High Concurrency : atomic operations, race conditions, read-modify-write pitfalls
- Idempotency : understand the essential difference between request-level vs operation-level idempotency (this is critical for financial security)
- Distributed systems failure reasoning : It's not enough to just know how to use Kafka, Redis, and NoSQL — you need to be able to reason through failure states when these components are combined — how to reconcile when a two-phase settlement fails midway, how to guarantee at-least-once downstream doesn't double-debit, what can go wrong during master-slave failover / untrusted clocks. Knowing how to use components ≠ being able to reason about how they fail together.
- Automated testing capability : Beyond happy-path unit tests — be able to design tests for concurrent race conditions, out-of-order delivery, duplicate delivery, and edge cases; understand which bugs (e.g., double-debits, RNG deviations) cannot be caught by unit tests and require integration or statistical validation; past bugs must be locked down with regression tests.
- Financial security awareness : Use fixed-point / smallest currency units for amounts; never use floating-point; be clear on how to prevent double-debits, over-payouts, and duplicate claims during betting/settlement/payout.
- Uses AI coding tools with judgment : Regularly use AI coding tools (Claude Code, Cursor, etc.) for development — the key is being able to review AI output, spot its mistakes, and take ownership of every line of code — not letting AI do the work for you. We are an AI-native engineering team; this is a collaboration method, not optional.
What We Value Most
- Closing the loop between business and code : Ability to break down vague requirements into MECE (mutually exclusive, collectively exhaustive) implementation paths, accounting for edge cases and exceptions — not just shipping the happy path and calling it done. People with clear thinking tend to produce high-quality code.
- Ground truth is deployed code : Comments can lie, documentation lags behind, verbal "it's fixed" doesn't count — conclusions should be pinned to "this line is written this way"; also able to read unfamiliar code and trace data flows to identify root causes (the essence of auditing and troubleshooting).
- Observability mindset : Know the weight of adding the right logs — able to aggregate by player/round, trace requests with correlation IDs, and never log sensitive fields in plaintext. When things go wrong, logs are the only tool to rewind and reconstruct the truth.
- Conservative by default, assume client hostility : Write every API with the assumption that someone will craft malformed requests, replay requests out of order, or bypass idempotency; when it comes to money and fairness, list every suspicious point rather than assuming it's safe.
Nice-to-Haves
- Familiar with Python / Node.js (engine side uses Python, operations systems use Node.js);
- Background in security / anti-fraud, or experience with anti-arbitrage;
- Familiar with AWS (Lambda, etc.) and cloud-native technologies;
- Hands-on experience with identifying and fixing game arbitrage or financial vulnerabilities in production.
What We Offer:
- A competitive salary and benefits package.
- Extensive opportunities for professional development and career growth within a fast-paced, growing company.
Skills
PythonKotlinNode.jsAWSRedisDynamoDBCassandraMicroservices