Hoang Anh Song Address: 埼玉県志木市中宗岡3-2-49中宗岡レオパ Date of birth: 30/03/1985

Download as pdf or txt
Download as pdf or txt
You are on page 1of 6

Hoang Anh Song Address: 埼玉県志木市中宗岡3-2-49中宗岡レオパ

レス107号室

Date of birth: 30/03/1985

Email: [email protected]

Technical Skills

● 12 years of experience in software development.


● 3 years of experience in Android development.
● 2 years of experience in Cocos2dx-js, Nodejs, Box2d.
● 2 years of experience in WordPress CMS, Opencart CMS, Joomla CMS, and Marketing Online
(SEO…).
● 3 years of experience in Java EE, Spring Framework, MyBatis, Spring Boot, PostgresSQL,
MySQL, Spring Boot 2, Spring MVC...
● 2 years of experience in Vuejs.
● 1.5 years of experience with Flutter, Dart
● 1.5 years of experience with Google Cloud, Linux, Ubuntu, and Nginx.
● 1 year of experience with Python, FastAPI, sqlalchemy
● Have experience with HTML5, CSS3, Javascript, JSON, SQLite, NoSQL, TypeScript, SCSS.
● Basic in Photoshop CS6.
● Experience in game development (casual games).
● Experience using development tools such as Eclipse, SVN, Git, Webstorm, and Visual Studio
Code.
● Windows OS, Ubuntu OS, Mac OS.
● Hardworking and high responsibility.
● Strong in teamwork.
● Strong in task management.
● Strong in team management.
● Strong in communication.

Professional Experience
January 2023 - Present

Position Developer

Organization AISA CORP

Job description Tools and techniques:


WordPress, Bootstrap 5, jQuery, AngularJs, IndexedDB, PHP, Python,
FastAPI, Sqlalchemy, pydantic, spaCy, Cloud Storage, Google Cloud SQL,
Pycharm, DataGrip, PhpStorm,

I developed a website for the company. The target of the site is for SEO. The
website uses WordPress CMS to develop. So we need a feature to attract and
keep users to stay on the site for a long time. So we decided to develop a
feature for users to study Japanese.

I developed a feature allowing to analysis of Japanese paragraphs into


sentences, each sentence was analyzed into words, in each word was
analyzed into kanji. So I used FastAPI to develop API to analyze Japanese
paragraphs. I used spaCy to tokenize the paragraph. I also used Google API to
translate to another language. I used Sqlalchemy to interact with the database.
All this information in the paragraph was saved into a JSON file (for each
post).

At frontend, I use Angularjs to manage statements of the website, and


Bootstrap 5 to layout the user interface. I used IndexedDB for users to save
sentences, words, and kanji locally for review later.

January 2021 - December 2022

Position Developer

Organization AISA CORP


Job description Tools and techniques:
Flutter, Dart, Java, Spring boot, Microservices, MySQL, Visual Studio Code,
Git, GCP, IntelliJ IDEA, Vue js, Typescript, Javascript, Ubuntu 20.04, Google
Cloud Storage, Google Cloud SQL, Google PubSub.

I developed an application for my company that can sell ebooks, and write
daily reports. The application has some features:
- Admin pages: It allows managers to create and manage ebooks, users,
and groups.
- Application (Android, IOS, Web):
- Users can create a user, log in, change their avatar, and change
their password.
- Users can read ebooks.
- Users can take notes such as handwritten and stick annotations.
- Users can use the application offline if it has no internet
connection. When it is connected to the internet, I will sync users’
notes to the server automatically.
- Users can create groups, invite users into the groups, write daily
reports, and send private messages to other users.

I used Flutter to develop the application’s user interface, and SQLite to create
a local database to allow users to use the application offline. I used Provider to
manage the application state, Dio to call RESTful API

I used Spring boot, microservices architecture to develop RESTful API, MVC


pattern in each service, model mapper to map DTO to Entity and vice versa,
Hibernate (ORM), JPA, QueryDSL to work with MySQL, JWT token to
authenticate, I divided API into three services (three modules in Spring boot).
Each service used a particular database.
- user-service
- ebook-service
- report-service
I used Google Storage to save files of ebooks. Google SQL to create an
instance of MySQL, Google Compute Engine which is running Ubuntu 20.04 to
create the server. On the server, I also used Nginx to create hosts, and Tmux
to manage terminals of services.
In the ebook service and report service, I used Hibernate and JPA to work with
a database, so to make it easier and reduce latency to call to user service to
get simple information about users. I created a user entity in the ebook
service, in that entity I keep only the user’s id, name, and avatar. So to keep
synchronized I used Kafka to synchronize users’ information from user service
to ebook service and report service

In report service, I used WebSocket to create connections between the client


and server. Users can create and subscribe to topics after that send messages
to a topic.

I applied RESTful API conventions, SOLID rules, Clean Code theory, and
dependency injection while I write code.
I am using Git to manage my source code.

June 2017 - March 2020

Position Developer

Organization TopPlay

Job description Tools and techniques:


HTML5, CSS3, Javascript, Jquery, Bootstrap 4, Vuejs, Java, Spring Boot,
SpringMVC, JSP, MyBatis, JPA, PostgresSQL, MySQL, Google Cloud
Platform(GCP), Amazon Web Services (AWS)

I developed a website that allows users to bet on sports matches.

The information and schedule of the sports matches which I got from another
site (need to spend money). At the front end, I used Vuejs. At the server, I
used Spring boot to develop API.
During this period, I also developed an API for the game system. I used Spring
boot, MyBatis, and PostgresSQL to save data into the relationship database.

April 2015 - May 2017

Position Developer

Organization TopPlay

Job description Tools and techniques:


Cocos2d Js, NodeJs, Javascript, Chipmunk, Box2D.

I developed 2d games for browsers using Cocos2dx-js, Cocos2dx-js are using


Javascript as the programming language. I also used Chipmunk and Box2D to
make physical interactions.
On the server, I also used Nodejs to develop API. The games also used
Websocket to send and receive messages from the server.

January 2012 - February 2015

Position Android Application Developer.

Organization PERSO JSC

Job description Tools and techniques:


Android, Java, SQLite, Eclipse, XML, Git
I developed applications to learn English on Android. The application saved
data on SQLite so that users could use the application offline.

December 2009 - November 2011

Position Website Developer.

Organization PERSO JSC


Job description Tools and techniques:
WordPress, OpenCart, Joomla, HTML,CSS, Javascript, PHP, Cpanel,
CentOS.
I developed and did SEO websites by WordPress. I also create templates
and plugins by myself.

Languages

Vietnamese is my mother's language.

English: good at reading, listening, speaking and writing.

Japanese: N3.

Educational background

Faculty of Informatic of Da Lat University. 2004 – 2008


(Phu Dong Thien Vuong Street, Dalat City, Lam Dong, VieNam.)

Japanese Studying April 2020 - November 2020


(I studied Japanese at the HOGAMEX center.)

Certifications

Google Associate Certificate 11 Nov 2020 - 11 Nov 2022

You might also like