Click here to load reader
Upload
wing-chan
View
30
Download
0
Embed Size (px)
Citation preview
Chan Hoi Wing 陳海頴
90708787 [email protected]
Technical Summary
A team player with 8-year experience on system analysis, design, and
development on real-t ime market data delivery systems with CMMI Level 5
Standard and Scrum development process. Recently move to a telecom
company to face a completely different domain and take the challenge to
develop VoIP and IM mobile client SDK and backend architecture. I am involving
in open source research, design the conference call backend architecture, and
implement using Java8, Akka, Guice, Mockito, Docker, MongoDB and Redis. I
am experienced in object-oriented software development with C++, Boost, Java,
JNI, Objective-C, also with script ing language like Lua and Python. Passionate
about building high quality software with agile software development practices.
Excellent problem solver, able to quickly grasp complex system, self-motivated,
able to make accurate est imat ion and meet deadlines, and exceptional
interpersonal skills.
Professional Experience
Maaii Limited
Staff Software Engineer 25 Apr 2016 – Presence
Project 1: Voice Engine Enhancement
Help on enhancing and troubleshooting on an exist ing cross
platform client VoIP engine run on iOS / Android.
Implement demo application to demonstrate the feature
Role: Developer
Environment: iOS, Android
Skills: C++, C++11, Objective-C, Java, JNI, SIP
Project 2: Conference Call
Research and develop on top of an open source conferencing
server – Jitsi.
Analysis the product requirement
Design the backend architecture of conference call feature
Implement the feature on top of the exist ing backend servers with a
mixture of XMPP and SIP protocol
Role: Developer
Environment: Linux (CentOS, Debian)
Skills: Java8, Akka, Guice, Mockito, Docker, XMPP, SIP, Lua
Thomson Reuters
Contract Software Engineer 6 Mar 2008 – 5 Mar 2010
Contract Senior Software Engineer 6 Mar 2010 – 5 Mar 2012
Contract System Analyst 6 Mar 2012 – 15 Apr 2016
Project 1: DPS 2008 - 2010
An exist ing local-pop site market data / news data real-t ime delivery
system in IDN network.
Enhance features in the message path of receiving data by
subscribing a mult icast address using UDP and making request to
upstream system using TCP for data recovery
Object-oriented design, implement and test ing with CMMI Level 5
standard.
Role: Developer, Tester
Environment: Windows Server 2003
Skills: Visual C++ 2005, VSS, Visio, Wireshark
Project 2: Gateways 2010 - 2011
A complete new system for convert ing market data from IDN to
Elektron or vice versa.
Develop with a team of 15 members.
Own modules of watchlist synchronizat ion, manageability, and
output to Elektron network.
Requirement analysis, object-oriented design, implement and
test ing with CMMI Level 5 standard.
Help on software configurat ion management, software building and
packaging.
Role: Developer, Tester, SCM
Environment: Windows Server 2008
Skills: Visual C++ 2008, batch script, VSS, Visio, InstallShield, Wireshark,
Colasoft
Project 3: NPS-S 2011 - 2013
A news delivery system for collect ing news feeds from internal and
3rd party.
Enhance features in receiving news feed using TCP, news
processing, output to IDN network using UDP, remote partner news
database synchronizat ion using UDP.
Project plan on resource, scheduling, task priorit ization
Provide L3 support and troubleshooting of production issues and QA
team.
Requirement analysis, object-oriented design, implement and
test ing with CMMI Level 5 standard.
Help on software configurat ion management, software building and
packaging.
Role: Developer, Tester, SCM, Support
Environment: Windows Server 2008
Skills: Visual C++ 2008, batch script, VSS, Visio, InstallShield, Wireshark
Project 4: SMF 2013 - 2014
Server Management Foundation (SMF) framework provides
functionalit ies of stats collect ing / report ing, process / parameter
monitoring, logs collect ing / report ing, alert ing etc.
Enhance logs report ing, stats report ing and alert ing to an open
source framework using Elast ic Search, Logstash, Sensu and NxLog.
Implement a Java client library to call the exist ing C++ library using
JNI
Requirement analysis, object -oriented design, implement and
test ing with CMMI Level 5 standard.
Provide L3 support and troubleshooting of production issues and
application teams.
Performance test ing on Windows with PerfMon and Linux by writ ing
shell script to capture performance data.
Role: Developer, Tester, Support
Environment: Windows Server 2008, Red Hat Linux 6
Skills: Visual C++ 2010, batch script, Java, JNI, Elast ic Search, Logstash, Sensu,
NxLog, Netbeans, gcc, gdb, shell script, Git , Visio, Wireshark
Project 5: Gateways with UDM (Unified Data Model) 2014 - 2015
A project to convert ing illogical FIDs to logical unified FIDs by
configurable market rules from BA.
Own the module of market rules function tokens
Refractor the code to use boost::variant and static_visitor for FID
data; to process different numeric FID data types, i.e. int, uint and
real, with a single “Numeric” data structure which ensure the
arithmetic calculat ion will have up to 14 decimal places precision
for most of the cases.
Performance tuning for the UDM processing based on profiling result ,
significantly improve the throughput by replacing the original
std::stack data structure with a tree structure to skip the unnecessary
rule processing and avoid memory copy of push / pop by reference
object.
Implement t imezone offset calculat ion with daylight saving using
ICU library
Requirement analysis, object -oriented design, implement and
test ing with Scrum process (Agile).
Role: Developer
Environment: Windows Server 2012
Skills: Visual C++ 2010 with C++11, Boost, ICU, batch script, Git , XWiki, Lucid
Chart , VTune
Project 6: Collect ion Head-End (Linux based) 2015 - 2016
Develop a Shanghai Foreign Exchange feed, CFETS, on top of an
unstable Linux based Core framework with a squad team of 5
members.
Communicate with PM, BA, Content and QA team for scope of
requirements, scheduling, availability of test line for actual Exchange
data and the test st rategy etc.
Design the input line module to receive CFETS data using the given
Java client API with TCP and pass the CFETS data to C++ for
processing via JNI.
Design and implement a configurable pattern match engine to
parse the CFETS data to an internal generic message protocol in
Elektron.
Help identifying and solving issues of running mult iple venues in
single box
Implement the market rules defined by BA and value-added FIDs in
another system.
Project planning on resource, scheduling, and task priorit izat ion
Help on Core task which splits venue development team owned
metadata from the architect team owned label files into metadata
file.
Help on designing and implementing the general venue stats show
on Console.
Requirement analysis, object -oriented design, implement and
test ing with Scrum process (Agile).
Role: Developer, Tester, Project Coordinator
Environment: Red Hat Linux 6
Skills: gcc with C++11, Boost, Java, JNI, gdb, shell script, Python, Git , cmake,
XWiki, Lucid Chart
Additional Role: Software Quality Assurance
Responsibility:
Audit software compliance with the process guideline defined by
Software Engineering Process Group
Identify project risks in SDLC
Report project quality metrics
Help other project teams to remove process obstacles
Analysis the major project issues like major out -phrase faults or
unsatisfied quality metrics score
Unisys
Programmer 16 Jul 2007 – 5 Mar 2008
Project: ADSR
A Java based internal equity t rading system of Sun Hung Kei
Securit ies
Part icipate in three modules of a securit ies t rading system:
Settlement, Accounting and Static Data
Acquire and analyze requirements from accounting staff and BA
Design for developing the system
Role: Developer
Environment: Windows Server 2003
Tools: UML
Education
2003 – 2007 BSc (Hons) in Computer Science
City University of Hong Kong
Upper 2nd Class
Honours