Resume / Vita / C.V.
Last update: ****-**-** Permalink: http://zhigang.org/resume/
Basic information
Name: Zhigang Wang
Gender: Male
Birth: 1980-08-07
Phone: +1-603-***-****
Address: * ******e Rd, Nashua NH 03062-3212 USA
Home page: http://zhigang.org/
Email: ******@*****.***
Self-estimate
Familiar with of GNU/Linux development.
Have deep knowledge on Virtualization, especially Xen.
Know well of C, Python and Shell scripting.
E ective communication in English.
Experience
2012-09 - Now: Oracle America, Inc. Principal Software Developer Nashua, New Hampshire Full-time
2012-09 - Now: Oracle VM 3.2 development.
Responsibilities:
Oracle VM Agent improvement.
New statistic implement.
Assembly and template management.
Oracle VM template con guration.
New features and bug x in dom0.
Key skills:
Open Virtualization Format (OVF).
Python programming.
2011-02 - Now: Oracle America, Inc. Senior Software Developer Nashua, New Hampshire Full-time
2011-02 - Now: Oracle VM 3.1 development.
Responsibilities:
Oracle VM Agent improvement.
Assembly and template management.
New features and bug x in dom0.
Key skills:
Linux storage and network management.
Open Virtualization Format (OVF).
Python programming.
2006-06 - 2011-01: Oracle Software Research and Development Center (Beijing) Co., Ltd. Software
Developer Beijing Full-time
2009-11 - 2011-01: Oracle VM 3.0 development.
Responsibilities:
Xend improvement.
Refactor Oracle VM Agent to include network and storage management functions.
Reimplement VM management in Oracle VM Agent.
Implement new features and bug x in Oracle VM dom0 Linux kernel.
Key skills:
Linux storage and network management.
Linux paravirtualized driver implement.
Python programming.
2008-10 - 2009-10: Oracle VM 2.2
Oracle VM 2.2 is upgrade for 2.1. It adds/improves many features that enterprise customers
requires, e.g. high availability, power management, template builder, etc.
Responsibilities:
Improve xend to provide better interface for Oracle VM Agent.
Working on debuggers to help debugging Linux guest on Xen.
Working on Transcendent memory project which can optimize memory usage and improve
performance for Linux running on Xen.
Improve storage management.
Refactor Linux control domain networking.
Key skills:
Linux storage management: iSCSI, Fiber Channel and Multipath technology.
Linux network internals: Bridge, VLAN and Bonding.
Linux rewalls: iptables implement and con guration.
2006-11 - 2008-09: Oracle VM 2.1
Oracle VM is a high performance server virtualization software. The hypervisor is built on Xen and it
leverages Linux as the control domain. There is also a web-based management console for virtual
machine lifecycle management.
Responsibilities:
Linux paravirtualized driver improvement.
Implement Oracle VM Agent in the Linux control domain to communicate with the Oracle VM
Manager.
Virtual disk/network QoS control.
Guest live migration using TLS/SSL.
Linux paravirtualized guest PXE boot implement.
Linux and Xen serial console improvement.
Linux virtual framebu er improvement.
Linux guest VNC console improvement.
Implement global locking to prevent virtual machine from starting on di erent server.
Help support team to answer customer questions about Oracle VM.
Help QA team to setup Oracle VM testing plan.
Key skills:
Server virtualization methodologies.
Xen hypervisor internals.
Linux paravirtualized driver implement.
Python programming language.
Distributed version control system (VCS) like Git and Mercurial (hg) usage.
English communication.
2006-06 - 2006-10: Oracle Validated Con gurations
Oracle Validated Con gurations is a program to o er pre-tested, validated architectures - including
software, hardware, storage, and network components - along with documented best practices. It
leverages Oracle Linux Test (OLT) to cover the various components test.
My responsibility to improve the test cases in OLT.
Key skills:
Oracle Enterprise Linux I/O testing/optimization, including network, disk and lesystem.
Oracle Enterprise Linux storage management.
Shell script programming.
2003-07 - 2006-05: China Standard Software Co., Ltd. Software Developer Beijing Full-time
2005-01 - 2006-05: NeoShine Linux 2.0
NeoShine Linux 2.0 is a upgrade of 1.0. This version add more server capabilities compared to 1.0,
which is focus on desktop.
Responsibilities:
NeoShine Linux kernel maintenance, including new hardware support, USB device support
improvement (for webcams and mass storage), and power management improvement.
NeoShine Linux installer Anaconda improvement/bug x.
Key skills:
Linux kernel patching/customizing/compiling.
Linux device driver model and driver development.
More C programming skills.
Linux operating system installation internals.
Team work.
2004-02 - 2004-12: NeoShine Linux 1.0
NeoShine Linux is the successor of COSIX Linux. NeoShine Linux 1.0 use Gnome instead of KDE as
default desktop.
Responsibilities:
Develop new features for Gnome desktop applications, especially the le manager Nautilus and
archiver File Roller.
Fix bugs of Gnome applications.
Video/audio con guration tools development and the hardware detection library kudzu
improvement.
Special function keyboard keys support in NeoShine Linux.
Key skills:
Gnome application development.
GNU tool chain usage, including gcc, gdb, ld, make, autoconf, automake and libtools.
C programming skills.
Software di /patching.
Version control with subversion.
Bug tracking with Bugzilla.
Software quality control skills.
2003-07 - 2004-01: COSIX Linux OEM
COSIX Linux is a distribution created by CS2C. The OEM product is a customized COSIX Linux
version which will be preinstalled to PCs.
Responsibilities:
Embed PC vendor's brand/logos into COSIX Linux.
Develop or customize applications per vendor's requests.
Write scripts to automate the OEM version creation process.
Key skills:
KDE application development, especially the login manager kdm and archiver ark.
Package management with RPM package manager.
Linux operating system distribution approach.
Shell script programming.
Vim editor.
Education
1999-09 - 2003-07 Northeastern University at Qinhuangdao Computer Science and Technology Bachelor
Qinhuangdao Full-time
High score on most courses.
Started hacking Linux and open source software since 2000.
Working at Network Center during 2000-09 - 2002-07, gained a lot of network management experience.
Communities
Open source communities I participate in:
Linux kernel.
Xen.
Python.
Django.
Mercurial.
Projects owned by me:
ZHIGANG.ORG: my personal website based on Django and MoinMoin for publishing blogs and technical
articles.
DocBook build system: a system generates various output formats (HTML, PDF, TXT, etc) from DocBook
source.
xenstore-socket: a lightweight inter-domain communication (IDC) protocol for Xen, which leverages the
XenStore interface only.
Python plugin framework: a simple plugin framework which is designed to have little dependency and easily to
integrate with other system.
Python ifcon g module: a python module to display network interface status.
Python tarstream module: an incremental approach to extract les from tar le.
Hobbies
Reading, badminton, mountaineering and marathon.