Work
  • Aug 2021 - now
    Adstart Media
    Software Developer

    Backend

    • Designed and built REST APIs and backend services in Java (Spring Boot, Play Framework) and Scala (Play Framework, Akka), applying OOP principles, SOLID design, and common design patterns (Factory, Strategy, Template Method)
    • Handled asynchronous processing — fire-and-forget flows, async event publishing, background task execution — with proper lifecycle and graceful shutdown handling
    • Integrated payment gateways end-to-end: designed layered controller → service → webhook architecture, implemented two-phase auth flows, token caching, and callback handling
    • Applied aspect-oriented programming for cross-cutting concerns (audit logging, traceability); used event-driven patterns for decoupled async processing
    • Maintained clean code through consistent refactoring: service decomposition, parameter object extraction, abstraction of shared behavior, and elimination of duplication
    • Wrote unit and integration tests with mocking and embedded database fixtures; ensured test isolation in shared environments
    • Designed and executed database migrations; modeled schemas for high-throughput write services; applied polyglot persistence across multiple database technologies
    • Built production support tooling for incident recovery; implemented fraud detection at ingestion time with consistent patterns across write services
    • Also maintained a PHP/MVC backend: optimized N+1 queries, built parallel query systems, and managed multi-country gateway configurations

    Frontend

    • Built admin UIs with React / Next.js (TypeScript, Tailwind CSS): typed API client layer, form validation with schema libraries, reusable component patterns wired to real backend APIs
    • Designed and built landing pages with clean HTML/CSS/JavaScript across multiple country-service combinations; focused on fast load, responsive layout, and compliance requirements
    • Built a modular shared SDK for browser-based authentication flows; applied systematic refactoring to reduce code volume significantly while keeping behavior identical across all regional variants
    • Maintained a revenue calculation dashboard: multi-currency tariff logic, per-carrier rate branching, and gateway onboarding integrated into the data pipeline

    Communication & Integration

    • Authored API contract documentation and integration guides for external partners connecting to our platform — covering webhook flows, subscription protocols, and operator-specific billing rules
    • Coordinated directly with gateway providers during onboarding: troubleshot auth handshakes, callback timing, and operator edge cases
    • Produced OpenAPI specs as the primary reference for internal and external API consumers

    Backend

    • Thiết kế và xây dựng REST API cùng các backend service bằng Java (Spring Boot, Play Framework) và Scala (Play Framework, Akka), áp dụng nguyên tắc OOP, SOLID và các design pattern phổ biến (Factory, Strategy, Template Method)
    • Xử lý bất đồng bộ — fire-and-forget flows, async event publishing, background task execution — với lifecycle quản lý đúng đắn và graceful shutdown
    • Tích hợp payment gateway end-to-end: thiết kế kiến trúc controller → service → webhook theo lớp, implement two-phase auth flow, token caching và callback handling
    • Áp dụng lập trình hướng khía cạnh (AOP) cho các cross-cutting concern (audit logging, traceability); dùng event-driven pattern cho async processing tách rời
    • Duy trì code sạch qua refactoring liên tục: tách service, trích xuất parameter object, trừu tượng hóa hành vi dùng chung, loại bỏ trùng lặp
    • Viết unit và integration test với mocking và embedded database fixture; đảm bảo test isolation trong môi trường dùng chung
    • Thiết kế và thực thi database migration; mô hình hóa schema cho write service throughput cao; áp dụng polyglot persistence trên nhiều công nghệ database
    • Xây dựng production support tooling cho incident recovery; triển khai fraud detection tại thời điểm ingestion với pattern nhất quán trên các write service
    • Duy trì backend PHP/MVC: tối ưu N+1 query, xây dựng hệ thống truy vấn song song và quản lý cấu hình gateway đa quốc gia

    Frontend

    • Xây dựng admin UI bằng React / Next.js (TypeScript, Tailwind CSS): typed API client layer, form validation với schema library, reusable component pattern kết nối với backend API thực
    • Thiết kế và xây dựng landing page bằng HTML/CSS/JavaScript thuần cho nhiều tổ hợp quốc gia-dịch vụ; tập trung vào tải nhanh, layout responsive và yêu cầu compliance
    • Xây dựng modular shared SDK cho browser-based authentication flow; refactoring hệ thống giúp giảm đáng kể lượng code trong khi giữ nguyên hành vi trên tất cả các variant theo khu vực
    • Duy trì revenue calculation dashboard: logic tariff đa tiền tệ, phân nhánh rate theo carrier và onboarding gateway tích hợp vào data pipeline

    Giao tiếp & Tích hợp

    • Soạn thảo tài liệu API contract và integration guide cho đối tác bên ngoài kết nối với nền tảng — bao gồm webhook flow, subscription protocol và billing rule theo operator
    • Phối hợp trực tiếp với gateway provider trong quá trình onboarding: xử lý sự cố auth handshake, callback timing và các edge case theo operator
    • Sản xuất OpenAPI spec làm tài liệu tham chiếu chính cho consumer API nội bộ và bên ngoài
  • Feb 2021 - Aug 2021
    Adstart Media
    Intern Web Developer
    • Developed landing pages with HTML, CSS, and JavaScript
    • Built a domain-management tool with Spring Boot (Java 11) backend and Flutter frontend, deployed on AWS; integrated Namecheap, GoDaddy, and Google Domains APIs
    • Phát triển landing page bằng HTML, CSS và JavaScript
    • Xây dựng công cụ quản lý domain với backend Spring Boot (Java 11) và frontend Flutter, deploy trên AWS; tích hợp API của Namecheap, GoDaddy và Google Domains