Diligent software engineer with full stack development, from initial design to deployment. Utilizes modern frameworks and tools to build efficient and maintainable applications. Knowledge of best practices in coding, debugging, and collaborating within agile teams.
Overview
8
8
years of professional experience
1
1
Certification
Work History
Full Stack Software Engineer
nSearch Global Pte Ltd Partner with GovTech/Ministry of Manpower
04.2022 - Current
Redeveloped the Employment Pass and Work Permit application systems, processing ~4,000 applications daily.
Key responsibilities
Built a scalable full-stack application using Nuxt.js/Vue.js for the frontend and Pinia for state management.
Implemented backend services using Node.js (Express/Koa), Spring Boot for REST API integration, and NestJS for GraphQL queries and mutations.
Deployed applications to AWS EKS with serverless, event-driven architecture leveraging SNS, SQS, and Lambda for asynchronous and batch processing.
Automated scaling with Cluster Autoscaler and Horizontal Pod Autoscaler (HPA) to maintain application scales in and out based on traffic.
Design and executed a monitoring system with Fluentd and CloudWatch, creating CloudWatch alarms for real-time notifications via Telegram for rapid issue resolution.
Set up self manage GitLab runners with appropriate IAM service accounts to automate deployments, eliminating manual human intervention and streamlining the deployment process.
Developed a GitLab CI/CD pipeline with the following stages:
Setup: Installed project dependencies.
Scan: Performed security and code quality checks.
Test: Executed unit, end-to-end, and Pact integration tests.
Build: Packaged the application into Docker images and pushed to AWS
Staging Deploy: Applied infrastructure changes using Terraform and Terragrunt
Promote Image To Production: Push image to production account of AWS ECR
Production Deploy: Applied infrastructure changes using Terraform and Terragrunt
Ensure deployment never downtime to keep system always online
Ensured database query performance by conducting load tests to trace and optimise slow queries.
Senior Interface Engineer/Analyst Programmer
Integrated Health Information Systems
08.2018 - 03.2022
Key responsibilities
Customize Client’s application/Interface to accept specific HL7 message event types such as ADT, ORM, ORU via TCP/IP using HL7 lower layer transfer protocol.
Experience in interfacing with different types of Client’s application/interfaces, which accept different types of protocol such as HTTP/S, TCP-IP, S/FTP, MSSQL, MYSQL, AWS S3.
Experience in mapping/translating various message/file format such as HL7, XML, JSON, Flat file vice-versa through the interface engine using JavaScript.
Experience with transport protocol security, server authentication – TLS1.2, client authentication – Basic Authentication, Username Token, Client Certificate.
Migrating more than hundreds of interfaces from Cloverleaf integration Engine to Orion Health Rhapsody Integration Engine.
Troubleshoot and resolve interface related issues such as TLS-1.2 handshake errors using Wireshark, firewall between interface engines and Client’s application.
Working closely with project team to understand and analyze the constraints of applications and implement technical solutions to improve/rectify the integration.
Familiar with healthcare workflow such as Admit, Discharge, Transfer.
Android Application Developer
Mount Alvernia Hospital (FYP)
10.2017 - 03.2018
Key responsibilities
Conceptualized and developed an NFC System that will notify nurses and housekeepers once patient has been discharged. Techstack includes Java, MySql, Firebase, Telegram Bot
This improved bed turnaround time, allowing newly enrolled patient to have a shorter time waiting for beds
Nurses and admission staff will be able to keep track of the bed status, lessening confusion and disputes between nurse and admission staff.
Working with Android Studio using Java and MYSQL, Google Firebase Cloud Messaging for application push notification, JavaScript for NFC hardware which connects to a Raspberry Pi