Summary

I have over 12 years of experience working in software development. I mainly work with Java and Java frameworks such as Spring Framework, and ORM, and the frameworks of migration data such as Liquibase and Lightway.  

As a backend guy, I have more opportunities to work with databases closely which is why I’m familiar with relational and NoSQL databases. Most Java projects always go with MySQL, PostgreSQL, or SQL Server. Recently, NoSQL has been a trend. Some of them are DynamoDB and MongoDB.

Besides that, many projects require the developers to work on both front-end and back-end which helps me to learn much about some technologies like Angular, AngularJS, HTML, and CSS.

I am not only programming the features of projects but also joining the process of deployment so I have a little bit of experience with CI, CD, Docker, and AWS. Regarding source control, I can work with Git, Bitbucket, and GitHub. That is a little bit about me, it's not too much but hopefully, this information help you understand my work and my experiences and so on.

Technical proficiencies

Programming Languages: Java, SQL, HTML, JavaScript, TypeScript

Skills:

Java Framework and Libraries:  

  • I have more than 10 years of working with Java and Java Frameworks, especially Spring Boot, Spring Security, and Spring MVC, Hibernate... Recently, I have had a chance to work with Spring Cloud.
  • Because I work closely with Java, I am familiar with Maven and Gradle. Many features need to migrate data by using Flyway and Liquibase.
  • Working from the server side, I need to provide the APIs to the client side, so I have experience with OpenAPI.

Relational/NoSQL Databases:

  • I have 7 years of experience with some relational databases. As a backend guy, I have more opportunities to work with databases closely which is why I’m familiar with relational and NoSQL databases. Most Java projects always go with MySQL, PostgreSQL, or SQL Server. Recently, NoSQL has been a trend. Some of them are DynamoDB and MongoDB.

SSO Framework:  

  • Having more than 2 years' experience. Almost all projects that I am working on are secured by authentication and authorization. I used to apply KeyCloak as a 3rd framework.

Front-End frameworks:

  • I am still spending time researching front-end frameworks one of them is AngularJs, Angular, Bootstrap, and Material. Overall, I have more than 2 years of experience with these things.

Cloud Services: Having more than 3 years of experience working with AWS. Some of the services I am using as below:

  • AWS S3, EC2, RDS, Route53, AWS Load Balancing.
  • AWS-ECR, AWS-ECS, AWS Code Build, AWS Code Pipeline.

DevOps:  

  • I am not only programming the features of projects but also joining the process of deployment, so I have experience with CI, CD, Docker, and Jenkins.

Regarding source control, I can work with Bitbucket and GitHub.

Regarding source Message Broker: I have more than 3 years of experience with Kafka and RabbitMQ.

Tools: Visual Studio, Visual Studio Code, IntelliJ, Sublime Text, Git, Jira, Slack, Sonar Cloud, DataDog, Kibana

Professional experience

E-commerce (Check Out) – Saudi Arabia

Developer, Dec 2023 – Present

Project description

  • The project is a B2C platform. It is available as a website and mobile application that provides personal purchasing with simplified payments and elevates experiences. You’re able to split it into 3,4,5…12 payments. No late fees.
  • Overall, we provide a user interface that VueJS built, which helps end-users interact with us, and from the back-end side, we’re using Java technologies, PHP, and OCI to build an ecosystem.

Responsibilities

I am not in charge of the whole system, but I am responsible for some services that relate to KYC such as:  

  • Fraud Detection Service
  • ID Verification
  • Pre-qualification
  • Decoupling the PHP monolithic to the microservice based on Java Technologies.

As a back-end developer, I am in charge of ensuring a stable system. I worked closely with a project team that included 2 Java developers, 2 PHP developers, 2 testers, 2 front-end developers, 1 project owner, 1 project manager, and 1 designer on the successful implementation of a complex project to build a B2C financial platform.

Implemented features following the client's requirements utilizing MySQL as the database management system. About the back-end side we decided to use Java frameworks like Spring boot, Spring Data, Spring Security, and Open-API...to implement the features and provide the API. Since this project is based on the Micro-Services architecture we used RabbitMQ and Rest for the communicating between services. To simplify the process of setting up the development environment and deployment we leveraged Docker's robustness as docker-compose.

During the time working on the project, I've successfully delivered many below functionalities:

  • Implemented the feature of checking customers’ eligible that are allowed or not allowed to split the payment.
  • Implemented the feature of detecting fraud activities of customers based on their data
  • Implemented the feature of pre-qualification that rejects the customer at the beginning of the process.
  • Decoupling the PHP monolithic to the microservice based on Java Technologies.

Participated in daily stand-up meetings, consistently providing valuable updates and insights such as identifying critical bugs in the backend code, raising the problem that impacts the whole flow, suggesting solutions, and asking for help... Additionally, actively contributed to code reviews by thoroughly examining the codebase, identifying potential issues, applying design patterns, and cleaning code... to ensure the delivery of high-quality, maintainable code throughout the development process.

Technologies:

From the description of the “Responsibilities” section we are applying many new and modern technologies, however, I am going to explain in more detail below:

  • The front-end side uses VueJs to build a UX/UI and consumes the APIs that are provided by the back-end side.
  • The back-end side is responsible for providing APIs and handling the business logic so we're using Spring frameworks like Spring Boot, and Spring Security...And we're using MySQL and SpringJPA.
  • Cloud services are the most important technologies in our system. The OCI is the best choice for us until now. We used Docker to publish the images. We also used Gitlab for  CodeBuild and CodePipeline to implement the CI and CD for testing and staging environments.
  • We're implementing the microservices architecture, so we decided to use RabbitMQ as a messages broker that helps our services communicate easily.

INSURANCE – United States

Developer, January 2019 – Nov 2023

Project description

  • The project is a B2B platform. It is available as a website that provides insurance products to enterprises that can help them protect their properties. All contracts have a premium and getting approval automatically depends upon the entered data of the customer.
  • Overall, we provide a user interface that AngularJS built, it helps end-users interact with us, and from the back-end side, we’re using Java technologies and a Relational database to build the system.

Responsibilities

The whole system includes both the front-end and back-end sides. Front-end provides UI and back-end handles for the business logic. I am one of the back-end guys.

As a back-end developer, I am in charge of ensuring a stable system. I worked closely with a project team that included 5 Java developers, 3 testers, 5 front-end developers, 1 project manager, and 2 business analysts on the successful implementation of a complex project to build a B2B insurance platform.

Implemented features following the client's requirements and maintaining the current features. Using SQL-Server as the relational database. We used Spring Security for authentication and authorization and some services of AWS such as S3, and EC2...for cloud infrastructure. About the back-end side we decided to use Java frameworks like Spring boot, Spring Data, and Open-API...to implement the features and provide the API. The project is monolithic architecture. We used Docker to simplify the process of setting up the development environment. We also build the process of payment and we're using Worldpay as a payment library.

During the time working on the project, I delivered successfully many functionalities:

  • Implemented the feature of purchasing an insurance product.
  • Implemented the feature of questionnaire management.
  • Implemented the feature of up-sale and cross-sale.
  • Implemented the feature of contract approval.
  • Implemented the feature of payment transactions.
  • Cleaned up the procedures by using Java code and refactoring bad lines of code.

Participated in daily stand-up meetings, consistently providing valuable updates and insights such as identifying critical bugs in the backend code, raising the problem that impacts the whole flow, suggesting solutions, and asking for help... Additionally, actively contributed to code reviews by thoroughly examining the codebase, identifying potential issues, applying design patterns, and cleaning code... to ensure the delivery of high-quality, maintainable code throughout the development process.

Technologies

From the description of the “Responsibilities” section we are applying many technologies however, I am going to explain in more detail below:

  • The front-end side is using AngularJS, and NodeJS to build a UX/UI and consumes the APIs that are provided by the back-end side.
  • The back-end side is responsible for providing APIs and handling the business logic so we're using Spring frameworks like Spring Boot, and Spring Security...We're using SQL-Server as a relational database, so we applied the Hibernate to perform the CRUD action on our db.
  • At that time, we were using a physical server and then we were going to use the Cloud services instead of a physical anymore. Finally, we decided that using AWS is the best choice. The most common service is S3 which we use to store the documents and EC2 as a cloud server. Route53 is being used for setting a domain name for server testing.
  • We also used the Command Pattern, Factory Pattern, and Chain of Responsibility to design the complex workflow in our system.
  • There was an important feature that was payment. We were using WorldPay to build up a payment process. The system supported two types of payment: instalment payment and one-time payment.

FINANCIAL – Netherlands

Developer, April 2015 – January 2019

Project description

  • The project is a B2C and multi-tenancy platform. It is available as a website that provides two types of personal loans: mortgage and unsecured loans. All loans will be approved manually based on the entered data of the customer.
  • Overall, we provide a user interface that was built by Angular, which helps end-users interact with us, and from the back-end side, we’re using Java technologies and MySQL to build the system.

Responsibilities

The whole system includes both the front-end and back-end sides. Front-end provides UI and back-end handles for the business logic. I am one of the back-end guys.

As a back-end developer, I am in charge of ensuring a stable system. I worked closely with a project team that included 2 Java developers, 1 tester, 1 front-end developer, and 1 project manager on the successful implementation of a complex project to build a B2C financial platform.

Implemented features following the client's requirements and maintaining the current features. Using MySQL as the relational database. We used KeyCloak for authentication and authorization. About the back-end side we decided to use Java EE instead of Spring frameworks and Open-API...to implement the features and provide the API. The project is monolithic architecture. We used Docker to simplify the process of setting up the development environment.

During the time working on the project, I successfully delivered many functionalities:

  • Implemented the feature of authentication and authorization.
  • Implemented the feature of questionnaire management.
  • Implemented the feature of lending money.
  • Implemented the feature of uploading documents.
  • Implemented the feature of the submission application.

Participated in daily stand-up meetings, consistently providing valuable updates and insights such as identifying critical bugs in the backend code, raising the problem that impacts the whole flow, suggesting solutions, and asking for help... Additionally, I actively contributed to code reviews by thoroughly examining the codebase, identifying potential issues, applying design patterns, and cleaning code... to ensure the delivery of high-quality, maintainable code throughout the development process.

Technologies

From the description of the “Responsibilities” section we are applying many technologies however, I am going to explain in more detail below:

  • The front-end side is using Angular to build a UX/UI and consumes the APIs that are provided by the back-end side.
  • The back-end side is responsible for providing APIs and handling the business logic so we're using Java EE and MySQL as relational databases we applied Hibernate to perform the CRUD action on our DB.
  • This application has been developed for a long time; it is using a physical server. We used Jenkins to develop the CI, CD, and BlueOcean as a view of it.
  • There was an important feature that was sending messages including SMS and email. We used the SendInblue one of the 3rd libraries to help us implement that feature.
Certifications

Education: University of science of Ho Chi Minh City

Bachelor of Information Technology

Book an Appointment

Navigating Our Cooperation Models

For when you have the roadmap and the process, but not the people. Tell us the skills and seniority you need, and we send shortlisted profiles. You interview; the engineer you choose joins your existing team and works under your management.

Ideal for businesses that:
Need specialized expertise without adding full-time headcount
Want to scale capacity up or down as the roadmap shifts
Need extra hands on an upcoming or in-flight project
For when you need a team that owns a product, not individuals filling gaps. You select the engineers from the profiles above; they work exclusively on your project alongside your in-house team, keeping context instead of rebuilding it every quarter.

Ideal for businesses that:
Run large or long-term projects that need consistent ownership
Want a stable team that accumulates domain knowledge
Need engineers committed to the business goal, not just the ticket
For when scope and timeline are already settled and budget certainty matters more than flexibility. We define the delivery path up front, so the cost is known before work starts.

Ideal for businesses that:
Have a set budget and a clearly documented scope
Work to a hard deadline
Run projects with defined goals and achievable milestones
For when you want a permanent extension of your engineering organization in Vietnam, your process and your tooling, running on our infrastructure and hiring pipeline across three ISO-certified centers.

Ideal for businesses that:
Are building long-term engineering capacity, not staffing a single project
Want dedicated infrastructure and a managed hiring pipeline
Plan to grow the team steadily over several years
Let's Discuss Your Needs

How to Hire Top Developers from Saigon Technology?