Lead Software Engineer with 9 years of backend experience building distributed systems and payment platforms. Specialized in Go, with experience scaling backend services for 3M+ active users and reducing payment integration time by 75%. Experienced in leading technical projects from architecture design and RFCs through implementation and production rollout.
Contact information
Technical Skills
Languages: Go
Databases & Data: MySQL, MongoDB, Redis, BigQuery
Platforms & Technologies: GCP, AWS, Kubernetes, Temporal, gRPC
Work Experience
Lead Software Engineer, Backend
Carousell, Taipei, Taiwan – (March 2022 - Present)
- Developed a modular payment integration framework that separated third-party gateway logic from the core payment flow. Standardized provider interfaces and the payment data model, reducing new gateway integration time by 75%, from 6–8 weeks to around 2 weeks, while eliminating partner-specific BI data transformations.
- Designed Carousell’s first production Temporal implementation by analyzing existing payment flows to define workflow boundaries, failure handling, and retry semantics. Decomposed business logic into deterministic workflows and retry-safe activities, migrating payment creation flows for 2 payment methods within 6 weeks with zero post-launch incidents and establishing the reference pattern for 10+ production workflows.
- Led 5 engineers over 3 months to replace Taiwan’s chat-based post-checkout flow with Carousell’s shared order management system. Defined the buyer and seller flows and corresponding backend/client requirements, then redesigned the internal fulfillment flow around the shared global architecture to reduce order-service fragmentation. Led implementation through launch, reducing support tickets for missing shipping QR codes to zero.
- Led a 6-engineer team to build the first milestone of Malaysia’s e-invoicing system using an asynchronous Temporal workflow. The invoicing service persisted requests before vendor API calls, allowing failed requests to recover through retries and automated reconciliation without blocking order fulfillment. The workflow issued 600+ invoices over 6 months with zero failures and zero production incidents.
- Defined package responsibilities and ownership boundaries across a 20+ package Go codebase after architectural disagreements became the main code-review bottleneck. This reduced average PR review time by 83%, from 3 days to 0.5 day, while keeping the payment service revamp on schedule.
- Took on acting PM responsibilities for the second milestone of Malaysia’s e-invoicing project when the PM became unexpectedly unavailable, while continuing to own the technical design. Resolved competing Business, Finance, and Legal requirements by binding seller identity to each transaction rather than collecting it later at withdrawal, and introduced cutoff-based enforcement that preserved existing earnings while requiring identity for future earnings. Launched 3 weeks ahead of the regulatory deadline with no measurable decline in transaction volume in the 14 days after launch.
Senior Software Engineer, Backend
17LIVE, Taipei, Taiwan – (March 2018 - March 2022)
- Designed and built a new billing system around a unified order model, replacing a payment-centric flow that directly credited points after payment. The new model captured product, quantity, and unit price at purchase time, separating purchase data from payment and fulfillment to support product bundles and provide reliable transaction data for financial reporting. The system eventually processed 65% of total orders across 85% of sales channels.