Zhihao (Patrick) Li - papaq.org nbsp;· Zhihao (Patrick) Li Summary ... n Integration with SalesForce ExactTarget marketing cloud ... programming, unit testing ...

Download Zhihao (Patrick) Li - papaq.org nbsp;· Zhihao (Patrick) Li Summary ... n Integration with SalesForce ExactTarget marketing cloud ... programming, unit testing ...

Post on 31-Jan-2018




0 download


  • Zhihao (Patrick) Li

    Summary l Professional technologist and problem solver. Experienced for over 12 years with hands-on

    knowledge of the latest technologies and methodologies. n I know life is not perfect. You canât always expect work to let you play with the shiny

    stuff. So I play with them in my own time. n If I can see a potential fit of any new technology in something we do, I will try to

    incorporate it to improve productivity and increase reliability. l Have worked with large web applications with auto scaling capability.

    n Managed around 10 in a Rackspace dedicated environment. Includes load balancers, web servers, database servers and background task processors.

    n After the migration to Amazon the number is dependent on real-time demand. l Have designed and implemented high-availability and high-scalability systems.

    n NGINX is replacing Apache as the major player of web server software. n Use stateless application servers. n Master-slave database servers with automatic fallback. But sharding is the better

    solution. n Decouple components, talk via APIs. n Job/message queue to do non-time-dependent work. n Monitoring is the key. It allows automatic application server spawning based on

    real-time server load. l Sound knowledge and hands-on experience of cloud computing architecture.

    n Designed, implemented and migrated a full production system to Amazon EC2. n Use CloudFormation to define and version control system architecture. n EBS is faster than local storage. Use with RAID0 for better results. n If not using elastic load balancer, force re-assign Elastic IP address to backup load

    balancer is faster than DNS failover. n Store objects with reverse hashed paths in S3.

    l Happy to code solid foundations for others to work on or clean up their stuff. l Business/system analyst skills. I often discuss with clients about their needs and offer

    solutions based on the constraints. l Amazon AWS Certified Solution Architect â Professional Level. l I talk good Engrish yeah. Email no probrem. l https://github.com/patrickli

  • Employment

    July 2015 â Current Orion Health Auckland, New Zealand Senior Software Engineer I am part of the Delivery Engineering tribe which is responsible for: l Developing the internal tools and pipelines for product development and professional services

    teams. Enabling a continuous delivery cycle. The tools are based on Puppet/Capistrano and we use CentOS systems.

    l Automate everything, hunt and eliminate manual process in the lifecycle of our products. Enable reliable and repeatable product delivery processes.

    Specifically, I belong to one of the two the core infrastructure services teams (the one in Auckland NZ, the other one is in Scottsdale, AZ, USA). My responsibilities are more infrastructure focused including: l Treat infrastructure as code. l Designing, building and delivering Orion Healthâs cloud offerings in Amazon AWS. l Working with the security team to ensure HIPAA (Health Insurance Portability and

    Accountability Act of 1996) compliance. Technologies used: Ruby, RSpec, Puppet, Beaker, Git, Vim, Shell scripting, Capistrano, Vagrant, Packer, Linux (RHEL/CentOS), Apache, Oracle, Cassandra, HAProxy, Sensu, Splunk, FreeIPA, StrongSWAN, Amazon AWS (EC2, S3, CloudFormation, CloudWatch, CloudTrail, VPC, IAM and more)

    Oct 2012 â July 2015 Satellite Media Auckland, New Zealand Lead Developer I am responsible for: l Recommending the best way to build new projects, and also improve existing live projects

    taking into account all the variables like specification and timeframe, what would be the best way to build the application in terms of framework, libraries, components, extensibility, maintainability, performance considerations, etc.

    l Ensure best practices are employed in all the projects in house, i.e. TDD, source code management, etc.

    l Make technical decisions on features required. l Working closely with the Technical Director, Producer and the rest of the Development team. l Oversee some of the other developersâ work as required on a project basis. 4 backend

    developers, 2 senior, 1 frontend, 2 android/ios. l Designed, architected and implemented major websites for Coca-cola South Pacific, Coca-cola

    Oceania and Coca-cola Amatil NZ. Including but not limited to, cokerewards.com.au, coca-cola.com.au and the new coke.co.nz. CokeRewards AU have 40k pageviews per day, 10k pincode redemptions per day. They are all written in PHP/MySQL on Symfony2 framework.

  • l Developed libraries and frameworks for uniformed, easy integration with other Coca-cola technology vendors. Used in projects like ColourYourSummer AU and NZ, Powerade AU and NZ. Main features are: n Integration with Janrain customer identity management system n Meet PWC security audit requirements. Including general application security and

    backend administration system security n Integration with SalesForce ExactTarget marketing cloud n Integration with Savvis/CentryLink VPDC (Virtual Private Data Center) automated

    deployment environments l Defined technology stack for quickly building consistent, standards complaint, OAuth2 and

    REST based API backends for all Android/iOS apps we produce. l Designed, improved and implemented new features for Satellite DSM, a product for

    online-based digital signage management. Customers including Coca-cola, Vodafone, 2degrees, Telecom/Spark, STA Travel, Samsung and Fisher & Paykel.

    l Defined standard deployment procedure for all projects. Technologies used: Linux (Ubuntu/Debian), Nginx, Apache, MySQL, Memcached, PHP5.3+, Ruby, Javascript, Node.js, Angularjs, Shell scripting, Capistrano, Puppet, Vagrant, Git, Subversion, Vim, Exim, Fail2ban, Nagios, uDeploy, Splunk, Amazon AWS (EC2, ELB, S3, VPC, EBS, IAM, CloudFront, AutoScaling)

    Dec 2009 â Oct 2012 TBWA\Digital Arts Network (formerly Shift) Auckland, New Zealand Senior Developer I am responsible for: l Providing overall technical leadership as required on projects for end-to-end solution in the

    areas of data, application and technology. l Presenting the technical solution to the client. l Establishing the overall architecture framework to guide the design. Creates applications and

    implements selected infrastructures such as technologies, platforms, databases, content management, data discovery and modeling, data access, standards, procedures, processes, quality assurance, training, and other components needed to support the architecture and make it functional.

    l Assisting with the project initiation activities. l Creating high-level technical design and detailed technical design and providing supporting

    documentation. l Participating in development environment setup, production environment setup,

    programming, unit testing, final delivery and installation in the production environment. l As DAN is primarily a design studio, my job is to help establish if a certain idea can be

    implemented on time and on budget. l Prototyped the revolutionary scroll-controlled, animated front page for a previous version of

    NewZealand.com. I have also coded most of the front-end user interactions in javascript. http://www.dan.co.nz/our-work/newzealand.com

    l For Rugby worldcup 2011, I've built the "Grandstand RWC 2011" which is an application that

  • collects and displays relevant messages from twitter, facebook and user comments directly posted on the same page together, in real time. http://www.dan.co.nz/our-work/tvnz-grand-stand

    l I've designed and implemented the audience response dial backend system for New Zealand Got Talent 2012. The dial is used both on the show website and in the mobile apps with the same code base. It has to be able to withstand the constant interaction with the viewers in real time. I've used websockets to achieve this. The setup included 1 web server running nginx for static content, 3 application servers running Node.js based code, 1 database server running redis, and 1 load balancer running HAProxy. Everything run on port 80/443 for maximum client compatibility.

    l I troubleshoot a lot of Linux server related problems and make recommendations on what technology stack should be used for new projects. Then I will setup and configure server environments for other developers to use.

    Technologies used: Linux (Ubuntu/Debian), Linux (RHEL/CentOS), Apache, MySQL, Javascript, Node.js, PHP, Redis, Shell scripting, Subversion, Varnish, Vim, Exim, HAProxy

    Jan 2007 â Nov 2009 OleOle Limited Auckland, New Zealand Jan 2007 â Oct 2007: Senior Developer Oct 2007 â Nov 2009: Lead Developer/Team Leader Oleole.com is a large scale PHP based website build on Symfony 1.2 running on a multi-tiered server cluster infrastructure on the Amazon cloud platform. The site was originally running on a fixed dedicated hosting environment. I designed, implemented and managed the transition to a highly scalable and available platform on Amazon AWS. The website is now able to scale (up and down) automatically based on server load (traffic). It is proven by managing big spikes in traffic during Euro Cup matches without any human involvements. My main responsibilities include: l Develop and maintain web-based and other related applications, including database systems. l Design, implement and maintain mission-critical application systems. l Work with and mentor other team members in solving new and existing technical issues. l Understand requirements, implement designs, and documentation for specific projects. l Participate in and conduct design and code reviews. l Follow and enhance existing development processes. l Measure and verify that new and old code has acceptable performance, scalability and

    security. l Consult with project manager and CTO for project requirements and issues. l Conduct performance reviews for fellow developers. Technologies used: Linux (RHEL/CentOS), Apache, MySQL, Memcached, PHP, Ruby, Shell scripting, Subversion, Amazon AWS (EC2, EBS, S3), RightScale, LVS/IPVS, Nagios, Munin, NFS

  • Jun 2006 â Dec 2006 Shanghai Qidong Information Technology Co., Ltd Shanghai, China Development Leader/Manager l Design and initial implementation of the base architecture of the website for Qidong. l Analysis requirements, prepare implementation plans and direct technical details for the

    business model of the website. l Manage the 10 members of the development team working together efficiently. l Communicate with CTO with all the aspects involved in the operation/maintenance of the

    whole website, which includes server software configurations, source code management systems, bug/issue tracking systems and much more.

    Technologies used: Linux (Ubuntu/Debian), Apache, PostgreSQL, PHP, Javascript, Shell scripting, Subversion

    May 2005 â May 2006 Catalyst IT Limited Wellington, New Zealand Web Application Developer l Official maintainer of moodle, an open source course management system. This system is a

    complete solution for operating an online education platform. l Monitor day to day running of the moodle application server cluster. l Develop new features, fix bugs, application support for various customers and the moodle

    open source community. Technologies used: Linux (Ubuntu/Debian), Apache, PostgreSQL, MySQL, PHP, Javascript, Shell scripting, CVS, Subversion, Git, Vim, Emacs

    Jul 2004 â May 2005 TISCO Electronic Services Wellington, New Zealand Software Development Contractor l Development of the central workflow management system for TISCO Electronic Services. The

    system will provide a centralised workflow management, reporting and analysing system for over 30 branches and over 150 users in NZ and more in Australia. It is also used as a warranty recording, processing and tracking system for Philips, DSE, Platinum, etc.

    l Integrates the WMS with the inventory system used by the company country wide. Allowed quick searching from 20k+ service parts into the job sheet.

    l A simplified version of this system is developed for Guildcraft New Zealand and Guildcraft Australia with plumbing industry specifications.

    Technologies used: Linux, Apache, MySQL, PHP, Javascript, Subversion

  • Mar 2004 â Jun 2005 fliesOnline.co.nz Wellington, New Zealand Website Development Contractor

    Jan 2004 â Mar 2005 Ralphie Enterprises Wellington, New Zealand Website Development Contractor

    Qualifications Postgraduate Diploma in Business (Information Systems), July 2008 l Graduate School of Enterprise, University of Auckland, Auckland, New Zealand Bachelor of Business Studies (Information Systems), July 2004 l Massey University, Palmerston North, New Zealand Zend Certified Engineer, February 2007 l Certified highest degree of expertise in PHP l The 14th Zend Certified Engineer in New Zealand Amazon AWS Certified Solution Architect â Associate Level, May 2015 l Certificate AWS-ASA-7163 Amazon AWS Certified Solution Architect â Professional Level, Dec 2016 l Certificate AWS-PSA-200241

    Referees Available upon request


View more >