Quach Hoang Anh (Hayes) · Senior Software EngineerBuilding software that survives scale.

Five years owning production systems end to end — cash-handling telemetry for banking hardware, airline ticketing at national scale, real-time auction and Web3 marketplaces. NestJS, Go and React on the way in; Kafka, PostgreSQL, Redis and Kubernetes underneath. I care most about what happens after launch: latency budgets, failure modes, and the code the next engineer has to change.

~/systems — zsh
EVENT PIPELINE — LIVE
devicesclientsgatewayingestworkerspgredisMQTT · RESTKafka
30–50%
API latency cut
99.9%
HA target, DB + cache
6
teams shipped with
01About

I build the boring parts well.

Five years across product and outsourcing teams, taking features from schema design through to the deploy pipeline that ships them. Most of my recent work is backend and platform: NestJS and Go services with real boundaries, PostgreSQL modelling and query tuning, Kafka and MQTT ingestion, Redis as a distributed cache, Kubernetes with Argo CD for delivery.

I've led a sub-team at a banking-hardware product company, led delivery at a blockchain consultancy, and mentored interns and freshers into shipping engineers. The habit I keep returning to: measure before optimising, then keep the fix small enough to be reviewed honestly. High-availability work, pentest remediation and scheduled dependency upgrades belong to the same instinct — the system has to still be standing next quarter.

5 yrs
Shipping production web systems
6
Companies, product and outsourcing
Lead
Sub-team lead, reviews, mentoring
PSM 1
Scrum, HUST software engineering
02Experience

Six teams, one throughline: make it hold under load.

Glory Software Vietnam

Senior Software Engineer · Sub-team Lead

03/2025 — 03/2026

Product company for cash handling machines. UBIQULAR Inform.

  • Owned backend services for UBIQULAR Inform, the operator view of cash activity, inventory, device usage and technical faults across a fleet of cash-handling machines.
  • Profiled and rewrote SQL and query paths behind the operator dashboard, cutting API response time by 30–50%.
  • Took ownership of pentest remediation — cookie theft, overflow and related classes — on software that handles cash.
  • Built MQTT device simulation tooling and JMeter load suites so the system's limits were known before release, not discovered in the field.
  • Designed the Redis caching strategy for the distributed deployment, keeping hot state coherent across instances.
  • Led a sub-team: day-to-day technical direction, structured code review, and the code quality standard the team held to.
  • NestJS
  • PostgreSQL
  • Kafka
  • MQTT
  • RxJS
  • Redis
  • JMeter
  • SFTP

AIARACORP

Full-Stack Engineer

08/2024 — 02/2025

Outsourcing for the Korean market. TIMART auction platform.

  • Owned the map experience and real-time auction flow for TIMART, where multiple buyers contend for the same goods and bid resolution has to be correct under concurrency.
  • Integrated Agora chat and FCM push notifications.
  • Designed the container image and release workflow on AWS ECR, Docker and CI/CD — every deploy across staging and production traceable to an image and reversible.
  • Wrote system analysis and design docs; introduced AI scripts to automate repetitive team tasks.
  • ReactJS
  • NextJS
  • TypeScript
  • Redux
  • AWS ECR
  • Docker

Airdata

Full-Stack Engineer

07/2023 — 02/2025

Vietnam's leading airline ticket management system.

  • Built agency and retail ticket sales services for Vietnam's leading airline ticketing platform, wrapping legacy airline and rail SOAP APIs behind typed service boundaries.
  • Built the retail platform for agencies and traced production bugs with the ELK stack.
  • Cut frontend bundle size and API call count against explicit budgets, and ran sprint-cadence dependency upgrades to close known vulnerabilities.
  • Introduced Keycloak as the single identity and authorization layer across the microservice estate, replacing per-service auth.
  • Applied LangChain and workflow automation to flight-ticket data extraction, validation and aggregation — 25% less manual time.
  • Ran the high-availability rollout and team training for database, Redis and Kafka, including VIP failover paths.
  • NodeJS
  • VueJS
  • WordPress
  • Keycloak
  • ELK
  • LangChain

s6k Labs

Full-Stack Engineer

03/2022 — 06/2023

Blockchain consulting and solutions.

  • Architected a dashboard service and crypto payment gateway in NestJS as microservices communicating over messaging and REST.
  • Wrote AWS Lambdas to toggle EC2, handle S3 event triggers and sync WordPress plugins through CloudFront.
  • Stood up the team's GitLab server and Harbor registry, and ran services on Kubernetes with Argo CD and Jenkins pipelines.
  • Refactored hot paths against measured profiles, reducing API call time 20–30%.
  • Led the team and brought interns and freshers to shipping standard through review.
  • NestJS
  • AWS
  • Kubernetes
  • Argo CD
  • Jenkins
  • Harbor

TheInfiTech

Software Engineer

10/2021 — 06/2022

Outsourcing for the Japanese market.

  • Built an online multiple-choice testing product with Stripe payments.
  • Developed an Indeed-style job search site for Japanese customers.
  • Wrote automation coverage with Cypress and Playwright.
  • Laravel
  • VueJS
  • Stripe
  • Cypress
  • Playwright

Spores Labs

Software Engineer

04/2021 — 10/2021

GameFi and metaverse publisher.

  • Built the NFT marketplace backend in Go with gin and gorm, including listing, bidding and settlement paths.
  • Built dashboard APIs plus Slack and Discord bots.
  • Worked on NFT and Web3 metaverse integration, turning designs into production UI.
  • Golang
  • gin
  • gorm
  • Web3
  • React
03Featured Work

Three systems, written up as case studies.

Problem, solution, architecture, impact — the way I'd walk a team through it in review.

GLORY SOFTWARE · CASH HANDLING

UBIQULAR Inform

NestJS · Kafka · MQTT · PostgreSQL

Problem

Cash-handling machines in the field emit a constant stream of device, inventory and fault telemetry. Operators needed one view of what was happening across the estate, and the query paths behind that view were too slow to sit in front of a dashboard.

Solution

Ingest device events over MQTT into Kafka, process them in workers, and serve the operator view from a read path tuned for it. Redis carries hot state across instances so the distributed deployment stays consistent. MQTT simulation tooling plus JMeter load tests set the performance baseline before release.

Architecture

Tech stack

  • NestJS
  • Kafka
  • MQTT
  • PostgreSQL
  • Redis
  • RxJS
  • JMeter

Impact

30–50%
faster API responses after SQL and query tuning
0
open pentest findings at handover
Read the case study

AIRDATA · AIRLINE TICKETING

Agency & retail ticket platform

Microservices · Keycloak · ELK · LangChain

Problem

Two ticket-selling products — agency and retail — sat on top of legacy airline and rail APIs speaking SOAP. Auth was inconsistent across services, the frontend shipped too much JavaScript, and agents spent hours re-keying ticket data by hand.

Solution

Consolidated identity behind Keycloak for every microservice, wrapped the SOAP integrations in typed service boundaries, trimmed bundle size and API chatter on the client, and put a LangChain automation in front of ticket-data extraction and validation. ELK made production failures traceable instead of anecdotal.

Architecture

Tech stack

  • NodeJS
  • VueJS
  • Keycloak
  • ELK Stack
  • LangChain
  • WordPress

Impact

25%
less manual agent time on ticket data
Sprintly
dependency upgrades closing CVEs
Read the case study

AIARACORP · KOREAN MARKET

TIMART live auction

NextJS · Redux · Agora · AWS ECR

Problem

A commerce auction where several buyers compete for the same goods in real time, on a map-driven interface, for a Korean client with a hard launch date. Contention had to resolve correctly and the release path had to be reversible.

Solution

Built the map and bidding flow in Next.js with Redux holding auction state, Agora for in-auction chat and FCM for push. Delivery ran through AWS ECR and Docker with a CI/CD workflow designed for traceable, rollback-friendly releases across staging and production.

Architecture

Tech stack

  • NextJS
  • TypeScript
  • Redux
  • Agora
  • FCM
  • Docker
  • AWS ECR

Impact

Rollback
safe releases via ECR image workflow
Real-time
concurrent bidding without lost updates
Read the case study
04Technical Expertise

What I reach for, and why.

Backend

Service design in NestJS and Go, message-driven boundaries, and API surfaces that stay honest under load.

  • NodeJS
  • NestJS
  • Golang
  • Spring Boot
  • Laravel
  • Python

Frontend

Typed React and Vue applications, with bundle size and API call count treated as budgets.

  • ReactJS
  • NextJS
  • VueJS
  • TypeScript
  • Redux
  • Vite

Data & Messaging

Relational modelling and query tuning first; queues and streams when the workload genuinely needs decoupling.

  • PostgreSQL
  • MongoDB
  • Redis
  • Kafka
  • RabbitMQ
  • BullMQ
  • MQTT

Cloud & DevOps

Reproducible builds, traceable images, rollback-friendly deploys — the pipeline is part of the product.

  • Docker
  • Kubernetes
  • AWS
  • Argo CD
  • Jenkins
  • Terraform

Architecture

Microservices with real boundaries, centralised identity, and caching that survives more than one instance.

  • Microservices
  • Event-driven
  • Keycloak
  • Distributed cache
  • HA / failover

Testing & Observability

Load characteristics measured before release; production failures traced, not guessed at.

  • Cypress
  • Playwright
  • JMeter
  • ELK Stack
  • Load testing
05Leadership & Practice

Senior work is mostly what happens around the code.

Leading a sub-team at Glory and a delivery team at s6k Labs taught me that the throughput of a system and the throughput of the people maintaining it are the same problem.

Team

Leading without becoming the bottleneck

At Glory I led a sub-team through daily technical decisions and set the code quality bar in review. At s6k Labs I led delivery and brought interns and freshers up to shipping standard. The goal in both cases was the same: fewer decisions that only I could make.

Review

Reviews that change the design, not the whitespace

Structured review with an explicit standard — boundaries, failure handling, query cost, test coverage. Comments arrive early enough to matter, and disagreements go to a design doc rather than a longer thread.

Delivery

Owning the path to production

GitLab and Harbor at s6k Labs, AWS ECR and Docker workflows at AIARACORP, Argo CD and Jenkins on Kubernetes. Every release traceable to an image and reversible without a war room.

Rigor

Security and upgrades on a schedule

Sprint-cadence dependency upgrades to close known vulnerabilities at Airdata; pentest findings on cash-handling software closed at Glory. Neither is glamorous work, and both are the difference between a product and a liability.

Documentation

Writing the system down

System analysis and design documents before implementation on client work, so the decision and its trade-off outlive the sprint it was made in.

Automation

Removing the repetitive work

AI-assisted scripts for repeated team tasks at AIARACORP, and a LangChain pipeline at Airdata that took 25% of the manual time out of ticket-data extraction and validation.

06Engineering Principles

Five rules I don't trade away.

01

Keep systems simple.

Every service, queue and cache layer is a thing someone has to operate at 2am. Add one only when the workload demands it, and be able to say what breaks if you remove it.

02

Design for failure.

Brokers drop, databases fail over, third-party APIs time out. HA setups, retries and idempotent consumers are cheaper to build up front than to retrofit during an incident.

03

Performance is a feature.

A 30–50% cut in API time comes from measuring the query, not from rewriting the framework. Profile, fix the hot path, prove the delta.

04

Observability is not optional.

If a bug can only be reproduced by a user, the system is under-instrumented. Structured logs, traces and load baselines turn incidents into short conversations.

05

Good architecture enables change.

The point of boundaries is that the next requirement lands in one place. Code reviews and design docs are how a team keeps that property as it grows.

07Contact

Let's build something worth scaling.

Open to senior backend, platform and full-stack roles. Fastest way to reach me is email — I answer within a day.