Cto
Queensland, Australia
• Join the company as a tech cofounder to assist the CEO to grow the business. • Build the new process for priority management, with regression review, Kanban methodology, we are able to focus on important matters and abandon these are not.• Identified the complexity of domain specific knowledge prevents the business from scaling, and created the internal knowledge base and encouraged the continuous documentation for training / knowledge sharing purposes • Constantly review opportunities V.S. challenges with CEO to adjust our strategies on selling, development, infrastructure, marketing, customer service, funding and expanding.• In charge of hiring for technical department, plan and decide what talents to acquire at what stage, and build the interview process.• Built a distributed messaging queue system for all different types of async tasks• Implemented a universal search engine powered by Sphinx which allows user to search more than 10 different entities across the entire system. With the loosely coupled design, each individual entity's index can be updated instantly when changes are made, all the associated indices are updated via messaging queue• One of the technical difficulty is the CakePHP as the foundation of the project lacks Object-Orientation in the model layer, so I have created a fully OO ORM layer on top the CakePHP in order to combine the data to the logic and made the code much more reusable• Standardized frontend JS coding to extract it from view layer, and makes it more modularized and readable with webpack• Created application monitoring to monitor the data integrity• Utilized APM to identify the performance issue and improved the average page load time from 3.7s to 2.5s• Built a Vagrant box in order to keep every individual developer's local environment consistent• Designed a DB migration system manages multi-tenancy DB versioning