Open to backend roles
Hoang Gia Kiet
Building backend systemsfor real-world scale._
Software Engineer focused on backend services, event-driven systems, and AI-powered applications.
- building
- VMSmart backend @ FPT Telecom
- stack
- Python · Django · Kafka · MQTT
- location
- Ho Chi Minh City, Vietnam · UTC+7
01
About
I build the backend of an enterprise video management and AI analytics platform — backend APIs, microservices, event-driven systems over Kafka, RabbitMQ and MQTT, and the data and search layer. A lot of the work is keeping production healthy: debugging incidents, optimizing consumers under load, and taking services from design through production.
I am deliberate about hard-to-reverse decisions — schema changes, public contracts, data migrations — and quick on everything else. I use Claude Code daily and review every AI-generated change before it ships.
“The more I learn, the more I realize how much I don't know.”
— Albert Einstein
- Backend
- Python · Django · REST APIs
- Systems
- Microservices · Event-driven architecture
- Data
- MySQL · OpenSearch
- AI
- AI-analytics integration
02
Experience
Lead backend developer for the face-recognition service and built its audio-analysis service — event-driven backends in Python, Django, Kafka, MQTT and RabbitMQ, focused on Kafka consumer reliability, idempotency, and production incident response for named enterprise customers.
Key work
- Lead developer for the face-recognition service — advanced-attendance workflow, shift and face-profile management, Kafka/MQTT result and alarm-push workers, attendance status calculation, and stale-stream email alerting, for an attendance product serving 2,500+ employee profiles
- Built the audio-analysis service end to end — audio-to-service-record mapping pipeline over OpenSearch keyword search, keyword management, async Excel export, and batch-processing workers; co-developed the audio device-management service
- Designed a Strategy + Factory Method abstraction for the AI-management layer’s multi-vendor integration so a new AI vendor plugs in without touching the existing interface or any other vendor’s code; built per-provider Kafka routing, a shadow-evaluation harness (parallel Kafka topic + OpenSearch index), and an internal R&D portal for per-camera config and provider comparison; migrated People Counting to a second vendor with a parallel run before go-live
- Fixed a face-profile API timeout via an N+1 query fix — ~27s down to under 1s for 280 profiles; built a stress-test harness and prototyped Kafka consumer-throughput optimizations (batch fetch, worker-pool tuning, connection reuse), raising measured throughput 110 to 250 events/s for people-counting
- Built the miniapp attendance-request backend and the advanced-security AI service-package backend; contributed dashboard and reporting APIs to the heatmap and demographic services
- Resolved 30+ customer-reported production incidents; traced a silent Kafka-consumer data-loss issue (~0.13% of ~556k messages) to an idempotent bounded-retry fix; mentored an intern engineer and reviewed code across the AI services
Earlier
- Back-end Developer InternFPT TelecomJan 2025 — Sep 2025
FPT Telecom 2024 Technology Internship Program on VMSmart. Started the audio-analysis service and the face-recognition attendance backend; built a proof-of-concept MySQL-to-MongoDB CDC pipeline (Debezium + Kafka) and a Django/DRF admin UI for the Kafka cluster. Converted to full-time.
- IT Support InternDong Nai Radio and Television StationAug 2024 — Nov 2024
Internal IT infrastructure and troubleshooting for station equipment and networked systems.
03
Tech Stack
- Python
- Go
- JavaScript
- Java
- C/C++
- Django
- Django REST Framework
- Flask
- pytest
- Spring Boot
- React
- Apache Kafka
- RabbitMQ
- MQTT
- Celery
- Debezium
- MySQL
- PostgreSQL
- MongoDB
- Redis
- OpenSearch
- S3-compatible storage
- Linux
- Docker
- Jaeger
- Git
- CI/CD
- Postman
- Swagger
- Jira
- n8n
- Claude Code
04
Projects
University work from 2025 — both landed in the same event-driven, video-AI territory I work in now.
Traffic Accident Detection System (YOLOv11)
Detects traffic accidents in near real time from street-camera RTMP video. Built with my student scientific-research team; we hand-labelled the Vietnamese dataset and trained a YOLOv11 model reaching >90% mAP at ~60 FPS.
- Hand-labelled Vietnamese traffic-accident dataset
- Benchmarked 5 YOLOv11 sizes × 3 runs — >90% mAP at ~60 FPS
- Four services: stream ingestion · Ray inference · Kafka · Django backend
- Dashboard: incident review, record CRUD, Excel export
Real-time MySQL → MongoDB Sync with Debezium & Kafka
Keeps a MongoDB store in sync with a source MySQL database via change data capture — no batch export/import. Debezium and Kafka carry the row-level changes; a consumer I wrote maps and applies them to MongoDB.
- Debezium + Kafka Connect capture MySQL row changes
- Custom consumer maps relational rows → documents and applies them
- Django / DRF admin UI for the Kafka cluster; one Docker Compose stack
05
Education
B.Eng. Information Technology
University of Transport and Communications — Ho Chi Minh City
2021 — 2025 · GPA 3.33 / 4.0
Thesis — real-time traffic-accident detection from video with YOLOv11 (Python, Django/DRF, Kafka, RTMP, OpenCV).
- Consolation Prize — Student Scientific Research · 2024 — 2025
- 3rd Prize — Student Scientific Research · 2022 — 2023
- 3rd Prize — Challenge to IoT Network (CTIT) · 2023 & 2024
- Head of Organizing Committee and volunteer MS Office instructor for rural students · 2023 — 2024
- Secretary, Youth Union of the Information Technology Department · 2022 — 2024
06
Contact
Let's build something useful.
Open to conversations about backend engineering, distributed systems, and AI-powered products.