michael.opc-x.org
~ $ cat resume.md

Michael C.

Senior Java Backend Engineer · Payments & Wallets · Distributed Systems

Open to remote roles · michael.opc-x.org ↗

// summary

Senior Java backend engineer with 13 years of experience, from Alibaba and DiDi (China's Uber) to crypto and licensed payments.

For the past 4 years I've owned wallet systems where every bug costs real money: a non-custodial multi-chain wallet at HTX/Huobi (~12M users) and a MAS-licensed e-wallet at dtcpay in Singapore.

I take a module from design to production on my own and work well in async, remote teams across time zones.

// how i work

  • Written-first: requirements and decisions live in docs; async by default, meetings short and purposeful.
  • Pragmatic: judged by working results and data; focused on solving problems.
  • Professional process: code review, clear standards, clear ownership.
  • Fact-based: technical disagreements are settled with data, not opinions.
  • Transparent collaboration: open information, issues raised directly, no back-channels.

// skills

Java / Spring Boot
thread pools, JVM OOM troubleshooting, transaction pitfalls
MySQL
index design, cursor pagination, conditional updates + row locks
Redis
caching, distributed locks, Bloom filters
Kafka
reliable delivery, idempotent consumers
Payments
idempotency, state machines, channel integration, reconciliation
Blockchain
wallet creation, transaction broadcast, block scanning, reorg handling

// experience

dtcpay

Apr 2024 – Present · Singapore
Senior Java Backend Engineer — E-Wallet Owner

MAS-licensed payment institution (fiat + stablecoin). Owned the core flow of the consumer e-wallet app: top-up → withdrawal → daily reconciliation; every balance change is booked by the wallet service.

  • Concurrency safety (no overdraft): a single conditional UPDATE checks and deducts the balance under a row lock, so concurrent debits queue up and never go negative.
  • Idempotent APIs: one-time Redis tokens block duplicate submits; a unique index on the business order ID is the final guard.
  • Lost-callback recovery: verify signature and amount on channel callbacks; scheduled jobs query the channel to recover missed notifications.
  • Idempotent payouts: freeze funds before payout; on channel timeout only query, never resend; deduct on success, unfreeze on failure.
  • Eventual consistency: debit and pending notification are written in one DB transaction, then delivered via Kafka with retries (local message table).

HTX(formerly Huobi — crypto exchange)

May 2022 – Apr 2024
Senior Java Backend Engineer — Blockchain Wallet Owner

Huobi Wallet: a non-custodial multi-chain wallet with ~12M users (private keys stay on the user's phone). Owned the core flow: wallet creation → on-chain transfer → deposit detection → deposit notification.

  • Chain reorgs: detect broken parentHash links, roll back and rescan; credit deposits only after enough confirmations.
  • OOM fix: the block scanner crashed while catching up; root-caused an unbounded queue holding blocks in memory and switched to a bounded queue with back-pressure.
  • Reliable delivery + idempotent consumption with Kafka: persist notifications before sending; each deposit is pushed exactly once.
  • Address filtering with a Bloom filter: discard non-user addresses in each block before hitting the database.
  • Scanner HA with a Redis distributed lock: one active scanner, automatic failover, resume from the saved cursor.

DiDi(China's Uber)

Oct 2018 – May 2022 · Hangzhou, China
Senior Java Backend Engineer

Ride-hailing platform. Tech lead of the company-wide search service.

  • Built the search service from 0 to 1 on Elasticsearch; weekly traffic grew from 60K to 100K.
  • Built SQL lineage parsing that automatically extracts upstream/downstream table dependencies, exposed as a query service.
  • Provided unified query APIs consumed by systems across the company.

Alibaba

Oct 2016 – Oct 2018 · Hangzhou, China
Java Backend Engineer — Distributed Job Scheduling

Alibaba Group. Core developer of the scheduling system behind Alibaba Cloud DataWorks: master election, job sharding and timed triggers.

  • Master HA: nodes compete for a database row lock (SELECT … FOR UPDATE); when the master dies the lock is released and another node takes over automatically.
  • Job sharding: machines map to a fixed set of logical nodes, so scaling in/out only changes the mapping (similar to consistent hashing).
  • Quartz-based scheduling of 1M+ hourly/daily/weekly/monthly jobs; average job development time dropped from 36h to 17.45h after launch.

Ourpalm(mobile games)

Mar 2013 – Oct 2016 · Beijing, China
Java Backend Engineer

Mobile game company listed on the Shenzhen ChiNext board. Built the shared server side used by multiple games: log collection SDK and operations admin.

  • Designed and built a server-side game log collection SDK adopted by multiple mobile games.
  • Developed and maintained the Java operations admin system and its scheduled jobs.

// education

Hawaii Pacific University
M.S. Artificial Intelligence · GPA 3.88 / 4.0 · With Distinction
Jan 2025 – Jul 2026
University of Electronic Science and Technology of China
B.Eng. Computer Science and Technology
Sep 2008 – Jul 2012