// experience

Where I've worked

May 2018 – Present

Staff Engineer / DevOps & Platform Engineering Lead

PETRONAS Digital Sdn Bhd · Kuala Lumpur

Hands-on platform and technical lead for enterprise DevOps ecosystem — 30+ applications, ~30 developers across regions.

Platform & DevOps Engineering

  • Designed and implemented CI/CD pipelines enabling secure build, test, and deployment across the full application portfolio
  • Built infrastructure-as-code with Terraform and Ansible — reduced environment provisioning from 1 hour to 10 minutes
  • Implemented platform-level security: secrets management (CyberArk), access governance (Azure AD/Entra ID), and dependency scanning aligned with OWASP
  • Managed hybrid cloud platform (Azure Container Apps + App Service + on-prem) for thousands of users
  • Optimised vendor contracts — reduced external MSAs from 10 to 4 while maintaining SLAs

Software Engineering — Enterprise CMS & Portal

  • Led development of Pagebuilder CMS and myPETRONAS intranet portal, replacing Sitecore and saving RM145K/year in licensing
  • Reduced new site delivery from 2 months to 3 weeks through 58+ reusable components and templates
  • Stack: .NET/C# · Next.js · AngularJS (legacy) · Azure Container Apps · Azure SQL · Azure AD

2020 – 2024

Independent Consultant (Backend Engineer / Architect)

Freelance Software Engineer · Kuala Lumpur

Production-grade Java/Spring microservices for government and enterprise clients.

E-Land — PLUS Malaysia Berhad

Geospatial land and asset management platform across 1,000+ km of highways.

  • Spring Boot 2.7 RESTful services with JWT/OAuth2 authentication
  • Azure Blob Storage document pipeline with Azure AD OAuth2 email notifications
  • Containerised with multi-stage Docker builds; Vue.js/TypeScript frontend

G-Aset & KLCares — DBKL (KL City Hall)

Integrated geospatial platform: G-Aset tracks city assets; KLCares enables citizens to submit geolocated complaints via mobile app.

  • 5-service microservices architecture (Spring Cloud)
  • Keycloak SPI + custom OAuth2 integrations bridging external government identity systems
  • Published shared OAuth2 library as drop-in Maven artifact consumed across all services
  • Docker + Kubernetes/Helm deployment; Flutter/Dart mobile app
  • Stack: Spring Boot 2.5–2.7, Java 11/18, Kubernetes/Helm

KULSIS — DBKL

Interactive 3D geospatial slope management application for urban planning and disaster prevention.

  • Stack: Vue.js, TypeScript, Esri ArcGIS (2D + 3D Scene)

Apr 2016 – Apr 2018

Senior Software Engineer / Technical Lead

BAE Systems Applied Intelligence · Kuala Lumpur

Class Direct (Aug 2016 – Nov 2017)

Ship inspection and classification system for Lloyd's Register — the world's leading maritime classification society (est. 1760).

  • Designed 22-module Maven architecture with separated concerns (REST, service, security, DAO, DTO, Camel, mail)
  • Built custom annotation framework: 9+ JSR-303 validation annotations with ConstraintValidator classes
  • Established CI quality gates: JaCoCo 80%+ coverage, Checkstyle, PMD, FindBugs, OWASP Dependency Check
  • Stack: Java 8, Spring 4.3, Spring Security 4.2, Apache Camel, Hibernate 5.2, AWS (S3, Glacier, X-Ray), Azure AD, MySQL

Court Evidence Disclosure (Apr – Aug 2016)

Digital evidence system for the Spanish judiciary — geolocation evidence from cell tower triangulation.

  • Stack: Java 7, Spring, Camunda BPM

Managed Security Services (Dec 2017 – Apr 2018)

DevOps Engineer — Azure, Java, Ansible, Puppet.

Employee of the Month, October 2017

Mar 2015 – Apr 2016

Senior Software Engineer

BT (British Telecom) · Kuala Lumpur

  • Built custom Maven plugin (ivy-gen) for dependency tree resolution using Maven Model API — directly applicable to software supply chain tooling
  • Zero-downtime WebLogic 9 → 12c migration; Java 5 → 7 upgrade across core platform
  • Remediated critical security vulnerabilities in legacy BT Global Services portal

May 2013 – Feb 2015

Software Engineer

IBM · Petaling Jaya, Malaysia

  • Built Server Resource Management (SRM) system monitoring infrastructure across global IBM data centres

Jun 2012 – May 2013

Senior Consultant / Technical Lead

Pilot Multimedia Sdn Bhd · Kuala Lumpur

  • Technical lead for a 30+ engineer team on PERKESO PINTAR — Social Security system for SOCSO Malaysia, serving millions of registered workers
  • Architected SOA integration layer: Spring, Apache CXF, Camel, ActiveMQ, Hibernate, Activiti BPM

Aug 2010 – May 2012

IT Engineer

Hewlett-Packard · Cyberjaya, Malaysia

  • J2EE/Struts enterprise applications on Oracle Fusion Middleware; legacy Struts lifecycle management

2009 – 2010

Software Engineer

Early Career

  • Canang Technologies — Spring-based finance system for UTM
  • Gates IT Solution — Government tax systems for Johor state (Java/MySQL, PHP/Oracle)