Files
cv/miti99.typ
T
tiennm99 fc6874dbee 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
2026-03-31 22:41:19 +07:00

218 lines
7.5 KiB
Typst
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
// Import the rendercv function and all the refactored components
#import "@preview/rendercv:0.3.0": *
// Apply the rendercv template with custom configuration
#show: rendercv.with(
name: "Tien Nguyen Minh",
title: "Tien Nguyen Minh - CV",
footer: context { [#emph[Tien Nguyen Minh -- #str(here().page())\/#str(counter(page).final().first())]] },
top-note: [ #emph[Last updated in Mar 2026] ],
locale-catalog-language: "en",
text-direction: ltr,
page-size: "us-letter",
page-top-margin: 0.7in,
page-bottom-margin: 0.7in,
page-left-margin: 0.7in,
page-right-margin: 0.7in,
page-show-footer: false,
page-show-top-note: true,
colors-body: rgb(0, 0, 0),
colors-name: rgb(0, 0, 0),
colors-headline: rgb(0, 0, 0),
colors-connections: rgb(0, 0, 0),
colors-section-titles: rgb(0, 0, 0),
colors-links: rgb(0, 0, 0),
colors-footer: rgb(128, 128, 128),
colors-top-note: rgb(128, 128, 128),
typography-line-spacing: 0.6em,
typography-alignment: "justified",
typography-date-and-location-column-alignment: right,
typography-font-family-body: "XCharter",
typography-font-family-name: "XCharter",
typography-font-family-headline: "XCharter",
typography-font-family-connections: "XCharter",
typography-font-family-section-titles: "XCharter",
typography-font-size-body: 10pt,
typography-font-size-name: 25pt,
typography-font-size-headline: 10pt,
typography-font-size-connections: 10pt,
typography-font-size-section-titles: 1.2em,
typography-small-caps-name: false,
typography-small-caps-headline: false,
typography-small-caps-connections: false,
typography-small-caps-section-titles: false,
typography-bold-name: false,
typography-bold-headline: false,
typography-bold-connections: false,
typography-bold-section-titles: true,
links-underline: true,
links-show-external-link-icon: false,
header-alignment: center,
header-photo-width: 3.5cm,
header-space-below-name: 0.7cm,
header-space-below-headline: 0.7cm,
header-space-below-connections: 0.7cm,
header-connections-hyperlink: true,
header-connections-show-icons: false,
header-connections-display-urls-instead-of-usernames: true,
header-connections-separator: "|",
header-connections-space-between-connections: 0.5cm,
section-titles-type: "with_full_line",
section-titles-line-thickness: 0.5pt,
section-titles-space-above: 0.5cm,
section-titles-space-below: 0.3cm,
sections-allow-page-break: true,
sections-space-between-text-based-entries: 0.15cm,
sections-space-between-regular-entries: 0.42cm,
entries-date-and-location-width: 4.15cm,
entries-side-space: 0cm,
entries-space-between-columns: 0.1cm,
entries-allow-page-break: false,
entries-short-second-row: false,
entries-degree-width: 1cm,
entries-summary-space-left: 0cm,
entries-summary-space-above: 0.08cm,
entries-highlights-bullet: text(13pt, [•], baseline: -0.6pt) ,
entries-highlights-nested-bullet: text(13pt, [•], baseline: -0.6pt) ,
entries-highlights-space-left: 0cm,
entries-highlights-space-above: 0.08cm,
entries-highlights-space-between-items: 0.08cm,
entries-highlights-space-between-bullet-and-text: 0.3em,
date: datetime(
year: 2026,
month: 3,
day: 31,
),
)
#grid(
columns: (auto, 1fr),
column-gutter: 0cm,
align: horizon + left,
[#pad(left: 0.4cm, right: 0.4cm, image("avatar.jpg", width: 3.5cm))
],
[
= Tien Nguyen Minh
#headline([Senior Software Engineer])
#connections(
[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]],
[#link("https://linkedin.com/in/miti99", icon: false, if-underline: false, if-color: false)[linkedin.com\/in\/miti99]],
[#link("https://github.com/tiennm99", icon: false, if-underline: false, if-color: false)[github.com\/tiennm99]],
[#link("https://t.me/tiennm5", icon: false, if-underline: false, if-color: false)[t.me\/tiennm5]],
[#link("https://www.facebook.com/tiennm99/", icon: false, if-underline: false, if-color: false)[fb.com\/tiennm99]],
)
]
)
== Education
#education-entry(
[
#strong[Ho Chi Minh City University of Technology], B.E. in Computer Science in Computer Science and Engineering -- HCMC, Vietnam
],
[
Sept 2017 – June 2023
],
main-column-second-row: [
- 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
#regular-entry(
[
#strong[Senior Software Engineer], ZingPlay Game Studios, VNG Corp. -- HCMC, Vietnam
],
[
July 2020 – present
],
main-column-second-row: [
#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; 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 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 (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 (\~5,000 CCU); resolved production issues and developed new event features
],
)
== Projects
#regular-entry(
[
#strong[#link("https://github.com/tiennm99/vngeoguessr")[VN GeoGuessr]]
],
[
Aug 2025
],
main-column-second-row: [
#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://github.com/tiennm99/store-scraper-bot")[Store Scraper Bot]]
],
[
Nov 2025 – Dec 2025
],
main-column-second-row: [
#summary[Telegram bot that automates scraping and reporting of app metadata from mobile app stores.]
],
)
#regular-entry(
[
#strong[#link("https://github.com/tiennm99")[Pet Projects & Open Source]]
],
[
2017 – present
],
main-column-second-row: [
#summary[Various personal projects spanning game servers, bots, and web tools. Occasionally contribute to open-source projects. Full portfolio on GitHub.]
],
)
== Skills
#strong[Languages:] Java, Go, JavaScript, Shell
#strong[Frameworks & Libraries:] Netty, Vert.x, Spring Boot, Cocos2d-x, Godot
#strong[Databases:] Couchbase, Redis, MySQL, ClickHouse
#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
#strong[Languages (Spoken):] Vietnamese (Native), English (TOEIC 600+)