📧 [email protected] | 🔗 https://www.linkedin.com/in/ducminhgd/ |
📱0939 545 535 | 🔗 https://github.com/ducminhgd |
🎂 September 24, 1989 | 📍Sài Gòn, Việt Nam |
My resumé
Programming language: Python, Go.
Framework: aiohttp, Django, Flask.
Database: MySQL/MariaDB, PostgreSQL, T-SQL, MongoDB, Redis/KeyDB, SQLite/rqlite, Qdrant.
Caching: Memcached, Redis, Memoized, cache with nginx
CI/CD: Docker, Ansible, Gitlab CI, Circle CI, Jenkins.
Message brokers: Kafka, RabbitMQ.
Others: nginx, Kubernetes, vagrant, RabbitMQ, Git, gRPC
- Agile Scrum
- Good at management time, team, and tasks.
- Good at reading and writing in English. Can communicate in English.
- Good at team-working also independent working.
- Good at presenting in front of people.
- Having a good logical thinking, can solve problems by myself.
- Be able to learn new languages or technologies.
- Self-study, flexibility, confidence, optimistic. Like to learn new things to improve skills.
- Strong work ethic, motivated and dedicated to getting job done.
- Ability to accept and learn from criticism, can work under high pressure.
🗓️Sep 2022 - Present
Progression
- Sep 2022: Backend Lead
- Mar 2023: Data Lake Lead
- Sep 2023: Engineering Manager
Team size:
- Automation QC: 3 members
- Frontend: 3 members, 2 mobile engineers and 1 web engineer
- Backend Team: 6 members.
- Data Lake: 3 members.
- Odoo: 5 members
- SRE/DevOps: 3 members.
Achievements and contributions:
- Take part in designing the architecture and implementing the AI projects.
- Response for Data Lake’s System, collect data from other sources (legacy system, microservices system, and back office system by Odoo) and synchronize data between those systems
- Response for Genie Class Service (Class Management), Streaming Service (Live streaming and Video conference), and some core services (Notifications, Genie Common)
- Define CI/CD workflow and Engineering guideline.
- Support SRE team for some minor tools: gitops bot, integrate to Slack for merge request approval.
Technical stack: Python, Go, PostgreSQL, Qdrant, Kafka, Debezium, K8s, gRPC, Redis
🗓️June 2020 - Sep 2022
Progression:
- June 2020: R&D Manager
- October 2021: Technical Architect cum Engineering Manager.
Team size: about 60 members, includes Team Backend, Team Frontend, Team QC and Team SRE.
Achievements and contributions:
- Built, managed new development workflow, also applied automation CI/CD on the workflow, including image security scanning, coding convention scanning, unit testing, automated API testing.
- Built and applied Progression Framework and Career Roadmap for Technology Department, to make sure that an engineer’s title matches their skills.
- Supported and gave solutions for technical problems or business problems.
- Built VieON CDN: from 120 Gbps (using VNG Cloud) to 1 Tbps (March 2021).
- Applied design patterns and development standards for teams.
- Training and coaching: Scrum, how to become self-managed teams, Microservices, Automation testing. DevOps culture.
- From Zero to Hero: document from 0 to 80% of current platforms/services; technical talks or experiences sharing from 0 to 8 sessions per quarter.
🗓️October 2017 - June 2020
Technical Manager
Team size: 14.
Achievements and contributions:
- Built Integration Service, which is a set of APIs and background tasks, helps to integrate between Asia Accounting System (old system of Phong Vũ, using Fox Pro and T-SQL) and ERP for e-Commerce System (using Python, Go, NodeJS, RabbitMQ, MySQL,...)
- Built Order Management Service as an orchestrator of ERP e-Commerce system. The service stores information of orders and manages order states in order’s lifecycle.
- One of key members in Team Corporation Culture, built culture for Teko, especially for Sài Gòn Office.
- Others project: Price and Promotion Service, Order Processing Service,
Technical stacks: Python (nameko, Flask, Django), Go, RabbitMQ, MySQL, MongoDB, Redis.
Design patterns: DDD, Saga, CQRS/ES.
🗓️March 2015 - October 2017
Senior Software Engineer
Teams size: Team Adhoc Support 8 members; Team Bigdata: 20 members (9 members are Vietnamese); Team Payment Service of AirPay: 9 members.
Achievements and contributions:
- Leaded Payment Gateway & Integration services. Refactored services which was designed by Team Singapore, they were well at operation but could not be developed more to solve problems in Vietnam.
- From 2016 to Jan 2017, I was a member in squad team from Vietnam went to Singapore and joined Big Data team. I worked as Data Engineer for League of Legends Personalized Sales project. League of Legends’ revenue raised to 30% on holidays and 15% or 20% on normal days; we could sell items that have not been bought for months, years.
- Developed news and event pages for games that published by Garena, such as: League of Legends, FIFA Online 3, The King of Fighters 98 mobile, Headshot, and Thunder Strike. Most of them are built for Vietnamese company, others are built for other regions, such as: Singapore, Philippines, Taiwan, Thai, Indonesia.
Technical stacks: Python (Django), Scala, PHP (CakePHP, Joomla!), Redis, Memcached, MySQL, MongoDB.
Design patterns: MVC, Facade, Singleton.
🗓️November 2012 - March 2015
Software Engineer
Team size: 24 members
Achievements and contributions:
- Implemented payment API, which integrated to Payment Gateways, SMS Gateways such as: Smartlink (NAPAS), 1Pay, Thế Giới Viễn Thông, PayDirect, 123Pay (ZaloPay). Provided APIs for platforms (iOS, Android, Set-top box, Web) to do payment.
- Implemented Billing and Subscription module.
- Implemented HDViet API for multiple platforms.
- Implemented HDViet website and WAP site.
- Implemented Route Director service and Playlist service.
- Supported Marketing team for technical of advertisements.
- Supported some tools for in-house teams.
Technical stacks: PHP (Zend), MySQL, Memcached
I worked for F&N Studio as freelance job while I was working for HDViet JSC. I analyzed, designed, and developed Database, Payment API, and Backend tool for the company’s games.
I had one month to analyze requirements and design for School Management project. After I finished my job, the project was submitted for approval from Ministry of Education and Training to implement. It was designed to manage all schools in Vietnam and improve the education.
I worked for P.A. Vietnam as a part-time PHP Developer. I joined into Team Web Development and developed P.A 30s CMS, and Customer Relationship Management and in-house tools.
🎀 Bachelor of Science - Computer Science, 2010-2012
Hồ Chí Minh University of Science, Hồ Chí Minh City.
🎀 Associate Degree – Software Engineering, 2007-2010
Hồ Chí Minh University of Science, Hồ Chí Minh City.
🎀 Web Developer
Computer Center of Hồ Chí Minh University of Science
📌 Mr. Trần Hoàng Phong [email protected] Technical Director of VieON Former Managing Director of HDViet
📌 Mr. Ôn Như Bình [email protected] CEO of EMDDI Former Director of Strategy at VNPAY, VNLIFE Group. Former Project Manager at Garena Vietnam
📌 Mr. Hồ Trung Dũng [email protected] Technical Manager at Teko Technology Vietnam
How to work with me
- I value transparency, trust, integrity, and honesty.
- I value and welcome diversity of thought. There is no stupid idea or stupid question, we are better to discuss all the possible opinions, ideas than to ignore them.
- I value creating values, aka your contributions as individuals or as a team. My success are defined as the successes of three factors: individual, my team, the organization. Besides, the customers or the stakeholders don’t care about our team or our organization, they just care about the values that we bring to them.
- To me, the work-life balance means working is a part of my life. I’m working hard to achieve other goals of my wonderful life, and I believe you’re doing the same. Contributing to work is contributing for life, that’s my style, I don’t require you to do the same.
- I would like to work in the office where I can communicate with my wonderful colleagues. My working hours should be 9am-6pm, and 10pm to 00am. Weekends, I can work remote if it is necessary.
- I often ask people for status of tasks or works because I would like to get shit done. If everything is in good progress, just give me a time point, I will comeback later. And, I’m asking you to do the same to me, push me, sometimes I forget somethings.
- I’m achieving to build self-managed teams, which can work with high ownership, high responsibility, and high proactiveness.
- There are three stages: make it work, make it right, make it better. I would like to go from stage two to stage three. When you make it right, and there is something wrong, we will know what’s wrong.
- I’m not the best but I can help us the best.
- I don’t care when you work or off, soon or late, it’s your time. Please be on time for meetings and deadlines, because it’s our time.
- I would like to be a servant leader, I empower and enable the team, build trust, clear fogs. You can involve me in any discussions to learn things and to back you up.
- There is nothing in the team that only one person knows (transparency). Team should backup for each individual. Please send messages in a group or channel, I don’t encourage direct messages.
- All the mistakes or faults are no need to find the actor, no one would like to know and they don’t need to know. Problems are need to find the root cause to solves. The actor is always me.
- I expect we have at least a half day per week or 30 mins per day to discuss about the new knowledge that we learnt in every fields.
- Discussions, meetings should be noted and documents have to be updated.
- If you need my help, please let me know. Sometimes, I don’t proactively help others even if there is a issue and people don’t raise for my action, I trust you can overcome it.
- Your leave balance should be negative (if your tasks are in good progress). Money can be re-earned, time and health cannot. And, trust your teammates, they can cover you.
I’m achieving for the success of the team, I communicate with honesty and caring. English is my second language, and I often go straight for what I’m thinking, I don’t offense but I may miss subtlety.
You can contact me anytime, I will response as soon as possible, even on my leaves or at midnights.
When we miscommunicated, or misunderstood, please overcommunicate. I do not know if you do not tell me about.
I appreciate anonymous feedback, or meet in person (a 1-1 meeting or a coffee chat is still OK).
Finally, please trust me that I mature enough to receive your feedback and to resolve the conflicts, the problems. I will do the same.