Hung Thieu
Technical Lead | Sr. Software Engineer with 8 years of experience contributing to diverse software projects.
Email: thieunguyenhung@gmail.com
LinkedIn: linkedin.com/in/thieunguyenhung
GitHub: github.com/thieunguyenhung
Portfolio: thieunguyenhung.github.io
Phone: +84 908 217 269
Hard Skills
- Software Architectures: Microservices, Monolithic
- Programming Languages: Java, Kotlin
- RESTful API: Develop RESTful API with JSON/XML, Pagination, API versioning, HTTP methods, Error handling
- Web App Development: React
- Cloud: Google Cloud Platform
- Monitoring Datadog
- Database: OracleDB, PostgreSQL, MySQL, H2
- Testing: React Testing Library, JUnit, Integration, Performance, A/B, Contract
- Container Platforms: Docker, Kubernetes
- Message broker: Kafka
- CI/CD: GitHub Action, Jenkins, GoCD
- Principles: OOP, AOP, MVC, S.O.L.I.D, Agile
- SVC: Git
Soft Skills
- Team and People Development
- Leadership and Mentorship
- Open and Growth mindset
- Communication and Listening
- Problem-solving and Critical thinking
- Collaboration and Responsibility
Experience
Technical Lead (Jan 2024 - Present)
Vietnam · Hybrid
- Team Development:
- I single-onboarded a freshly joined small team to the product, including technical and soft skills.
- Stay close, help my team members, and provide technical and self-improvement guidance when needed.
- Knowledge exchange and a culture of continuous improvement are important. I helped the team set personal development goals according to their plan and project requirements.
- Fostering a culture of independent mindset, my ultimate goal is for everybody in the team should know what to do in a situation. A strong team is each of its members understands and makes the right decision in any situation.
- Performance and Optimization:
- Create multiple dashboards for monitoring resource consumption and optimizing the system as well as reducing the infrastructure cost.
- Add SLA, SLO, DORA and North Star metrics for monitoring the product status, and encourage the team to participate and practice.
- Despite of the fresh team, I’ve driven the whole team to successfully migrate the legacy product to GKE.
- Encourage the team to upgrade the dependencies to the new stable version to reduce product vulnerability.
- Optimize the deployment method and migrate the legacy deployment pipeline to GitHub Action.
- Cross-Team Collaboration:
- As a Technical Lead, I also have to deal with multiple requests from other teams as well as our customers such as API changes, and new feature requests.
- When API integration is needed across services, I created the requirements and polished the API documents from our side.
Senior Software Engineer (Mar 2022 - Dec 2023)
Berlin, Germany · Multi cultured team · Remote
- Develop new features and provide ongoing maintenance for existing projects in the back-end using Java, Kotlin, as well as in the front-end using React.
- Develop and update end-points RESTful API to facilitate communication between the front-end and other services.
- Ensured proper functionality of endpoints by writing Integration and Unit test.
- Engaging with user bug tickets (referred to as Firefighting work), cross-checking service logs, and releasing hotfixes.
- Generate user stories addressing Technical Debt based on the observations and insights gained during the Firefighting work.
- Create and maintaince Kubernetes deployment YAML file.
- Applied CI/CD with GitHub Action and GoCD.
- Write and receive application data to/from the Database using PostgreSQL and Cassandra.
- Implement new UI features with Typescript, HTML, CSS, JavaScript based on schema from UX Team.
- Onboarding and pair programming with team members.
- Cross-check pull requests, user stories.
Zürich, Switzerland · Hybrid
Full-stack Developer
- Implement back-end (Java) and front-end (Angular) for new projects.
- Writing tests for the back-end Unit and Integration test.
- Write and receive application data to/from the Database using Oracle Database.
- Develop and update end-points (RESTful API) to communicate with front-end and other services.
- Setup Jenkins build job for new projects.
- Create staging and dev environment based on Docker, OKD/OpenShift.
- Peer code review with teammates and mentoring junior members.
Adnovum (Jan 2018 - Dec 2018)
Vietnam · Onsite
Java Software Engineer
- Implement new features and maintenance of existing projects (Java).
- Implement and fix UI (Eclipse RCP).
- Writing Unit tests
- Peer code review with teammates.
NewAI (Apr 2017 - Dec 2017)
Vietnam · Onsite
Full-stack Developer
- Implement back-end (Java) and front-end (PHP/Android) for new projects.
- Create and deploy demo and dev environment based on Google Cloud (Kubernetes).
- Optimize model for extracting text from photos (OCR).
- Optimize result layout in PDF for end-user.
Vietnam · Onsite
Teaching Assistant
A volunteer program where the participants help the freshly joined students get familiar with the subjects in their curriculum. Additionally planning and giving exercises for students to practice what they studied in lab.
- Helping students to understand their exercises.
- Helping the teacher to prepare the homework.
- Helping some students who need extra support to complete their exercises.
- Explaining the lessons to some students who do not understand.
Languages
Vietnamese: Native
English: Professional fluently
- TOEIC 880 (Feb 2017)
- IELTS 7.0 (Jan 2024)
Certificates
Leading Skills
Project Planning: Putting It All Together
CR4CAY0SHRUA @ Coursera (Dec 2024)
Developing a Google SRE Culture
TARHSJN5JMYD @ Coursera (August 2024)
Project Initiation: Starting a Successful Project
U3N7JDYZR205 @ Coursera (August 2024)
Foundations of Project Management
B77B7GOXA8V4 @ Coursera (August 2024)
Technical Team Lead
U069YKJLTLJ @ The Principal Dev (December 2023)
Agile Software Development with Scrum
SWDS20160530-357 @ Axon Active Vietnam (Jun 2016)
Technical Skills
Preparing for Google Cloud Certification: Cloud DevOps Engineer
T940X5K7W9ZD @ Coursera (Dec 2024)
iSAQB® Certified Professional for Software Architecture - Foundation Level
2403-CPSAFL-240329027-EN @ Certible (Mar 2024)
Getting Started With Application Development
EB8L49KCECGZ @ Coursera (October 2022)
Kotlin for Java Developers
GQ4ULDYAWDVR @ Coursera (Jun 2022)
Android Programmer Certificate
TT/M/2016/000565 @ University of Science Ho Chi Minh City (Oct 2016)
Global Software Talent of FSOFT
FSOFT_GST_1833 @ FPT Software (Sep 2016)
Android App Development
GDG Vietnam (Mar 2016)
Education
Bachelor in Computer Science - GPA: 8/10
Ton Duc Thang University (2017)
Projects
Official projects that I have participated in as a full-time employee for companies
Metro.digital
FSD Domain
Web application for the internal users (sales team) to manage customers delivery addresses and payment methods, as well as services for fetching data
Technical Lead Responsibilities:
- Team Development:
- I single-onboarded a freshly joined small team to the product, including technical and soft skills.
- Stay close, help my team members, and provide technical and self-improvement guidance when needed.
- Knowledge exchange and a culture of continuous improvement are important. I helped the team set personal development goals according to their plan and project requirements.
- Fostering a culture of independent mindset, my ultimate goal is for everybody in the team should know what to do in a situation. A strong team is each of its members understands and makes the right decision in any situation.
- Performance and Optimization:
- Create multiple dashboards for monitoring resource consumption and optimizing the system as well as reducing the infrastructure cost.
- Add SLA, SLO, DORA and North Star metrics for monitoring the product status, and encourage the team to participate and practice.
- Despite of the fresh team, I’ve driven the whole team to successfully migrate the legacy product to GKE.
- Encourage the team to upgrade the dependencies to the new stable version to reduce product vulnerability.
- Optimize the deployment method and migrate the legacy deployment pipeline to GitHub Action.
- Cross-Team Collaboration:
- As a Technical Lead, I also have to deal with multiple requests from other teams as well as our customers such as API changes, and new feature requests.
- When API integration is needed across services, I created the requirements and polished the API documents from our side.
Techs/Tools:
- Architectures: Microservices
- Back-end: Java, Kotlin, Spring Boot, Gradle, Elastic Search
- CI/CD: GitHub Action
- Cloud: GKE and GCP
- Database: PostgreSQL
- Front-end: React, NextJs, TypeScript
SAM Domain
Web application for the internal users (sales team) to manage, create activities, and understand their customers
Sr. Software Engineer Responsibilities:
- Implement new features and maintain existing projects in the back-end and front-end.
- Writing Unit, Integration, Jest, PACT, Functional tests.
- Configuration and monitoring of the build pipelines (GoCD).
- Migrate the build job from the old tool to GitHub Action with a built-in library (WaaS).
- Engaging with user bug tickets (referred to as Firefighting work), cross-checking service logs, and releasing hotfixes.
- Generate user stories addressing Technical Debt based on the observations and insights gained during the Firefighting work.
- Pair programming team members.
- Onboarding new members.
Techs/Tools:
- Architectures: Microservices
- Back-end: Java, Kotlin, Spring Boot, Gradle, Solr, Kafka
- CI/CD: GoCD, GitHub Action
- Cloud: Kubernetes
- Database: PostgreSQL, Cassandra
- Front-end: React, TypeScript
mesoneer AG
DBH Card Module
Web application (portal) for mobile-users to manage their bank cards
Requirement (brief): Support multiple tenancies, UI support multiple languages and responsive for mobile and tablet devices
Responsibilities:
- Back-end and front-end developer
- Writing Unit/Integration tests
- Peer code review
Techs:
- Architectures: Microservices
- Back-end: Java, Spring Boot, OpenAPI, JUnit, Cucumber, Testcontainers, Gradle
- CI/CD: Jenkins
- Database: Oracle, MariaDB, PostgreSQL, H2, Liquibase
- Front-end: Angular, TypeScript, HTML, JS, SCSS
PSD2
APIs for TPPs based on PSD2 regulations. Solution based on the basis of the European Standard for PSD2 XS2A according to the Berlin Group NextGenPSD2 Framework version 1.3.6
Requirement (brief): Support multiple tenancies, UI support multiple languages, required authentication (mTan/CrontoSign) before confirm transaction.
Responsibilities:
- Back-end and front-end developer
- Writing Unit/Integration tests
- Create Jenkins build jobs
- Create and deploy application-stack for dev environment
- Create docker-compose for internal testing and Openshift deployment config for customer testing environment
- Peer code review
Techs:
- Architectures: Microservices
- Back-end: Java, Spring Boot, OpenAPI, JUnit, Maven
- Database: PostgreSQL
- Front-end: Express.js, HTML, JS, CSS
ubidoc-ng
A web app (portal) and RESTful API for user to versioning and manage document templates (MSWord DOCX type) with merge-field
Requirement (brief): Support add/delete/update document templates by its ID, support versioning and multiple languages for templates, review existing merge fields in templates. Provide APIs for other modules to send the prepared fields-values list and generate PDF with this list, return result when requested.
Responsibilities:
- Back-end and front-end developer
- Writing unit tests
- Create Jenkins build jobs
- Create and deploy application-stack for dev environment (Docker)
- Create docker-compose for internal testing
- Peer code review
Techs:
- Back-end: Java, Spring Boot, OpenAPI, JUnit, Maven
- Database: PostgreSQL
- Front-end: Angular, Material components, TypeScript, JS, HTML, SCSS
ubiID
A web app (portal) for end-users verify their identity by Passport (EU) or ID Card (specific for Switzerland and German)
A web-app (portal) for administrators to process the request from users to check their identity
Requirement (brief): UI support multiple tenants and languages. Support multiple devices screen size for both Desktop and Mobile. Users can open an integrated or built-in camera/webcam to capture photos.
Responsibilities:
- Pioneer team for the first alpha release.
- Front-end developer
- Peer code review
Techs:
- Front-end: Angular, Material components, TypeScript, JS, HTML, SCSS
- For the photos recognition, capturing and processing, we partner with eID
CIC
Internal banking application for employees, gather information from their customers to complete forms, tasks. Create a complete flow for processing dossier of customer requests.
Requirement (brief): UI support multiple languages. Create dossier by input required fields, process dossiers by its state. Create and assignable tasks login roles with permissions.
Responsibilities:
- Back-end and front-end developer
- Peer code review
Techs:
- Architectures: Microservices
- Back-end: Java, Axon Ivy, OpenAPI, Maven
- Database: Oracle Database
- Front-end: Angular, Material components, TypeScript, JS, HTML, SCSS
Adnovum
STMP (IMO & IPM)
Internal banking application for employees, based on Eclipse RCP
Responsibilities:
- Back-end and front-end developer
- Peer code review
- Unit testing
Techs:
- Architectures: Monolithic
- Back-end: Java
- Database: H2
- Front-end: Eclipse RCP, SWT