NTT

Backend Engineer · Django & .NET · 10+ yrs

Nguyen Tran Tung

10+ years in backend, the last five on the game servers behind WWE Champions, a Scopely title, 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.

10+
Years in software industry
5+
Years on live game systems
  • Zero-downtime migrations
  • High-concurrency event services
Portrait of Nguyen Tran Tung

21.0278° N, 105.8342° E
Hanoi, Vietnam

02

Selected work

Four systems inside WWE Champions — a mobile game from Scopely, one of the largest publishers in the US. Its official site puts the game at 45M+ players. Official site ↗

Project 01 / 04

Daily Boss

High-contention writes
Problem

Prevented race-condition data loss when many players submitted damage to the same boss concurrently.

Contribution

Owned the write path end-to-end — data model, implementation, tests.

Approach Show approach ↓ Hide approach ↑

Atomic DynamoDB conditional writes stop concurrent submissions from overwriting each other. Faction and member leaderboards run on Redis sorted sets — scores accumulate via zincrby, rank comes from zrevrank instead of scanning. Reward payouts run as Celery jobs across damage milestones, covered by unit tests.

Result

Eliminated the observed race-condition failure mode; leaderboards stay accurate under bursts of hundreds of writes per second.

  • DynamoDB
  • Redis sorted sets
  • Celery
  • Atomic writes
  • Unit tests
Project 02 / 04

PvP Tournament

Distributed job scheduling
Problem

A recurring tournament has to land at the right local hour for players across every timezone — on a schedule that can change without a redeploy.

Contribution

Designed the scheduling architecture and the isolation model between tournaments and other live features.

Approach Show approach ↓ Hide approach ↑

rrule drives the recurrence; a coordinator job orchestrates worker jobs that distribute rewards and update leaderboards, all on Celery with Redis as broker. RedBeat lets the schedule change live. Seven separate Celery apps, each with its own Redis and worker pool, keep one tournament’s bulk payout from stalling another feature’s queue.

Result

Prevented cross-feature queue contention during bulk payouts, and schedule changes ship with no downtime.

  • Python
  • Celery
  • Redis
  • rrule
Project 03 / 04

Tactics Event

Service architecture
Problem

Every new event system was being built from scratch, with no shared pattern for progress tracking or tier unlocks.

Contribution

Defined the layered architecture (view / controller / service / manager / model) now used across every event system.

Approach Show approach ↓ Hide approach ↑

Built dynamic tier unlocking that auto-seeds new tiers mid-event without full table scans. Found and fixed a nested-attribute DynamoDB write failure, then reused the fix as a shared pattern.

Result

New event systems ship on one shared architecture instead of a one-off build each time; tier unlocks add capacity mid-event without a full table scan.

  • Architecture
  • Design patterns
  • DynamoDB
Project 04 / 04

Faction Feud

Migration & load testing
Problem

A live feature needed to move off Python 2 with no downtime — and the team needed proof it would hold at peak load before launch.

Contribution

Led the migration and built the load-testing model that shaped the launch plan.

Approach Show approach ↓ Hide approach ↑

Migrated all APIs to .NET Core 6 with a zero-downtime cutover. Modeled expected peak concurrent load in Locust, then benchmarked new and updated APIs against it.

Result

Load test results set the server and database scaling plan before launch and flagged the bottlenecks worth fixing first.

  • C# / .NET 6
  • Locust
  • Load testing
  • Capacity planning
03

Experience

  1. Jul 2018 – Present
    Hanoi

    Web Developer → Game Server Engineer

    Gear Games

    Web Developer, Jul 2018 – Nov 2021 · Game Server Engineer, Sep 2021 – Present

    Promoted into the game-server team while wrapping up the Web Developer role.

    Backend for WWE Champions, Scopely’s mobile title — live event systems at scale (see Selected work above). Started by building the internal LiveOps tool and partnering with Unity / server teams on data structures for new releases.

    • Python
    • Django
    • .NET Core
    • DynamoDB
    • Redis
    • Celery
    • AWS
  2. Dec 2017 – Jun 2018
    Hanoi

    Full Stack Developer

    Software Outsourcing Vietnam (ICTS)

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

    * Brief overlap with the VTC Game role below while transitioning between companies.

    • ReactJS
    • AWS
  3. Mar 2016 – Jan 2018
    Hanoi

    Web Developer

    VTC Game

    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.

    • PHP
    • MySQL
  4. Sep 2014 – Feb 2016
    Hanoi

    PHP Web Developer

    MQ ICT Solutions

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

    • PHP
    • MySQL
04

Toolbox

Core

  • Python
  • Django
  • C# / .NET Core
  • DynamoDB
  • Redis
  • AWS

Also use

  • Flask
  • PHP
  • MySQL
  • PostgreSQL
  • Docker
  • Docker Compose
  • GitHub Actions
  • Locust
  • Datadog

Frontend (earlier career)

  • ReactJS
  • VueJS
  • Angular
  • PWA
05

How I work

  1. 01

    Design for concurrent writes.

  2. 02

    Test failure paths before release.

  3. 03

    Load test before capacity planning.

  4. 04

    Monitor production behavior after deployment.

Studying solution architecture now, with certification planned next.

Tools I use in development

  • Claude Code
  • Codex
  • opencode

06 — Education

  • Hanoi University of Science and Technology

    Engineer’s Degree, Information Technology

    Graduated 2015

  • Nguyen Tat Thanh High School for the Gifted, Lao Cai

    Physics track

    Class of 18

Certifications