1. HAN LI
S O F T W A R E
E N G I N E E R
Unit 102, 108 Queens Road,
Hurstville NSW 2220
+61 451 080 217
li.han.victor@gmail.com
linkedin.com/in/victorhanli
PROFILE
I am a software engineer with two years of industrial experience with J2EE
and Amazon AWS. I created and improved the core components that
handle concurrent bet processing and low-latency market price update,
for two betting websites.
I have one year experience as a team leader who performed and
delegated the full range of web development duties. I have worked closely
with the management regarding resource planning, developing schedules,
and time estimating. I also setup and managed a full stack of
Dev/UAT/Production environments from scratch using Amazon AWS.
I have graduated from UNSW with Doctor of Philosophy in Computer
Science and Engineering. My research focus was on the elasticity of Key-
Value Stores (KVS, a.k.a. NoSQL databases) hosted by cloud-computing
infrastructure. I have consistent outstanding academic records in my
undergraduate and postgraduate studies in Computer Engineering.
I have strong interest in financial markets and solid understanding of
transaction processing systems. My career objectives are to be involved in
a market trading company, to grow with an amazing team, and to become
a cornerstone of the team in the long run.
EMPLOYMENT
S O F T W A R E E N G I N E E RS O F T W A R E E N G I N E E RS O F T W A R E E N G I N E E RS O F T W A R E E N G I N E E R
Worldwide Wagering Pty. Ltd., Sydney Office ▪ 03/2014 – Current
Project:Project:Project:Project: PinnacleBetPinnacleBetPinnacleBetPinnacleBet ((((https://www.pinnaclebet.com.au))))
It is a sports betting site for retail customers, and was initially built as a
Pinnacle Sports franchise in Australia. In mid 2015, the business aimed
to cooperate with more Australian corporate bookmakers.
Role and ResponsibilitiesRole and ResponsibilitiesRole and ResponsibilitiesRole and Responsibilities
I took the role of team lead and software engineer. I was responsible for
delivering a new PinnacleBet that integrates multiple betting feeds. I
applied microservices architecture to modularize the existing tangled-
together system. Isolated microservices that were built include:
+ A concurrent transaction processing service, such that transactions
across the system are processed within one service;
+ A low-latency market price data update service, wherein volatile data
is updated in memory and flushed into database in batch;
+ A wager processing service that simply manages the life cycle of
betting tickets without tangling up bookie risk-managing logics, which
was isolated to form a bookmaking service;
+ A Publish/Subscribe messaging service to ensure real-time web;
+ A caching service leveraging cache abstraction of Spring Framework.
Project: TheOddsBrokerProject: TheOddsBrokerProject: TheOddsBrokerProject: TheOddsBroker ((((https://www.theoddsbroker.com/racing.htm))))*
TOB is a race betting site for customers of corporate bookmakers and
TABs. For years TOB was a wholesale betting site. In Jan 2015, the
business aimed at the retail market, which requires the integration of
more data feeds and the capability of serving more bet requests.
EDUCATION
Doctor of PhilosophyDoctor of PhilosophyDoctor of PhilosophyDoctor of Philosophy 2010201020102010----2014201420142014
Computer Science and EngineeringComputer Science and EngineeringComputer Science and EngineeringComputer Science and Engineering
The University of New South Wales
Thesis:Thesis:Thesis:Thesis: "Data Partitioning and
Placement Mechanisms for
Elastic Key-Value Stores".
Both thesis examiners classified it
as AAAA.
Key research areas:Key research areas:Key research areas:Key research areas:
+ Distributed storage systems;
+ Database system design;
+ Infrastructure-as-a-Service;
+ System scalability, availability,
and elasticity.
Graduate DiplomaGraduate DiplomaGraduate DiplomaGraduate Diploma 2009200920092009----2010201020102010
Information TechnologyInformation TechnologyInformation TechnologyInformation Technology
The University of New South Wales
GPA:GPA:GPA:GPA: 87.4/100 (High Distinction)
Bachelor DegreeBachelor DegreeBachelor DegreeBachelor Degree 2005200520052005----2008200820082008
Computer Science and TechnologyComputer Science and TechnologyComputer Science and TechnologyComputer Science and Technology
South China University of Technology
GPA:GPA:GPA:GPA: 84.1/100, graduated from the
elite United Class, ranked 4/28.
2. CAREER HIGHLIGHTS
Team Leader who performed
and delegated the full range
of web development duties.
Development of concurrent
transaction processing
component for two betting
websites.
Development of a low-latency
market price update
component that integrates
multiple data feeds in multi-
threading.
Setup a full stack of Dev, UAT,
and Production environments
in Amazon AWS from scratch,
and then setup continuous
integration and continuous
delivery procedure. Migrated
a legacy financial system onto
Amazon AWS
Design and implementation of
an elastic, decentralized Key-
Value Stores.
Role and ResponsibilitieRole and ResponsibilitieRole and ResponsibilitieRole and Responsibilitiessss
I was the lead developer and was responsible for driving its design and
leading its implementation to fulfill these requirements.
+ Built a concurrent wager processing component that improves
system throughput from 200 to 7000 wagers/sec;
+ Built a generic data integration component that schedules multi-
threading based on access control, such that: i) a new data API can
be integrated with minimum coding; ii) multiple data feeds can
update simultaneously; and iii) any feed can be nominated as the
master feed as needed;
+ Built a multiple-wallet-per-account transaction component, to support
betting on international races using different currencies;
+ Built an automatic dividend-reinvesting product (Parlay).
* In this TOB site, betting data is available for members only.
D E V O P S E N G I N E E RD E V O P S E N G I N E E RD E V O P S E N G I N E E RD E V O P S E N G I N E E R
Worldwide Wagering Pty. Ltd., Sydney Office ▪ 03/2014 – 01/2015
Role and ResponsibilitiesRole and ResponsibilitiesRole and ResponsibilitiesRole and Responsibilities
I was responsible for shifting TheOddsBroker and PinnacleBet sites from
in-house computing infrastructure into Amazon AWS environment, and
had been in charge of the development and delivery process since then.
+ Designed and setup a full stack of Dev --> UAT --> Production
environments from scratch using Amazon AWS;
+ Migrated the TheOddsBroker site into AWS environment, along with
many years of financial data. It was completed without data loss and
within narrow maintenance window, despite of the lack of
documentation and knowledge transfer for this legacy system;
+ Setup continuous integration and continuous delivery using Atlassian
Bamboo. Executed the process of code, build, test, package, release,
configure, and monitor on a daily basis.
S O F T W A R E D E V E L O P E RS O F T W A R E D E V E L O P E RS O F T W A R E D E V E L O P E RS O F T W A R E D E V E L O P E R
The University of New South Wales ▪ 04/2012 – 03/2013
Project:Project:Project:Project: ElasCassElasCassElasCassElasCass ---- An Elastic, DecentralizedAn Elastic, DecentralizedAn Elastic, DecentralizedAn Elastic, Decentralized KeyKeyKeyKey----Value Store (KVS)Value Store (KVS)Value Store (KVS)Value Store (KVS)
I built a new KVS, i.e. ElasCass, atop of Apache Cassandra (version 1.0.5),
to tackle the research problem that node addition and removal are slow in
current-state KVSs. Key achievements include:
+ Designed a set of novel data partitioning, placement, and migration
algorithms;
+ Developed new components for node membership, I/O access, file
storage, and key space lookup;
+ Reduced the time to add/remove nodes from hours down to minutes;
+ Smart Services CRC has applied for a provisional patent for this work:
“A method and system of dynamically balancing data across a
plurality of virtual machines” (Elastic Cassandra) patent, filing date
24 May 2013.
PublicationPublicationPublicationPublication:
Han LiHan LiHan LiHan Li, Srikumar Venugopal. ‘Efficient node bootstrapping for
decentralized shared-nothing key-value stores’, in ACM/IFIP/USENIX
International Middleware Conference 2013, Springer, Beijing, China, pp.
348–367.
3. INTERESTS
Stock market trading
Chess and card games
Travel and food
Soccer, Table tennis
An NBA fan (basketball)
OTHER INFO
Work Status
Full rights to work as an Australia
permanent resident.
Nationality: China
REFERENCES
Available upon request.
SKILLS
This is the set of technical skills frequently used in my current and past
positions. Yet I am eager to learn many more skills required in the new
position, and am confident of adopting new technology in a short time.
Programming languages:Programming languages:Programming languages:Programming languages:
Java SE/EE, SQL, JSP, Shell script, Batch scripting, C++/C, JavaScript,
HTML, CSS
Frameworks:Frameworks:Frameworks:Frameworks:
Spring, Hibernate, AngularJS
Cloud computing software/services:Cloud computing software/services:Cloud computing software/services:Cloud computing software/services:
Amazon AWS, OpenStack, Eucalyptus
NoSQL database:NoSQL database:NoSQL database:NoSQL database:
Apache Cassandra, Hadoop, DynamoDB, Redis, Memcached, HBase
Relational DBMS:Relational DBMS:Relational DBMS:Relational DBMS:
PostgreSQL, MySQL, SQL Server
Web/Application servers:Web/Application servers:Web/Application servers:Web/Application servers:
Tomcat, Glassfish, Jetty, Nginx, Apache Server
Operating systems:Operating systems:Operating systems:Operating systems:
GNU/Linux (Ubuntu, Debian, Fedora Core), Mac OS X, Windows
IDEs:IDEs:IDEs:IDEs:
Eclipse, IntelliJ, Visual Studio, Microsoft Office Suite, Photoshop
Version controlVersion controlVersion controlVersion control and aand aand aand application building tools:pplication building tools:pplication building tools:pplication building tools:
Git/SVN, Maven/Ant, Apache Artifactory
Development collaboration:Development collaboration:Development collaboration:Development collaboration:
JIRA + BitBucket + Bamboo + Confluence
Other tools:Other tools:Other tools:Other tools:
Wireshark, JMeter, SoapUI, Postman, Weka 3
PERSONAL ATTRIBUTES
Critical thinking
Strong sense of responsibility
Honest, devoted, hardworking
Team player
Task focused
Enjoy learning and growing
Think ahead, work ahead