resume
> cat ~/resume
An Ngo
Software engineer · M.S. Computer Science student @ SJSU
San Jose, CAGitHubLinkedInemail
Systems-oriented software engineer and M.S. Computer Science student at San José State University. I build parallel, graphics and AI-assisted software, and I like putting deterministic, testable boundaries around complex or unpredictable parts.
// education
Aug 2026–present
M.S. Computer Science
San José State University
- Expected May 2028
Aug 2023–May 2026
B.S. Computer Science
San José State University
- Summa Cum Laude, GPA 3.95/4.00
- Computer Science Department Honors
- Coursework: Operating Systems, Parallel Processing, Computer Architecture, Machine Learning
// experience
Jan 2026–present
Operating Systems Research Assistant
San José State University · San Jose, CA · the project >
- Led a 4-student team researching spiking-neural-network inference in an in-car OS prototype
- Set the architecture, divided the work, merged 189 files across branches and presented to faculty
- Built the host-side safety harness in C: 4 priority lanes, a 256-event trace and a 16-actor watchdog
- Wrote 168 checks in 7 suites behind make compliance-test, with an injected clock for reproducible runs
C · Python · Make · QEMU · Linux
// projects
Jun–Sep 2026
VoxForge
Solo · A voxel editor where AI edits are proposals, checked and previewed before anything is applied
- Made model output a non-executable proposal, checked for 15 issue types and applied only after preview
- Routed model calls through a server-side route to the local Codex CLI or an OpenAI Responses API gateway
- Cut draw calls from 16,384 to 8 and frame time from 55.1 to 0.13 ms at 16,384 voxels (three.js reproduction)
- Wrote 259 tests (node:test), all passing
TypeScript · Next.js · React Three Fiber · three.js · OpenAI API
Apr–Sep 2026
Parallel Renderer
Solo · A C++20 Monte Carlo path tracer comparing four ways to split an image across CPU threads
- Compared serial, static, atomic-tile-index and OpenMP scheduling on 16 cores
- Cut render time from 474.9 to 35.7 ms at 16 threads (13.29×, 83.1% efficiency), matching OpenMP's 13.16×
- Ran 1.57× faster than static partitioning at 16 threads
- Seeded each sample by pixel and sample index so every schedule renders the same image
C++20 · std::thread · OpenMP · SDL3 · Dear ImGui · CMake
Feb–May 2026
Reflex Royale
Team of 3 (71 of 89 commits) · A multiplayer reaction-time game where the server runs the rooms and times every press
- Built server-authoritative Socket.IO rooms for up to 4 players, timing each press on the server
- Added bcrypt accounts, MongoDB-backed sessions, and reconnects with host transfer
- Wrote 109 passing tests (51 Node, 58 Playwright)
Next.js · Express · Socket.IO · MongoDB · Playwright
// skills
- Languages
- C · C++ · Python · Java · JavaScript · TypeScript · SQL · HTML/CSS
- Frameworks & graphics
- React · Next.js · Express · Socket.IO · three.js · React Three Fiber · SDL3 · Dear ImGui
- Systems & parallel
- Linux · QEMU · OpenMP · std::thread · atomics · Make · CMake · CTest
- Tools
- Git · MongoDB · Playwright · OpenAI API · Codex CLI · Microsoft Office