Zhigang Wang
  • Home
  • Blog
  • Wiki
  • LDP
  • Planet

Resume / Vita / C.V.

Last update: 2010-06-30 Permalink: http://zhigang.org/resume/

http://zhigang.org/files/zhigang.jpg

Basic information

  • Name: Zhigang Wang
  • Gender: Male
  • Birth: 1980-08-07
  • Mobile: +86 13661381201
  • Phone: +86 10 82786286
  • Address: 1/F, Incubator Building 2-A, Zhongguancun Software Park, Haidian District, Beijing 100193, P.R.C.
  • Home page: http://zhigang.org/
  • Email: w1z2g3@gmail.com

Self-estimate

  • Master of GNU/Linux development.
  • Have deep knowledge on Virtualization, especially Xen.
  • Know well of C, Python and Shell scripting.
  • Effective communication in English.

Experience

  • 2006-06 - Now: Oracle Software Research and Development Center (Beijing) Co., Ltd. | Software engineer | Beijing | Fulltime
    • 2009-11 - Now: Oracle VM 3.0
      • Oracle VM 3.0 is the integrated product of Oracle VM 2.2 and VirtualIron Virtual Center, which is acquired by Oracle.
      • 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 | Fulltime
    • 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 | Fulltime
    • 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

Main open source communities I participate in:

  • Linux kernel.
  • Xen.
  • Python.
  • Django.

Some 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.

Hobbies

  • Reading, badminton, mountaineering and marathon.

Resume

English: HTML PDF

中文: HTML PDF

Copyright © 2010 Zhigang Wang. Some right reserved.

The views expressed on this web site are my own and do not necessarily reflect the views of Oracle.