Doan Phi Hung

Software Engineer

Contact

Education

08/2013 - 08/2018

Engineering Degree in Computer Science

School of Information and Communication Technology, Hanoi University of Science and Technology.

Certifications & Awards

Career

09/2022 - 06/2023

Nakji network

Senior Backend Engineer (remote)
  • Develop an open source platform for indexing blockchain data.

08/2018 - 08/2022

Switching Technology Research Center - Viettel High Technology Corporation

Senior Backend Engineer
  • Develop 3G and 4G core network nodes (HRL, HSS, UDR).
  • Develop 5G core network nodes (AMF).

01/2018 - 08/2018

Gpaddy

Fullstack Developer
  • Develop IOS apps using Swift.
  • Develop language learning websites using Laravel and ReactJs frameworks.

05/2017 - 10/2017

Magenest

Fullstack Developer
  • Develop web modules and Android apps for Mangeto 2 platform.

03/2015 - 12/2016

Vietbrain

Fullstack Developer
  • Develop mobile games using Unity engine.

Skills

Programming Languages

  • Golang: 5 years of experience.
  • C/C++: 3 years of experience.
  • Java: 3 years of experience.
  • PHP: 3 years of experience.
  • Html, Css, Js: 2 years of experience.
  • Other: Typescript, Rust, Python, Erlang, Kotlin, C#, Objective-C, Swift.

Technical Skills

  • Deep insight of functional programming, data structure and algorithm; able to debug and write high-performance code.
  • Well understanding of OOP programming and design pattern; able to design and write clean, reusable code.
  • Well versed in concurrent programming; able build high-traffic and high-available system.
  • Proficient at using code version control (e.g., Github, Gitlab) and CI/CD
  • Experienced with cloud native platforms; able to deploy scalable and reliable applications on K8s or GCP.
  • Experienced with microservices, RESTful, GRPC, message queue (Kafka) and low-level network protocols.
  • Advanced knowledge of SQL and NoSQL databases (e.g., MySQL, PostgreSQL, MongoDB, Aerospike); able to design and optimize large-scaled, high-performance database systems.

Soft Skills

  • Problem-solving skill.
  • Team-working skill.
  • Self-study and research skill.
  • Fluent in English, with experience working in a global team.

Projects

09/2022 - 06/2023

Nakji network

Customer Blockchain companies
Description Nakji network is an open source platform that indexes data from different blockchains and allows consumers to access historical, realtime or aggregated data.
Team size 7
Position Senior Backend Engineer
Contributions
  • Write connectors that process data from blockchains and feed them to the message queue.
  • Redesign, optimize the core service that consumes and indexes data from the message queue, increasing its performance by x50 times.
  • Design and implement a customer billing service that manages customers and allows purchasing service subscription with stripe.
  • Improve the DevOps environment by redesigning the workflow from trunk-based model to gitflow model.
Technologies
  • Golang, Rust, Typescript.
  • PostgreSQL, Timescaledb.
  • GCP, K8s, Docker, Helm.
  • Github CI/CD.
  • Kafka.
  • Stripe.

01/2020 - 08/2022

AMF (Access and Mobility Management Function)

Customer Viettel
Description The AMF is a control plain function in 5G core network. The main functions of AMF are registration management, reach-ability management, connection management and mobility management.
Team size 7
Position Senior Backend Engineer
Contributions
  • Design and implement the data repository of the AMF.
  • Write a generic Golang client library to interact with Netconf server.
  • Write high-performance, concurrent TCP Client-Server library in Golang.
  • Implement the transport layer and connection pool for HTTP2.
  • Design and implement the base communication model and state machine of the AMF.
Technologies
  • Golang, C++.
  • Aerospike, MongoDB.
  • Docker, Kubernetes.
  • Gitlab CI/CD.
  • NetConf.

08/2018 - 01/2020

UDC (User Data Convergence)

Customer Viettel
Description The UDC composes of three mobile core network nodes: HLR (Home Location Register), HSS (Home Subscriber Server) and UDR (User Data Repository). The function of UDC system is to store mobile network subscribers' location data and other information.
Team size 6
Position Backend Engineer
Contributions
  • Develop data access layer for UDC system.
  • Develop authentication function of UDC system.
Technologies
  • C/C++, Erlang, Golang.
  • Aerospike, MySql.
  • Svn.

01/2018 - 08/2018

Language learning app and website

Customer Language learners
Description Language learning IOS app and website that allow end users to study languages by playing mini games and interact with others on mobile phone and website.
Team size 4
Position Fullstack Developer
Contributions
  • Develop a module on IOS that allows writing a Japanese word on the screen for grading.
  • Develop a website that allows users to search for videos that contain phrases or keywords.
Technologies
  • Laravel, PHP.
  • ReactJs, Typescript.
  • IOS, Swift.
  • Elastic Search.

05/2017 - 10/2017

Magenest Event Ticket

Customer Language learners
Description Booking app on Android with backend developed on Magento platform that allow customers to buy ticket online and to scan QR code to checkin.
Team size 2
Position Fullstack Developer
Contributions
  • Write web APIs for third-party enterprises to login and to manage ticker selling business.
  • Develop Android app that allows to scan QR code on the ticket and to view business status.
Technologies
  • Magento, PHP.
  • Android, Java.