AIA Innovation Lab
Senior Specialist • China • Dec, 2017 - Present
Financial Information eXchange Platform
- Different BUs in AIA that evolve their systems over time can find themselves with a poorly planned
architecture that handles short-term tactical needs sub-optimally while holding the company back from
scaling efficiently over the long term. it slows down the company's ability to grow. Thus it is essential to
have separate applications integrated around a single codebase, database and business
process.
- I joined AIA innovation Lab as an Senior Specialist. One of my major responsibility is to help company
to find feasible solutions to integrate all exisisting resources into a distributed system. it allows BUs in
different regions to exchange their informations in a secure fasion, meanwhile any personal information can
be kept confidential. BUs can only share the mininum information allowed by law.
HSBC GBM (Global Banking and Marketing)
Development Engineer • China • Apr, 2017 - Dec, 2017
Financial Information eXchange (FIX) Engine
- FIX Engine is Java based and running on a Linux platform
- It enables HSBC’s institutional clients to connect and transact through co-located infrastructure within the same datacentre.
- FIX Engine will exchange messages, stream prices to clients and receive client deals
IBM CIO BT/IT (Chief Information Office Business Transformation and Information Technology)
Development Engineer • China • Oct, 2014 - Apr, 2017
Developing & Deploying CRM system
- Building PHP back-end server logic
- creating SOAP/RESTful interfaces for mobile
- Implementing Data Migration
- Designing front-end web application
Continuous Integration Auto Testing System
- In order to tune our Agile process to release iteratively, we decided to spend some time looking at how we could introduce continuous integration into our Projects. Thus I created the system by using Java, Python, Shell, Git and Docker based on 150+ Cloud Servers.
UNSW IT Center (The University of New South Wales)
Software Engineer - part-time • Dec, 2012 — Jun, 2013
Science,Research,Universities
- Developing campus-wide programs.
- Support multiple systems users and performing general troubleshooting duties.
- Implementing Data Migration
University of New South Wales, Faculty of Engineering(QS Ranking: 46 • Sydney, Australia)
Master of Information Technology • Sep, 2011 — Sep, 2013
Professional Recognition: Australian Computer Society
- 1. E-commerce (E-Enterprise Project/Service-Oriented Architectures)
- 2. Database Systems Implementation
Harbin Normal University, China
Bachelor of Computer Science • Class Monitor • Sep, 2005 — Sep, 2009
- 1. Enterprise Web and Software Development
- 2. Networking
- 3. Teaching skills (Computer Teacher Certificate)
Financial Information eXchange (FIX) Platform
Software Engineer • Dec 2015 — Present
The daily life of developers and testers are filled with monotonous and repetitive tasks, so we should build a system to handle boring chores. Many our projects are now automatically tested and deployed. It allows people to focus more on writing/testing code.
- Responsibilities:
(1) design & develop the system
(2) building the CI/CD system
- Structure:
(1) Data layer: Database cluster, Redis Cluster,File system cluster
(2) Support layer: Authority control,performance monitor, loger
(3) basic information:core information,meta dictionary,common information
(4) SOA Service: up/down/outer/inner api
(5) service:service exchange(netty+Restful),data analyzer(hadoop+storm),message middleware
-
Techniques/Tools:
Languages :JAVA, Shell, Python
Frameworks : Spring, SpringMVC, Mybatis, Netty, Storm, Hadoop
Tools: MySQL, ActiveMQ, redis, Apache, Jenkins, Ansible, Git, Maven, nginx, elasticsearch
OS: Centos, Solaria
Continuous Integration Testing System
Software Engineer • Dec 2015 — Present
The daily life of developers and testers are filled with monotonous and repetitive tasks, so we should build a system to handle boring chores. Many our projects are now automatically tested and deployed. It allows people to focus more on writing/testing code.
- I am responsible for building the CI/CD system
- Development ENV: AIX, Redhat
- Techniques/Tools:
- Jenkins(CI)
- Urbancode deploy(CD)
- Rational Team Concert(Project Manage System/Code Repository)
- Github(Code Repository)
- Zabbix(monitoring)
- Virtual box, Docker, Load Balancer (Virtualization, BVT, A/B Daily Deployment)
- vnc,novnc,ansible(system management)
- shared message queue (Data Integration DI)
- CastIron(DI)
- Shell(CI/CD scripts)
- Python(CI/CD scripts, robot, self services, scrawler)
- php(CI/CD scripts, api helper)
SalesConnect
Software Engineer • 2014 — Dec 2015
SalesConnect simplifies the way sellers and sales managers work. The application integrated manager roadmapping, seller roadmapping, opportunity management, social, mobile, and analytics capabilities into one modern work environment. Sales teams are now seeing tangible time savings.
- I joined IBM as a Software and Web Engineer at the beginning of the project SalesConnect.
- SalesConnect contains over 30 upstream and downstream systems
- We adopt Scaled Agile Framework, TDD & Continuous Integration to manage the project. (increase in productivity and quality, faster, measurable)
- I manage my team (5 developers, 1 tester, 1 scrum master, 1 BA)
- I am responsible for building back-end server logic, designing/implmenting UI/UX, creating SOAP/RESTful interfaces, implementing Data Migration and Creating/Maintaining CI testing environment, training new hires.
- I am using the Framework SugarCRM, SOAP/RESTful Test Automation Frameworks, PHP, JAVA, HTML5, JS, DB2, Backbone.js, handbars, jQuery, underscore.js, elasticsearch, redis, shell, python, jenkins, urban code deploy and etc.
- 70% coding and 30% communication
Querying and Maintaining a Compact XML Storage
Software Engineer • 2012 — 2013
Our work is motivated by the mobile software development at National ICT Australia and Green Pea Software, in which managing large amount of XML data on mobile devices is mandatory. We thus turn to the problem of finding a compact storage scheme for XML. The flexibility of XML makes finding a scheme which satisfies all these requirements at the same time extremely challenging.
Naïve BayesText Categorization
Software Engineer • Apr, 2012 — Jul, 2012
Keywords: Java, machine learning, algorithm, naïve Bayes’ theorem. I use 18846 News documents to build the application. The 60% of them are learned and the other 40% are tested. The common word list is built and used in the project. The project used the Naïve Bayes classification VNB to predicate a document is more like a certain category
SCEDoodleservice
Software Engineer • Mar, 2011 — Jun, 2011
Web-based poll service. CSEDoodle offers some popular functions and provides a RESTful application programming interface (API). Users easily create new polls that correspond to the content of the Web page can simply pre-fill the CSE-Doodle wizard through an HTML link or an HTML form.
Language
Mandarin, English (IELTS L8.5 R8 W6.5 S7)
Professional Skills
- OS: Linux(CentOS, RedHat, Ubuntu), OS X, Windows
- Language: C, C++, Java(SCJP Band A 2008), Python, PHP
- Framework: Spring,SSH, SugarCRM, laravel, etc.
- DB: Oracle, Mysql, DB2
- Tool: Docker, git, Jenkins, Elasticsearch, backbone.js. jQuery.js, Handlebars.js, Boost, Boostrap, Shell