Resume / Vita / C.V.
Last update: 2011-12-30
Permalink: http://zhigang.org/resume/
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:
Projects owned by me:
Hobbies
- Reading, badminton, mountaineering and marathon.