Portrait of Nguyen Tran Tung

Nguyen Tran Tung

10+ years in backend, the last five on live game systems in Django and .NET Core. Most of the work comes down to keeping data correct when many players write to the same place at once, keeping scheduled jobs firing on time across workers, load testing before release, and moving legacy systems onto a new stack without downtime. Most of that work ran end to end — writing the design, building it, testing it, and watching it in production afterwards.

PvP Tournament

Distributed job scheduling

A versus tournament scheduling system built on rrule, with a master job orchestrating slave jobs for reward distribution, leaderboard updates and recurring event scheduling. Jobs run on Celery workers with Redis as broker and RedBeat driving schedules that change at runtime. Timezone-aware recurrence keeps live events firing at the right local hour for a global player base.

  • Python
  • Celery
  • Redis
  • rrule

Daily Boss

High-contention writes

Atomic DynamoDB updates with conditional expressions absorb concurrent damage submissions, eliminating race-condition data loss. Faction and member leaderboards run on Redis, guarded by distributed Redis locks where two requests can touch the same key. Reward distribution is dispatched as Celery jobs across damage milestones and faction thresholds, and the whole flow is covered by unit tests.

  • DynamoDB
  • Redis
  • Celery
  • Atomic writes
  • Unit tests

Tactics Event

Service architecture

Standardized the layered architecture (view/controller/service/manager/model) and the progress-tracking pattern now shared across every event system. Implemented dynamic tier unlocking that auto-seeds new tiers mid-event without full table scans. Fixed a nested-attribute DynamoDB write failure and reused the fix as a pattern elsewhere.

  • Architecture
  • Design patterns
  • DynamoDB

Faction Feud

Migration & load testing

Migrated Faction Feud from Python 2 to .NET Core 6, transitioning all APIs with no downtime. Modeled user behaviour in Locust to load-test new and updated APIs under varied conditions, presented the reports and resolved the bottlenecks found.

  • C# / .NET 6
  • Locust
  • Load testing
  1. Game Server Engineer

    Sep 2021 – Present

    Gear Games · Hanoi

    Live event systems at scale — see Selected work above.

  2. Web Developer

    Jul 2018 – Nov 2021

    Gear Games · Hanoi

    Built features for the internal LiveOps tool used to control live game data; partnered with Unity and server teams to design data structures for new releases.

  3. Web Developer

    Dec 2020 – Jan 2022

    Rybot · US clients

    Feature work and bug fixes for American clients on Flask, Angular and PostgreSQL, across timezones with US product owners on short iterative release cycles.

  4. Full Stack Developer

    Dec 2017 – Jun 2018

    Software Outsourcing Vietnam (ICTS) · Hanoi

    Worked directly with Japanese clients; shipped bireki.jp (ReactJS, AWS EC2) and the Relotalent mobile app as a PWA.

  5. Web Developer

    Mar 2016 – Jan 2018

    VTC Game · Hanoi

    Started on marketing sites for new game launches, then moved onto VTCPay.vn, a national payment gateway — first exposure to large-scale system operations. Also contributed to We25.vn and Game8.vn.

  6. PHP Web Developer

    Sep 2014 – Feb 2016

    MQ ICT Solutions · Hanoi

    Built and maintained PHP/MySQL web applications on outsourcing projects for Japanese clients — first professional ownership of a production codebase.

Languages & frameworks
  • Python
  • Django
  • Flask
  • C# / .NET Core 6
  • PHP
Data
  • DynamoDB
  • Redis
  • MySQL
  • PostgreSQL
Infra & tooling
  • Celery
  • Docker
  • Docker Compose
  • AWS EC2/S3
  • GitHub Actions
  • Locust
  • Datadog
Frontend
  • ReactJS
  • VueJS
  • Angular
  • PWA