— Experienced backend developer skilled in Java, Node.js, and Python, delivering efficient, high-quality solutions tailored to client and end-user needs across diverse domains and tech stacks.
— Self-motivated, adaptable, and collaborative with strong problem-solving, communication skills, and a passion for continuous learning and delivering exceptional results on time and within budget.
Develop, enhance, and maintain features throughout the entire system of the Singapore Ministry of Education.
Responsibilities:
Lead a team with 4 backend members, guide team members, review and report performance to the Project Manager.
Develop, enhance, and maintain multiple backend services in a microservices system using Spring Boot, Spring Batch, Angular, Kafka, MsSQL, AWS, Jenkins, etc.
Collaborate closely with in-house Business Analysts to clarify Service Requests (SRs) and Change Requests (CRs), using Jira and Agile principles to manage tasks through each development stage.
Monitor the infrastructure of development and staging environments including CloudWatch, Jenkins, etc. on AWS.
Developed, enhanced, and maintained features throughout the entire backend of version 1 of the CRM housing loan system.
Responsibilities:
Develop, enhance, and maintain multiple backend services in a microservices system using Spring WebFlux, Spring Boot, OpenAPI, Kafka, R2DBC, PostgreSQL, and Keycloak, involving some frontend tasks using React.js.
Work closely with in-house teams for clearing PRD/URD, using Notion with Agile principles to manage tasks in stages.
Work directly to clear technical issues when integrating with stakeholders like BTN (National Saving Bank of Indonesia), Whatsapp, Infobip (Messaging Service Provider).
Monitor the infrastructure of development, sandbox, and production environments including Kubernetes, Rancher, ELK, etc. on AWS EC2.
Control the full flow of CI/CD when deploying from the development environment to the production environment using GitLab CI with GitLab flow.
Developed, enhanced, and maintained multiple sub-system projects for the PCCW (Hong Kong) client as an outsourced Java developer.
Responsibilities:
Actively communicated with the in-house development team to clarify project requirements and design specifications, as well as to catch up on tasks during daily stand-up meetings.
Developed new REST APIs and converted SOAP services to REST APIs using Java 6 and related technologies like Spring, Struts 2, JSP, and utilized SQL Server for database management.
Mentored 2 team members, guided them on working with clients, workflow (coding and GitFlow), reviewed documents and source code, and estimated and divided project tasks among team members.
Rebuilt Vietinbank's business customer banking service into microservices as an outsourced Java developer.
Responsibilities:
Led a team with 6 backend members, mentored team members to review each other, and resolve conflicts.
Collaborated with the in-house development team to understand project requirements and design specifications.
Built infrastructure for development and UAT environments including Kubernetes, Rancher, ELK, Prometheus, etc. according to Vietinbank's running system documents.
Developed microservices for the banking service using Java 11 and related technologies such as Spring Boot 2, Hibernate, Jasper Report, Oracle DB (with PL/SQL).
The developed product won the Golden Star (Sao Khue) Award.
Worked as an outsourced Java developer and built a Vietinbank system that supported connections from other systems like Misa ERP, Grab, etc. to core banking.
Responsibilities:
Led a team with 3 backend members, reviewed team members' code, estimated project tasks, and effectively divided them among team members.
Collaborated with the in-house development team to understand project requirements and design specifications.
Built infrastructure for development and UAT environments including Kubernetes, Rancher, ELK, Prometheus, etc. according to Vietinbank's running system documents.
Developed REST API services using Java 11 and related technologies such as Spring Boot 2, Jasper Report, Hibernate, and Oracle DB.
Designed and built the National Population Database project under the Ministry of Public Security as an outsourced developer.
Responsibilities:
Led a team with 3 members, developed integration services using Java and related technologies such as OSB, WebLogic, and Oracle DB.
Worked closely with in-house teams (PO, PM, SA, DEV) to grasp the key needs and technical details of the product.
Built development environment infrastructure on-premise: CentOS 7, Oracle DB, WebLogic clustering, and CD manually using Bash/Shell and Batch.
Participated in developing backend services for managing population data using Spring Boot and Oracle DB.
Supported direct connections from LGSP (Local Government Service Platform) and NGSP (National Government Service Platform) to the developed services.
Designed and built a real-time fraud detection system for ATM transactions, resulting in a significant reduction in fraudulent activity.
Responsibilities:
Implemented ML algorithms and tools such as Tibco Statistica, Tibco Data Science, Pandas, Scikit-learn, and Tree-based algorithms using Python to load data from Oracle DB for cleansing, enriching, and training models.
Deployed the trained model with ~29% true positives (actual fraudulent activity) and ~25% false negatives (actual non-fraudulent notifications) results using Spring Boot and Kafka with two main streams, one for the training cycle and one for detection.
Collaborated with a startup to build an IoT application for managing the status of various in-house devices (such as those in buildings, malls, and stores).
Responsibilities:
Customized and configured Thingsboard CE (Community Edition) features and deployed using Docker.
Developed simulator tools using Java and MQTT for pushing real-time data continuously to Thingsboard.
Used Git as the source control system and Trello for task management.
Built a Java-based company product that scrapes types of data from various sources, including social media platforms, websites, and search engines.
Responsibilities:
Implemented scraping tools and libraries such as Selenium with headless Chrome, Facebook GraphAPI, etc. to collect data from real estate and car-selling websites, streaming large amounts of data using Apache Storm and storing it in Cassandra.
Applied techniques like IP rotation, human interaction simulation, and discovery of data allowed in robots.txt to avoid blocking while scraping.
Used SVN as the source control system and Trello for task management.