1. Job Overview
- Role: Fullstack AI Engineer
- Location: Ho Chi Minh City, Vietnam
- Employment Type: Full-Time and Onsite
2. About TNI Tech
TNI Tech is a deep-tech company building SightMatrix — an enterprise-grade, AI-powered Video Management System (VMS) deployed on-premise and in the cloud for smart cities, enterprise security, and intelligent transportation.
Our platform processes live video feeds from thousands of IP cameras, runs real-time AI inference (face recognition, intrusion detection, ANPR, crowd analytics, etc), and delivers instant alerts to operators — all at the edge and in the cloud simultaneously.
We are a startup and high-ownership engineering team. Every engineer owns a meaningful slice of the product and ships features that run in production environments across the country.
3. The Role
We are looking for a Fullstack AI Engineer who can build, integrate, and maintain the software infrastructure that powers our AI video analytics platform.
This is a hands-on engineering role — not a managerial or research position. You will design APIs, build web-based operator interfaces, integrate AI inference services, and manage the data pipelines that connect cameras, ML models, and end users.
You will work across the full stack: from the Python backend that ingests AI events, to the NextJS frontend where operators monitor live feeds and review alerts, to the Docker infrastructure that packages everything for on-premise deployment.
4. What You Will Do
Backend Engineering
- Design and implement REST APIs using FastAPI
- Build async, production-quality services with SQLAlchemy (async), PostgreSQL, and Alembic migrations
- Integrate Redis for real-time event streaming, pub/sub messaging, and task queuing between services
- Manage file storage (snapshots, recorded video segments) via MinIO
- Design and maintain database schemas including vector columns and partitioned tables for multi-tenant, high-volume event data
- Implement JWT-based authentication, RBAC, and API security patterns
AI Pipeline Integration
- Integrate with AI inference services (NVIDIA Deepstream and Triton Inference Server)
- Build vector search features using Qdrant
- Develop Python services in the AI camera pipeline
- Work with video streaming protocols (RTSP, WebRTC)
Frontend Engineering
- Build responsive, real-time operator dashboards in Next.js (App Router, TypeScript)
- Implement live event monitoring with WebSocket push notifications
DevOps & Deployment
- Write and maintain Docker Compose configurations for multi-service deployments across hardware targets
- Support deployments in Center/Site distributed topology
- Write and maintain deployment, backup, and release automation shell scripts
- Manage NGINX reverse proxy configuration
5. Requirements
Must Have
- Python: 2+ years production-grade experience with Python
- AI: Familiarity with Deep learning model training and inference
- NVIDIA stack: Familiarity with CUDA, TensorRT, DeepStream, and Triton Inference Server
- FastAPI: Hands-on experience building production REST APIs with FastAPI or equivalent async framework
- SQLAlchemy: Experience with SQLAlchemy 2.x ORM, async sessions, relationship mapping, and Alembic migrations
- PostgreSQL: Proficient in PostgreSQL — schema design, indexing, query optimization, constraints
- Vector Search: Familiarity with vector databases (Qdrant, Weaviate, Pinecone, Milvus, or pgvector)
- MinIO / S3: Experience with object storage APIs for file upload, retrieval, and presigned URLs
- Docker: Can write Dockerfiles and multi-service docker-compose.yml from scratch
- Git: Strong git workflow practices (branching, meaningful commits, code review)
- Testing: Writes unit and integration tests with pytest, pytest-asyncio, pytest-mock
- Linux: Comfortable with Linux shell, systemd, cron, and bash scripting
- Communication: Can clearly explain technical decisions in writing and in code reviews
- English: Fluent in English (oral and written), at least 700 TOEIC or equivalent
Strong Preference
- Redis: Experience with Redis pub/sub, Streams, or task queuing (Celery/dramatiq/ARQ)
- gRPC: Has worked with gRPC + Protocol Buffers in Python
- Async patterns: Comfortable with Python asyncio, async/await, async generators
- pgvector / HNSW: Has used pgvector for ANN search in PostgreSQL
- Next.js: Experience with Next.js, Server/Client Components, route groups
- WebSocket: Has built real-time features using WebSocket in both backend and frontend
Nice to Have
- RTSP / WebRTC: Experience with real-time video streaming protocols
- ONVIF: Familiar with ONVIF camera protocol
- Embedded Linux: Experience with embedded Linux hardware like Raspberry Pi, NVIDIA Jetson, Qualcomm
- Hybrid architecture: Experience with hybrid architecture where AI inference is performed on edge devices and results are synchronized to the cloud
- Multi-tenant systems: Has designed systems with data isolation at the organization/tenant level
6. What We Value
- Ownership over handoffs. We expect engineers to take a feature from requirements to production — including writing the migration, the API, the UI, the Docker config, and the deployment script
- Clarity in code. Code is read far more than it's written. We value descriptive naming, typed interfaces, and well-structured service layers over clever one-liners
- Pragmatic engineering. We ship real products to real customers. We balance correctness with delivery speed and know when “good enough now” beats “perfect later”
- Cross-layer thinking. The best solutions on our team come from engineers who can reason from the database schema up to the browser interaction — not those who stay in one layer
- Bias for debugging. Our production environments run on Linux hardware with limited connectivity. We need engineers who are comfortable with docker logs, tcpdump, and reading stack traces — not just engineers who write features
7. What We Offer
- Competitive monthly salary with project-performance-based bonuses
- Social, health, and unemployment insurance
- 14 paid leave days per year
- Work on a real AI product in production — not internal tools or CRUD apps
- A small, senior team where your architectural decisions have real impact
- An open environment to work, learn new technologies, and build your experience
8. Hiring Process
- Send your application to job@tnitech.co with the title [Fullstack AI Engineer] Your Full Name
- CV Scan — CV review (3–5 business days)
- Home Test — Practical take-home test (schedule at your convenience)
- Online Interview — 1h home test review + technical background + system design
- Offline Interview — 30min culture fit + role discussion with engineering team
- Offer