Compact CV to 1 page with abbreviations and content refinements

- Abbreviate Ho Chi Minh City → HCMC, VNG Corporation → VNG Corp.
- Restore VNG experience summary and Architecture skills entry
- Restore Languages (Spoken) and Facebook connection
- Remove team size mentions from experience highlights
- Trim thesis bullet to remove over-explained technical details
- Remove Survival2D project entry (duplicate of education thesis)
- Resize avatar for more compact header
This commit is contained in:
2026-03-31 22:41:19 +07:00
parent 9b2ce64433
commit fc6874dbee
7 changed files with 2694 additions and 3514 deletions
+19 -29
View File
@@ -2,7 +2,7 @@
- Phone: +84 869 156 149
- Email: [tiennm99@outlook.com](mailto:tiennm99@outlook.com)
- Location: Ho Chi Minh City, Vietnam
- Location: HCMC, Vietnam
- Website: [miti99.com](https://miti99.com/)
- LinkedIn: [miti99](https://linkedin.com/in/miti99)
- GitHub: [tiennm99](https://github.com/tiennm99)
@@ -10,64 +10,54 @@
# Education
## **Ho Chi Minh City University of Technology**, B.E. in Computer Science in Computer Science and Engineering -- Ho Chi Minh City, Vietnam
## **Ho Chi Minh City University of Technology**, B.E. in Computer Science in Computer Science and Engineering -- HCMC, Vietnam
Sept 2017 June 2023
- GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award (university-wide recognition for academic performance, personal conduct, and community involvement)
- GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award
- Thesis: Survival2D — Built a 2D multiplayer Battle Royale game server in Java (Netty/WebSocket) with authoritative server architecture, QuadTree-based collision detection, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots with A* pathfinding, and server-side anti-cheat via visibility culling
- Thesis: Survival2D — 2D multiplayer Battle Royale game server in Java (Netty/WebSocket); authoritative architecture, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots, and server-side anti-cheat
# Experience
## **Senior Software Engineer**, ZingPlay Game Studios, VNG Corporation -- Ho Chi Minh City, Vietnam
## **Senior Software Engineer**, ZingPlay Game Studios, VNG Corp. -- HCMC, Vietnam
July 2020 present
Joined VNG as a Game Programming Fresher and progressed through Associate Software Engineer and Software Engineer to Senior Software Engineer. Focused on scalable game server architecture and backend systems in Java (Netty, Vert.x), with consistent cross-functional contributions to client-side logic in Cocos2d-x and Godot. Passionate about architecture design and delivering reliable services to large user bases.
Progressed from Game Programming Fresher to Senior Software Engineer. Focused on scalable game server architecture in Java (Netty, Vert.x), with cross-functional contributions to client-side logic in Cocos2d-x and Godot.
- [Chaos Age 2](https://play.google.com/store/apps/details?id=vn.zps.tl2): Sole server developer on a 4-person team (1 server, 23 client); architected the backend from scratch for a global strategy game, supporting more than 300 concurrent users; also assisted the client team with networking and game logic integration
- [Chaos Age 2](https://play.google.com/store/apps/details?id=vn.zps.tl2): Sole server developer; architected backend from scratch for a global strategy game, 300+ CCU; assisted client team with networking and game logic
- [Show](https://play.google.com/store/apps/details?id=zps.games.show) & [Burkozel](https://play.google.com/store/apps/details?id=zps.games.burkozel): Full-stack contributor on a 2-person team (1 server, 1 client) for two real-time card games targeting the Myanmar and Russian-speaking markets; delivered both server-side game logic and significant client-side feature work
- [Show](https://play.google.com/store/apps/details?id=zps.games.show) & [Burkozel](https://play.google.com/store/apps/details?id=zps.games.burkozel): Full-stack contributor on two real-time card games for Myanmar and Russian-speaking markets; delivered server-side logic and client features
- [Bida3D](https://play.google.com/store/apps/details?id=zps.games.bida3d.vn): Implemented matchmaking system on the server and cue direction logic on the client for a global 8-ball pool game on a 10-person team; applied mathematics, physics, and geometry to deliver accurate ball trajectory simulation
- [Bida3D](https://play.google.com/store/apps/details?id=zps.games.bida3d.vn): Implemented matchmaking (server) and cue direction logic (client) for a global 8-ball pool game; applied physics and geometry for accurate ball trajectory simulation
- [Sky Garden](https://play.google.com/store/apps/details?id=vn.kvtm.js): Maintained server stability for a live farm game with up to ~5,000 concurrent users on a 4-person team (2 server, 2 client); proactively detected and resolved production issues, developed new event features, and supported customer care workflows
- [Sky Garden](https://play.google.com/store/apps/details?id=vn.kvtm.js): Maintained server stability for a live farm game (~5,000 CCU); resolved production issues and developed new event features
# Projects
## **[Survival 2D Server](https://github.com/survival2d/server)**
Sept 2021 present
University thesis — a 2D multiplayer Battle Royale game server in Java (Netty) over WebSocket. Designed an authoritative server with client-side prediction, QuadTree spatial indexing for efficient collision detection, and procedural map generation. Applied FlatBuffers serialization to reduce packet sizes by 76% compared to JSON. Implemented AI bots using behavior trees with A* pathfinding, and server-side anti-cheat through visibility culling to prevent ESP exploits.
## **[VN GeoGuessr](https://github.com/tiennm99/vngeoguessr)**
A location-guessing game for Vietnam built with Leaflet.js, Mapillary, and OpenStreetMap, featuring street-level panoramic imagery and interactive map-based scoring.
Aug 2025
Location-guessing game for Vietnam using Leaflet.js, Mapillary, and OpenStreetMap with street-level panoramic imagery and map-based scoring.
## **[Store Scraper Bot](https://github.com/tiennm99/store-scraper-bot)**
A Telegram bot that automates scraping and reporting of app metadata from mobile stores, useful for monitoring app listings and tracking store presence.
Nov 2025 Dec 2025
## **[Static websites with Hugo](https://tiennm99.github.io/)**
Jan 2020 present
Personal blog and static site portfolio on GitHub Pages using the Hugo framework. Also built a site for Ngăm, a community charity project.
Telegram bot that automates scraping and reporting of app metadata from mobile app stores.
## **[Pet Projects & Open Source](https://github.com/tiennm99)**
Maintain a variety of personal projects spanning game servers, bots, web tools, and more. Occasionally contribute fixes and improvements to open-source projects when encountering issues while using various tools and services. Full portfolio available on GitHub.
2017 present
Various personal projects spanning game servers, bots, and web tools. Occasionally contribute to open-source projects. Full portfolio on GitHub.
@@ -78,7 +68,7 @@ Maintain a variety of personal projects spanning game servers, bots, web tools,
**Databases:** Couchbase, Redis, MySQL, ClickHouse
**Infrastructure & DevOps:** Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, Oracle Cloud Infrastructure (OCI)
**Infrastructure & DevOps:** Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, OCI
**Architecture:** Game server architecture, real-time multiplayer systems, event-driven design
BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 KiB

After

Width:  |  Height:  |  Size: 504 KiB

BIN
View File
Binary file not shown.

Before

Width:  |  Height:  |  Size: 499 KiB

After

Width:  |  Height:  |  Size: 504 KiB

+17 -20
View File
@@ -43,59 +43,56 @@
<ul>
<li>Phone: +84 869 156 149</li>
<li>Email: <a href="mailto:tiennm99@outlook.com">tiennm99@outlook.com</a></li>
<li>Location: Ho Chi Minh City, Vietnam</li>
<li>Location: HCMC, Vietnam</li>
<li>Website: <a href="https://miti99.com/">miti99.com</a></li>
<li>LinkedIn: <a href="https://linkedin.com/in/miti99">miti99</a></li>
<li>GitHub: <a href="https://github.com/tiennm99">tiennm99</a></li>
<li>Telegram: <a href="https://t.me/tiennm5">tiennm5</a></li>
</ul>
<h1>Education</h1>
<h2><strong>Ho Chi Minh City University of Technology</strong>, B.E. in Computer Science in Computer Science and Engineering -- Ho Chi Minh City, Vietnam</h2>
<h2><strong>Ho Chi Minh City University of Technology</strong>, B.E. in Computer Science in Computer Science and Engineering -- HCMC, Vietnam</h2>
<p>Sept 2017 June 2023</p>
<ul>
<li>
<p>GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award (university-wide recognition for academic performance, personal conduct, and community involvement)</p>
<p>GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award</p>
</li>
<li>
<p>Thesis: Survival2D — Built a 2D multiplayer Battle Royale game server in Java (Netty/WebSocket) with authoritative server architecture, QuadTree-based collision detection, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots with A* pathfinding, and server-side anti-cheat via visibility culling</p>
<p>Thesis: Survival2D — 2D multiplayer Battle Royale game server in Java (Netty/WebSocket); authoritative architecture, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots, and server-side anti-cheat</p>
</li>
</ul>
<h1>Experience</h1>
<h2><strong>Senior Software Engineer</strong>, ZingPlay Game Studios, VNG Corporation -- Ho Chi Minh City, Vietnam</h2>
<h2><strong>Senior Software Engineer</strong>, ZingPlay Game Studios, VNG Corp. -- HCMC, Vietnam</h2>
<p>July 2020 present</p>
<p>Joined VNG as a Game Programming Fresher and progressed through Associate Software Engineer and Software Engineer to Senior Software Engineer. Focused on scalable game server architecture and backend systems in Java (Netty, Vert.x), with consistent cross-functional contributions to client-side logic in Cocos2d-x and Godot. Passionate about architecture design and delivering reliable services to large user bases.</p>
<p>Progressed from Game Programming Fresher to Senior Software Engineer. Focused on scalable game server architecture in Java (Netty, Vert.x), with cross-functional contributions to client-side logic in Cocos2d-x and Godot.</p>
<ul>
<li>
<p><a href="https://play.google.com/store/apps/details?id=vn.zps.tl2">Chaos Age 2</a>: Sole server developer on a 4-person team (1 server, 23 client); architected the backend from scratch for a global strategy game, supporting more than 300 concurrent users; also assisted the client team with networking and game logic integration</p>
<p><a href="https://play.google.com/store/apps/details?id=vn.zps.tl2">Chaos Age 2</a>: Sole server developer; architected backend from scratch for a global strategy game, 300+ CCU; assisted client team with networking and game logic</p>
</li>
<li>
<p><a href="https://play.google.com/store/apps/details?id=zps.games.show">Show</a> &amp; <a href="https://play.google.com/store/apps/details?id=zps.games.burkozel">Burkozel</a>: Full-stack contributor on a 2-person team (1 server, 1 client) for two real-time card games targeting the Myanmar and Russian-speaking markets; delivered both server-side game logic and significant client-side feature work</p>
<p><a href="https://play.google.com/store/apps/details?id=zps.games.show">Show</a> &amp; <a href="https://play.google.com/store/apps/details?id=zps.games.burkozel">Burkozel</a>: Full-stack contributor on two real-time card games for Myanmar and Russian-speaking markets; delivered server-side logic and client features</p>
</li>
<li>
<p><a href="https://play.google.com/store/apps/details?id=zps.games.bida3d.vn">Bida3D</a>: Implemented matchmaking system on the server and cue direction logic on the client for a global 8-ball pool game on a 10-person team; applied mathematics, physics, and geometry to deliver accurate ball trajectory simulation</p>
<p><a href="https://play.google.com/store/apps/details?id=zps.games.bida3d.vn">Bida3D</a>: Implemented matchmaking (server) and cue direction logic (client) for a global 8-ball pool game; applied physics and geometry for accurate ball trajectory simulation</p>
</li>
<li>
<p><a href="https://play.google.com/store/apps/details?id=vn.kvtm.js">Sky Garden</a>: Maintained server stability for a live farm game with up to ~5,000 concurrent users on a 4-person team (2 server, 2 client); proactively detected and resolved production issues, developed new event features, and supported customer care workflows</p>
<p><a href="https://play.google.com/store/apps/details?id=vn.kvtm.js">Sky Garden</a>: Maintained server stability for a live farm game (~5,000 CCU); resolved production issues and developed new event features</p>
</li>
</ul>
<h1>Projects</h1>
<h2><strong><a href="https://github.com/survival2d/server">Survival 2D Server</a></strong></h2>
<p>Sept 2021 present</p>
<p>University thesis — a 2D multiplayer Battle Royale game server in Java (Netty) over WebSocket. Designed an authoritative server with client-side prediction, QuadTree spatial indexing for efficient collision detection, and procedural map generation. Applied FlatBuffers serialization to reduce packet sizes by 76% compared to JSON. Implemented AI bots using behavior trees with A* pathfinding, and server-side anti-cheat through visibility culling to prevent ESP exploits.</p>
<h2><strong><a href="https://github.com/tiennm99/vngeoguessr">VN GeoGuessr</a></strong></h2>
<p>A location-guessing game for Vietnam built with Leaflet.js, Mapillary, and OpenStreetMap, featuring street-level panoramic imagery and interactive map-based scoring.</p>
<p>Aug 2025</p>
<p>Location-guessing game for Vietnam using Leaflet.js, Mapillary, and OpenStreetMap with street-level panoramic imagery and map-based scoring.</p>
<h2><strong><a href="https://github.com/tiennm99/store-scraper-bot">Store Scraper Bot</a></strong></h2>
<p>A Telegram bot that automates scraping and reporting of app metadata from mobile stores, useful for monitoring app listings and tracking store presence.</p>
<h2><strong><a href="https://tiennm99.github.io/">Static websites with Hugo</a></strong></h2>
<p>Jan 2020 present</p>
<p>Personal blog and static site portfolio on GitHub Pages using the Hugo framework. Also built a site for Ngăm, a community charity project.</p>
<p>Nov 2025 Dec 2025</p>
<p>Telegram bot that automates scraping and reporting of app metadata from mobile app stores.</p>
<h2><strong><a href="https://github.com/tiennm99">Pet Projects &amp; Open Source</a></strong></h2>
<p>Maintain a variety of personal projects spanning game servers, bots, web tools, and more. Occasionally contribute fixes and improvements to open-source projects when encountering issues while using various tools and services. Full portfolio available on GitHub.</p>
<p>2017 present</p>
<p>Various personal projects spanning game servers, bots, and web tools. Occasionally contribute to open-source projects. Full portfolio on GitHub.</p>
<h1>Skills</h1>
<p><strong>Languages:</strong> Java, Go, JavaScript, Shell</p>
<p><strong>Frameworks &amp; Libraries:</strong> Netty, Vert.x, Spring Boot, Cocos2d-x, Godot</p>
<p><strong>Databases:</strong> Couchbase, Redis, MySQL, ClickHouse</p>
<p><strong>Infrastructure &amp; DevOps:</strong> Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, Oracle Cloud Infrastructure (OCI)</p>
<p><strong>Infrastructure &amp; DevOps:</strong> Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, OCI</p>
<p><strong>Architecture:</strong> Game server architecture, real-time multiplayer systems, event-driven design</p>
<p><strong>Languages (Spoken):</strong> Vietnamese (Native), English (TOEIC 600+)</p>
</article>
+2617 -3396
View File
File diff suppressed because it is too large Load Diff
+21 -45
View File
@@ -98,7 +98,7 @@
#headline([Senior Software Engineer])
#connections(
[Ho Chi Minh City, Vietnam],
[HCMC, Vietnam],
[#link("mailto:tiennm99@outlook.com", icon: false, if-underline: false, if-color: false)[tiennm99\@outlook.com]],
[#link("tel:+84-869-156-149", icon: false, if-underline: false, if-color: false)[0869 156 149]],
[#link("https://miti99.com/", icon: false, if-underline: false, if-color: false)[miti99.com]],
@@ -115,7 +115,7 @@
#education-entry(
[
#strong[Ho Chi Minh City University of Technology], B.E. in Computer Science in Computer Science and Engineering -- Ho Chi Minh City, Vietnam
#strong[Ho Chi Minh City University of Technology], B.E. in Computer Science in Computer Science and Engineering -- HCMC, Vietnam
],
[
@@ -123,9 +123,9 @@
],
main-column-second-row: [
- GPA: 8.0\/10 Academic Excellence Scholarship; Five Good Student Award (university-wide recognition for academic performance, personal conduct, and community involvement)
- GPA: 8.0\/10 Academic Excellence Scholarship; Five Good Student Award
- Thesis: Survival2D Built a 2D multiplayer Battle Royale game server in Java (Netty\/WebSocket) with authoritative server architecture, QuadTree-based collision detection, FlatBuffers serialization (76\% packet reduction vs JSON), behavior tree AI bots with A#sym.ast.basic pathfinding, and server-side anti-cheat via visibility culling
- Thesis: Survival2D 2D multiplayer Battle Royale game server in Java (Netty\/WebSocket); authoritative architecture, FlatBuffers serialization (76\% packet reduction vs JSON), behavior tree AI bots, and server-side anti-cheat
],
)
@@ -134,7 +134,7 @@
#regular-entry(
[
#strong[Senior Software Engineer], ZingPlay Game Studios, VNG Corporation -- Ho Chi Minh City, Vietnam
#strong[Senior Software Engineer], ZingPlay Game Studios, VNG Corp. -- HCMC, Vietnam
],
[
@@ -142,15 +142,15 @@
],
main-column-second-row: [
#summary[Joined VNG as a Game Programming Fresher and progressed through Associate Software Engineer and Software Engineer to Senior Software Engineer. Focused on scalable game server architecture and backend systems in Java (Netty, Vert.x), with consistent cross-functional contributions to client-side logic in Cocos2d-x and Godot. Passionate about architecture design and delivering reliable services to large user bases.]
#summary[Progressed from Game Programming Fresher to Senior Software Engineer. Focused on scalable game server architecture in Java (Netty, Vert.x), with cross-functional contributions to client-side logic in Cocos2d-x and Godot.]
- #link("https://play.google.com/store/apps/details?id=vn.zps.tl2")[Chaos Age 2]: Sole server developer on a 4-person team (1 server, 23 client); architected the backend from scratch for a global strategy game, supporting more than 300 concurrent users; also assisted the client team with networking and game logic integration
- #link("https://play.google.com/store/apps/details?id=vn.zps.tl2")[Chaos Age 2]: Sole server developer; architected backend from scratch for a global strategy game, 300+ CCU; assisted client team with networking and game logic
- #link("https://play.google.com/store/apps/details?id=zps.games.show")[Show] & #link("https://play.google.com/store/apps/details?id=zps.games.burkozel")[Burkozel]: Full-stack contributor on a 2-person team (1 server, 1 client) for two real-time card games targeting the Myanmar and Russian-speaking markets; delivered both server-side game logic and significant client-side feature work
- #link("https://play.google.com/store/apps/details?id=zps.games.show")[Show] & #link("https://play.google.com/store/apps/details?id=zps.games.burkozel")[Burkozel]: Full-stack contributor on two real-time card games for Myanmar and Russian-speaking markets; delivered server-side logic and client features
- #link("https://play.google.com/store/apps/details?id=zps.games.bida3d.vn")[Bida3D]: Implemented matchmaking system on the server and cue direction logic on the client for a global 8-ball pool game on a 10-person team; applied mathematics, physics, and geometry to deliver accurate ball trajectory simulation
- #link("https://play.google.com/store/apps/details?id=zps.games.bida3d.vn")[Bida3D]: Implemented matchmaking (server) and cue direction logic (client) for a global 8-ball pool game; applied physics and geometry for accurate ball trajectory simulation
- #link("https://play.google.com/store/apps/details?id=vn.kvtm.js")[Sky Garden]: Maintained server stability for a live farm game with up to \~5,000 concurrent users on a 4-person team (2 server, 2 client); proactively detected and resolved production issues, developed new event features, and supported customer care workflows
- #link("https://play.google.com/store/apps/details?id=vn.kvtm.js")[Sky Garden]: Maintained server stability for a live farm game (\~5,000 CCU); resolved production issues and developed new event features
],
)
@@ -158,70 +158,46 @@
== Projects
#regular-entry(
[
#strong[#link("https://github.com/survival2d/server")[Survival 2D Server]]
],
[
Sept 2021 present
],
main-column-second-row: [
#summary[University thesis a 2D multiplayer Battle Royale game server in Java (Netty) over WebSocket. Designed an authoritative server with client-side prediction, QuadTree spatial indexing for efficient collision detection, and procedural map generation. Applied FlatBuffers serialization to reduce packet sizes by 76\% compared to JSON. Implemented AI bots using behavior trees with A#sym.ast.basic pathfinding, and server-side anti-cheat through visibility culling to prevent ESP exploits.]
],
)
#regular-entry(
[
#strong[#link("https://github.com/tiennm99/vngeoguessr")[VN GeoGuessr]]
],
[
Aug 2025
],
main-column-second-row: [
#summary[A location-guessing game for Vietnam built with Leaflet.js, Mapillary, and OpenStreetMap, featuring street-level panoramic imagery and interactive map-based scoring.]
],
)
#regular-entry(
[
#strong[#link("https://github.com/tiennm99/store-scraper-bot")[Store Scraper Bot]]
],
[
],
main-column-second-row: [
#summary[A Telegram bot that automates scraping and reporting of app metadata from mobile stores, useful for monitoring app listings and tracking store presence.]
#summary[Location-guessing game for Vietnam using Leaflet.js, Mapillary, and OpenStreetMap with street-level panoramic imagery and map-based scoring.]
],
)
#regular-entry(
[
#strong[#link("https://tiennm99.github.io/")[Static websites with Hugo]]
#strong[#link("https://github.com/tiennm99/store-scraper-bot")[Store Scraper Bot]]
],
[
Jan 2020 present
Nov 2025 Dec 2025
],
main-column-second-row: [
#summary[Personal blog and static site portfolio on GitHub Pages using the Hugo framework. Also built a site for Ngăm, a community charity project.]
#summary[Telegram bot that automates scraping and reporting of app metadata from mobile app stores.]
],
)
#regular-entry(
#regular-entry(
[
#strong[#link("https://github.com/tiennm99")[Pet Projects & Open Source]]
],
[
2017 present
],
main-column-second-row: [
#summary[Maintain a variety of personal projects spanning game servers, bots, web tools, and more. Occasionally contribute fixes and improvements to open-source projects when encountering issues while using various tools and services. Full portfolio available on GitHub.]
#summary[Various personal projects spanning game servers, bots, and web tools. Occasionally contribute to open-source projects. Full portfolio on GitHub.]
],
)
@@ -234,7 +210,7 @@
#strong[Databases:] Couchbase, Redis, MySQL, ClickHouse
#strong[Infrastructure & DevOps:] Docker, CI\/CD (GitHub Actions\/GitLab CI), Git, Linux, Oracle Cloud Infrastructure (OCI)
#strong[Infrastructure & DevOps:] Docker, CI\/CD (GitHub Actions\/GitLab CI), Git, Linux, OCI
#strong[Architecture:] Game server architecture, real-time multiplayer systems, event-driven design
+20 -24
View File
@@ -2,7 +2,7 @@
cv:
name: Tien Nguyen Minh
headline: Senior Software Engineer
location: Ho Chi Minh City, Vietnam
location: HCMC, Vietnam
email: tiennm99@outlook.com
photo: img/avatar.jpg
phone: (+84) 869 156 149
@@ -27,41 +27,37 @@ cv:
date:
start_date: 2017-09
end_date: 2023-06
location: Ho Chi Minh City, Vietnam
location: HCMC, Vietnam
highlights:
- "GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award (university-wide recognition for academic performance, personal conduct, and community involvement)"
- "Thesis: Survival2D — Built a 2D multiplayer Battle Royale game server in Java (Netty/WebSocket) with authoritative server architecture, QuadTree-based collision detection, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots with A* pathfinding, and server-side anti-cheat via visibility culling"
- "GPA: 8.0/10 — Academic Excellence Scholarship; Five Good Student Award"
- "Thesis: Survival2D — 2D multiplayer Battle Royale game server in Java (Netty/WebSocket); authoritative architecture, FlatBuffers serialization (76% packet reduction vs JSON), behavior tree AI bots, and server-side anti-cheat"
experience:
- company: ZingPlay Game Studios, VNG Corporation
- company: ZingPlay Game Studios, VNG Corp.
position: Senior Software Engineer
date:
start_date: 2020-07
end_date: present
location: Ho Chi Minh City, Vietnam
summary: Joined VNG as a Game Programming Fresher and progressed through Associate Software Engineer and Software Engineer to Senior Software Engineer. Focused on scalable game server architecture and backend systems in Java (Netty, Vert.x), with consistent cross-functional contributions to client-side logic in Cocos2d-x and Godot. Passionate about architecture design and delivering reliable services to large user bases.
location: HCMC, Vietnam
summary: Progressed from Game Programming Fresher to Senior Software Engineer. Focused on scalable game server architecture in Java (Netty, Vert.x), with cross-functional contributions to client-side logic in Cocos2d-x and Godot.
highlights:
- "[Chaos Age 2](https://play.google.com/store/apps/details?id=vn.zps.tl2): Sole server developer on a 4-person team (1 server, 23 client); architected the backend from scratch for a global strategy game, supporting more than 300 concurrent users; also assisted the client team with networking and game logic integration"
- "[Show](https://play.google.com/store/apps/details?id=zps.games.show) & [Burkozel](https://play.google.com/store/apps/details?id=zps.games.burkozel): Full-stack contributor on a 2-person team (1 server, 1 client) for two real-time card games targeting the Myanmar and Russian-speaking markets; delivered both server-side game logic and significant client-side feature work"
- "[Bida3D](https://play.google.com/store/apps/details?id=zps.games.bida3d.vn): Implemented matchmaking system on the server and cue direction logic on the client for a global 8-ball pool game on a 10-person team; applied mathematics, physics, and geometry to deliver accurate ball trajectory simulation"
- "[Sky Garden](https://play.google.com/store/apps/details?id=vn.kvtm.js): Maintained server stability for a live farm game with up to ~5,000 concurrent users on a 4-person team (2 server, 2 client); proactively detected and resolved production issues, developed new event features, and supported customer care workflows"
- "[Chaos Age 2](https://play.google.com/store/apps/details?id=vn.zps.tl2): Sole server developer; architected backend from scratch for a global strategy game, 300+ CCU; assisted client team with networking and game logic"
- "[Show](https://play.google.com/store/apps/details?id=zps.games.show) & [Burkozel](https://play.google.com/store/apps/details?id=zps.games.burkozel): Full-stack contributor on two real-time card games for Myanmar and Russian-speaking markets; delivered server-side logic and client features"
- "[Bida3D](https://play.google.com/store/apps/details?id=zps.games.bida3d.vn): Implemented matchmaking (server) and cue direction logic (client) for a global 8-ball pool game; applied physics and geometry for accurate ball trajectory simulation"
- "[Sky Garden](https://play.google.com/store/apps/details?id=vn.kvtm.js): Maintained server stability for a live farm game (~5,000 CCU); resolved production issues and developed new event features"
projects:
- name: "[Survival 2D Server](https://github.com/survival2d/server)"
start_date: 2021-09
summary: University thesis — a 2D multiplayer Battle Royale game server in Java (Netty) over WebSocket. Designed an authoritative server with client-side prediction, QuadTree spatial indexing for efficient collision detection, and procedural map generation. Applied FlatBuffers serialization to reduce packet sizes by 76% compared to JSON. Implemented AI bots using behavior trees with A* pathfinding, and server-side anti-cheat through visibility culling to prevent ESP exploits.
highlights:
- name: "[VN GeoGuessr](https://github.com/tiennm99/vngeoguessr)"
summary: A location-guessing game for Vietnam built with Leaflet.js, Mapillary, and OpenStreetMap, featuring street-level panoramic imagery and interactive map-based scoring.
date: 2025-08
summary: Location-guessing game for Vietnam using Leaflet.js, Mapillary, and OpenStreetMap with street-level panoramic imagery and map-based scoring.
highlights:
- name: "[Store Scraper Bot](https://github.com/tiennm99/store-scraper-bot)"
summary: A Telegram bot that automates scraping and reporting of app metadata from mobile stores, useful for monitoring app listings and tracking store presence.
highlights:
- name: "[Static websites with Hugo](https://tiennm99.github.io/)"
start_date: 2020-01
end_date: present
summary: Personal blog and static site portfolio on GitHub Pages using the Hugo framework. Also built a site for Ngăm, a community charity project.
start_date: 2025-11
end_date: 2025-12
summary: Telegram bot that automates scraping and reporting of app metadata from mobile app stores.
highlights:
- name: "[Pet Projects & Open Source](https://github.com/tiennm99)"
summary: Maintain a variety of personal projects spanning game servers, bots, web tools, and more. Occasionally contribute fixes and improvements to open-source projects when encountering issues while using various tools and services. Full portfolio available on GitHub.
start_date: 2017
end_date: present
summary: Various personal projects spanning game servers, bots, and web tools. Occasionally contribute to open-source projects. Full portfolio on GitHub.
highlights:
skills:
- label: Languages
@@ -71,7 +67,7 @@ cv:
- label: Databases
details: Couchbase, Redis, MySQL, ClickHouse
- label: Infrastructure & DevOps
details: Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, Oracle Cloud Infrastructure (OCI)
details: Docker, CI/CD (GitHub Actions/GitLab CI), Git, Linux, OCI
- label: Architecture
details: Game server architecture, real-time multiplayer systems, event-driven design
- label: Languages (Spoken)