ABC: Always be coding

I am a senior software engineer with PHP/Golang experience mainly, and one-year full stack experience. Also I am an edge technology lover.

I am a fast and keen learner with a good attention to details and excellent troubleshooting skills. I am also a good team player who has a proven ability to work analytically. I am highly efficient, deadline focused, and handle multiple projects at same time.



  • PHP
  • Ruby on Rails
  • Golang
  • SQL - MySQL, PostgreSQL, Redis
  • JavaScript - jQuery, Mootools
  • Versioning - Git
  • Package Managers - Composer, NPM
  • Tools - Github, BitBucket, Jira, Stash, Trello, Confluence
  • Editors - Vim, RubyMine, PhpStorm, Sublime Text, Atom

JavaScript Skills

  • React.js - Mid-level knowledge
  • Backbone - Basic knowledge

PHP Frameworks

  • Symfony 2 - Mid-level knowledge
  • Laravel - Basic knowledge


  • macOS
  • Linux - Ubuntu, CoreOS


Senior Software Engineer @ Australian Broadcasting Corporation

Jun 2018 - Present

Terminus is an API that aggregates and normalises data from multiple internal ABC sources to provide a unified view of ABC data in an organisable, customisable, layout order data set.

Terminus API has been used by ABC news, triplej app, iview, ABC website, ABC apple news, and other ABC services.

Also guarantee a high level of scalability, even if internal APIs are not able to handle that much load and currently get about 10 million unique API hits a day.


  • Golang
  • GraphQL
  • Redis
  • AWS Lambda
  • Docker

Senior Software Engineer @ SwitchMedia

Sep 2017 - Jun 2018

AdEase enables world-class multi-screen server-side ad insertion for both Live and VOD content with zero buffering and a continuous TV-like experience.

  • AdEase API Cloud Solution (PHP 7) - Refactor legacy system into new RESTful API
  • Storage Service (Golang) - Upload data to cloud (GCS/AWS)
  • Encoder Queue (Lumen) - RESTful API and jobs queue system that send requests to encoding system.
  • Ad Buffer (Golang) - Retriever Ads from other system, keep in the Redis, and ready to be requested.
  • ID3 Tag injection (Golang) - Refactor legacy PHP script that insert ID3 tags into segment.
  • Stream Monitor (Golang) - Parsing Manifest/Playlist into JSON that been used in AdEase API.


  • PHP 7
  • Golang
  • Docker
  • Redis
  • GCS
  • AWS EC2/S3

Software Engineer @ Salmat

Jan 2017 - Aug 2017

  • Building new internal system that use Laravel as API endpoints, and React as web.
  • Maintain main system (Zend 1 framework) with bug fixes and continuously feature development.
  • Understand business requirements and design solutions
  • Development of high traffic and large scale web application
  • Agile development and quick responses


  • Laravel 5.4
  • Zend 1
  • LEMP
  • React.js / Redux
  • MySQL

Web Developer @ DevHub

July 2016 - Jan 2017


  • Ruby On Rails
  • PostgreSQL
  • React.js / Redux

PHP Developer @ Agentbox

2009 - July 2016

Agentbox CRM System

Agentbox CRM System is a leading CRM system to the Australian real estate industry. The system is built by PHP with procedure code. We moved to use Symfony 2 framework from the end of 2015 that make the code more reusable, readable and efficiency.


  • Symfony 2
  • MySQL
  • LAMP
  • Composer
  • Mootools + jQuery


  • Maintain legacy business logical code
  • Refactor legacy business logical code into Symfony framework
  • Develop and maintain new features/business logic with Symfony framework

Agentbox GO System

Agentbox GO System is a mobile and simplifies version of Agentbox CRM System. The system is built by PHP with object-oriented programming.


  • PHP
  • MySQL
  • LAMP
  • jQuery Mobi


  • Maintain system for the bugfixes.

Version Coordinator

  • Responsible for reviewing the code of pull request
  • Responsible for releasing new version to clients
  • Responsible for maintaining and developing internal client management system


Email Distributed System

When client requests sending emails, it will slice it into parts
and distribute each part to different email servers by random,
and call to send emails through centralized server on order.

Realestate Portals Export System

Exporting client's properties information with XML format,
to portals, such as,, and others.

Email Log Analysis System

It analyses email logs which receive from portals such as and, and add results to the database,
client requests to fetch data, and it will return JSON result to them.

Other minor ongoing projects

Writing small components to do some repeatable jobs.
Mostly use PHP with the procedure or object-oriented code.


Master of Computer Science

Univeristy of Wollongong . 2007 - 2008

Bachelor of Computer Science

Univeristy of Wollongong . 2005 - 2007


  • Photography: my Instagram @filmape
  • Traveling: view the world, and take photos
  • Mobile/Desktop Applications: like to try new apps
  • Gadget: like new gadgets
  • Learning edge tech: keep learning and updating myself.
  • Watching: like comedy and sci-fi

PDF Version