Summary

With approximately 7+ years of extensive experience as a software engineer, specializing for 5 years as a Java developer. More recently, dedicating at least 1 year to mastering ReactJS.  Proficient in the integration team model, where each team is responsible for developing a microservice. Proven ability to work autonomously, engage in pair programming as a mentor for newcomers, and collaborate seamlessly with team members.  

Thrives in high-pressure environments, adept at task management, and capable of leading teams with minimal supervision. Demonstrates a keen eagerness to acquire knowledge about emerging technologies continuously. Possesses exceptional problem-solving skills and expertise in testing and maintaining systems. Effective communicator with strong interpersonal skills, fostering positive and collaborative relationships with team members and clients. Confident and amicable, adept at building rapport with customers and colleagues.

Technical proficiencies

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

Skills:

Java Framework and Libraries:  

  • I have more than 7 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, 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:  

  • Designing the payment aggregation model (bill aggregation) and managing their lifecycle.
  • Implementing monthly fee generation for benefit service
  • Developing the payment reminder notification feature.
  • Investigating root causes of data issues in the production environment, applying fixes, and retriggering affected data when necessary.

As a back-end developer, I oversee ensuring a stable system. I worked closely with a project team that included 2 Java 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.

Purchasing platform – Singapore

Developer, January 2019 – Nov 2023

Project description

  • Telecom domain for a company in Singapore. In this project, I joined a team to build a website to support buy flows such as re-contract plan line, contract new line, or buy device, mobile. Also, I joined in service to create an admin dashboard to support agents assisting in managing products, creating bundle carts and publishing to customers, managing orders and customer service others
  • Engaged in software development related to the telecommunications sector. Responsible for analysing requirements, designing data architecture, implementing input/output, and constructing new modules using a microservices architecture.
  • Additionally, actively participated in supporting training for new team members

Technologies

  • From the description of the “Responsibilities” section we are applying many technologies however, I am going to explain in more detail below:
  • 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, Webflux...We're using PostgresSQL 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.

Telecom Solutions – Philippine

Developer, April 2018 – January 2022

Project description

  • From 2018 to the end of 2020: Telecom domain for a Philippine company. I joined a team to build a web tool dashboard to manage orders, products, and customer services. Besides that, I joined another team to build a website to provide buy flows such as re-contracting the rent line, contracting new the line, buy the device.  
  • From 2021 - Jan 2022: E-commerce domain for a US company. I joined a team to work on an e-commerce platform; the business supports a back-office system to manage data and configuration. I also joined a website module to provide services such as buy flow, rewards, and promotion systems.

Responsibilities

  • I contributed to software development in the telecommunications sector.  
  • Received software requirements from team leaders, ensuring the proper functioning of features and submitting pull requests on time.  
  • Participated in company-organized courses related to system analysis and design skills, executed projects, and delivered presentations to team members.  
  • From June 2021 to December 2022, took on the role of team leader, directly engaging with clients,  
  • Managing tasks for team members and ensuring the achievement of sprint goals.

Technologies

  • From the description of the “Responsibilities” section we are applying many technologies however, I am going to explain in more detail below:
  • 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 Java with AEM (Adobe Experience Manager), EP Platform (Elastic Path) these are CRM flatforms, they helps build our system faster and more flexibility.
Certifications

Education:

  • University of science of Ho Chi Minh City - Bachelor of Information Technology
  • Bach Khoa Ho Chi Minh University (Computer Science) - 2017

Navigating OurCooperation Models

We assess your needs first. Then, we will send you the top software engineer CV options so that you can select your favorite. The chosen engineer becomes part of your in-house team.

Ideal for businesses that:
Need specialized expertise but don't want to hire full-time staff
Want to scale resources up and down quickly
Require extra support for upcoming or ongoing projects
You can choose from our numerous software developer CV options. The selected developers form a dedicated team that works exclusively on your project. They also collaborate closely with your in-house team to achieve your goals.

Ideal for businesses that:
Require cost-effective and scalable solutions for large and long-term projects
Want to form a consistent team with excellent skills
Need a development team committed to their business goal
We define a clear path for your project. Since the project has clear timelines and scopes, you can control your budget better. You can also choose to work with a remote team or manage specialized technical roles.

Ideal for businesses that:
Have a set budget and clearly outline the project scope
Struggle with strict deadlines
Handle projects with clear goals, a detailed outline, and achievable milestones
How to Hire Top Developers from Saigon Technology?