99 little bugs in the code
99 little bugs in the code
Take one down, patch it around
120 million bugs in the code

the internet

Hi, I'm Willie.

In case you were wondering, I'm a software developer; precisely, a full stack developer.


My primary focus is Java and MySQL. In fact, this entire page is actually a Spring Boot application with a MySQL back.
Check out its source hosted on GitLab!

Born in Hong Kong, grew up and living in beautiful Raincouver Vancouver, Canada.

Proud alumnus of the University of British Columbia, graduated with a Bachelor's of Science in Computer Science.

Always looking to be challenged, there's no end to improvement.

I am most fluent in Java, and I believe using a microservice architecture pattern is best for cross business domain systems. I most enjoy working with the following frameworks:

  • Spring Boot
  • Lombok
  • Thymeleaf
  • Struts 2
  • PrimeFaces
  • Apache Commons
  • Google Guava
  • Google GSON
  • Jacksons
  • Hibernate
  • EclipseLink


On the database front, although writing PLSQL can help the development process and managing business logic, I enjoy working with MySQL more than Oracle and MSSQL.
For lightweight file based databases, there's always H2, Derby and SQLite.


Of course, microservices are best deployed and managed by an enterprise orchestral framework. I have worked with the traditional AWS cloud stack as well as k8s clusters.

It's a privilege to have worked in both Hong Kong and Vancouver - from small businesses to large enterprises; and extremely lucky to have worked with many many talented engineers.


Senior Engineer
- Lululemon Athletica, Vancouver, Canada (June 2020 ~ Present)
  • Spring Boot powered microservices development
  • Authenticated SOAP web services consumption
  • High volume global order processing with Kafka
  • Workday integrations with message level encryption on Kafka
  • Pre-persistence field level encryption for persistent data storage on Snowflake
  • Data pipelines and analytics integration on Databricks
Senior Java Developer
- BestBuy Canada, Vancouver, Canada (June 2019 ~ June 2020)
  • Spring Boot powered microservices development
  • Solr search optimizations
  • Asynchronously process partitioned product data for downstream processing
Senior Java Developer
- Ritchie Bros. Auctioneers, Vancouver, Canada (December 2017 ~ June 2019)
  • Full backend development
  • REST API based
  • Spring Boot powered microservices development
  • Oracle backend with PLSQL stored procs
  • Third party SMS and background check services for KYC verifications
  • Kafka for realtime data processing
  • Spring Boot app dockerization and Kubernetes orchestration support
  • Solr indices management and zero downtime indices rebuild
Backend Software Developer
- Jostle Corp, Vancouver, Canada (January 2017 ~ December 2017)
  • Full backend development
  • Google and Amazon API integration to support direct file uploads
  • Monolith codebase extraction to microservice
  • Assistance with developing new CI/CD process for streamlined microservices compatibilty verfiication and deployment
Software Developer
- Hyperwallet Systems Inc - A PayPal Company, Vancouver, Canada (May 2015 ~ December 2016)
  • Full stack development with JSF
  • Consulted product managers with products tweaks for better user experience
  • Liasing with QA and code reviewer to deliver rigorus tested solutions within sprint cycles
Analyst Programmer
- South China Morning Post, Hong Kong (September 2014 ~ April 2015)
  • Design and create a new ERP system for prints machinery maintenance to schedule and dispatch engineers for routine maintenance and restoration
  • Replace a legacy journalist contribution tracking system to support new dynamic business structure
  • Support and enhance a purchased ad tracking system, ATEX - Genera. Also supported the interface between this and other in-house systems
  • Led technical team through ATEX - Genera platform upgrade, ensuring all custom middleware code and interfaces are backwards compatible
Analyst Programmer
- Bank J. Safra Sarasin, Hong Kong (April 2014 ~ September 2014)
  • Picked up Avaloq and FRSGlobal on-the-fly during support tasks
  • Translated user legal reporting requirements into PL/SQL
  • Replaced scattered and unstructured batch scripts calling SQLs into a full scale JEE system
  • Rewrote reports generated by BusinessObjects using Jasper Reports for better portability between operating systems
Application Developer in Business Processes
- PCCW-HKT, Hong Kong (August 2012 ~ April 2014)
  • Picked up Struts, Ant scripting, DisplayTag, jQuery, AJAX, Bootstrap
  • SVN, Apache Tomcat, JBoss, GlassFish, MySQL setup, config, tuning, maintenance and disaster recovery
  • Translated user business requirements into full scale JEE systems
  • Systems and database end-to-end design, implementation, and testing
  • Optimized daily data import tasks, multithreaded parallelizable tasks to fully utilize multi-core systems
  • System design based on meetings and requirement setting with Business Analyst and users
  • Automation of tedious manual labour
Jr. IT Professional
- Powerex Corp, Vancouver, Canada (January 2008 ~ September 2008)
  • Self taught SQL
  • Created mini MVC application for traders for trade route optimization, before knowledge of MVC design pattern
  • Mini implementation of greedy algorithm before knowledge of its existence
  • Reverse engineered Omnivex display designed and created detailed documentation between controllers, display, and data source