==================== Resume / Vita / C.V. ==================== Last update: 2011-07-03 Permalink: http://zhigang.org/resume/ .. image:: http://zhigang.org/files/zhigang.jpg :align: right Basic information ================= * Name: Zhigang Wang * Gender: Male * Birth: 1980-08-07 * Phone: +1 (603) 897-3355 * Address: 4 Strawberry Bank Rd Apt 2, Nashua NH 03062-2759 US * Home page: http://zhigang.org/ * Email: w1z2g3@gmail.com Self-estimate ============= * Familiar with of GNU/Linux development. * Have deep knowledge on Virtualization, especially `Xen`_. * Know well of C, `Python`_ and Shell scripting. * Effective communication in English. Experience ========== * 2011-02 - Now: `Oracle America, Inc.`_ | Senior software engineer | Nashua, New Hampshire | Full-time - 2011-02 - Now: `Oracle VM`_ 3.0 + Responsibilities: - Oracle VM Agent improvement. - Assembly and template management. - New features and bugfix 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 engineer | Beijing | Full-time - 2009-11 - 2011-01: `Oracle VM`_ 3.0 + 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 bugfix 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 firewalls: iptables implement and configuration. - 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 framebuffer improvement. - Linux guest VNC console improvement. - Implement global locking to prevent virtual machine from starting on different 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 Configurations`_ + Oracle Validated Configurations is a program to offer 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 filesystem. - Oracle Enterprise Linux storage management. - Shell script programming. * 2003-07 - 2006-05: `China Standard Software Co., Ltd.`_ | Software engineer | 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/bugfix. + 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 file manager Nautilus and archiver File Roller. - Fix bugs of Gnome applications. - Video/audio configuration 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 diff/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 ifconfig module`_: a python module to display network interface status. * `Python tarstream module`_: an incremental approach to extract files from tarfile. Hobbies ======= * Reading, badminton, mountaineering and marathon. .. _Linux kernel: http://www.kernel.org/ .. _Xen: http://xen.org/ .. _Python: http://python.org/ .. _Django: http://www.djangoproject.com/ .. _MoinMoin: http://moinmo.in/ .. _Mercurial: http://mercurial.selenic.com/ .. _KDE: http://www.kde.org/ .. _Gnome: http://www.gnome.org/ .. _ZHIGANG.ORG: http://zhigang.org/ .. _DocBook build system: http://code.google.com/p/docbook-build/ .. _xenstore-socket: http://code.google.com/p/xenstore-socket/ .. _Python plugin framework: http://code.google.com/p/pyplugin/ .. _Python ifconfig module: http://code.google.com/p/python-ifconfig/ .. _Python tarstream module: http://code.google.com/p/python-tarstream/ .. _China Standard Software Co., Ltd.: http://www.cs2c.com.cn/ .. _Oracle Software Research and Development Center (Beijing) Co., Ltd.: http://www.oracle.com/ .. _Oracle America, Inc.: http://www.oracle.com/ .. _Oracle Validated Configurations: http://www.oracle.com/technology/tech/linux/validated-configurations/index.html .. _Oracle Enterprise Linux: http://linux.oracle.com/ .. _Oracle VM: http://www.oracle.com/virtualization/ .. _Northeastern University at Qinhuangdao: http://www.neuq.edu.cn/