Current Status

I am not willing to relocate without a significant incentive (currently in San Jose, CA).

Currently NOT looking for a position.


Jonathan Mayo / Software Engineer

I am a software engineer with over eight years experience developing embedded products running Linux, QNX and vxWorks. I have worked on everything from communications to storage systems, from consumer products to enterprise servers. I desire to work with talented people on products that strive to achieve the best quality possible.

I am experienced at developing UNIX drivers and applications (Linux, BSD, Solaris), embedded systems and networking appliances. I have also used many different processor architectures, including PowerPC, MIPS, ARM/Xscale(PXA255), Intel i386 to Xeon and Core 2, and AMD Opteron (64-bit).

Jonathan Mayo
970 Meridian Ave Apt 38
San Jose, CA 95126
jon.mayo@gmail.com

EXPERTISE

OPEN SOURCE EXPERIENCE

WORK HISTORY

October 2007 — Present:

Software Developer
Lab126, Inc.

confidential

June 2007 — October 2007:

Senior Member of Technical Staff (MTS)
VMware, Inc.
3401 Hillview Ave
Palo Alto, CA 94304
(650) 475-5000

Job Description

Developer for ESX Server product, a virtualization product for x86 platform running a custom operating system kernel with a Linux management console.

January 2007 — May 2007:

Senior Software Engineer
PacketMotion, Inc.
110 Baytech Drive, 2nd Floor
San Jose, CA 95134
(408)449-4300

Job Description

Create a new Linux based platform environment for a multiprocessor, clustered networking appliance for deep level packet inspection.

April 2005 — January 2007:

Linux Kernel Developer.
Cisco Systems, Inc
170 West Tasman Dr
San Jose, CA 95134
(408)526-4000

Job Description

Maintain existing open source and proprietary patches for the Linux 2.6 kernel, as well as develop drivers for back plane protocols. Provided engineering support for about sixty open source applications, utilities and development tools. Automated GNU cross compiler builds for i386, MIPS64 and PowerPC.

Modifications to u-boot bootloader to support custom hardware, and enhanced with features for USB booting.

Tools

April 2004 — April 2005:

Linux Kernel Developer / QA Developer
Agami Systems, Inc.
330 Gibraltar Dr
Sunnyvale, CA
(408) 349-0400

Kernel Job Description

Linux kernel developer for an enterprise NAS product. Applied patches from the linux community to fix bugs, including back-porting patched for newer kernel version to the NAS’s older kernel. Added a proc interface for statistics collection. Added ioctls to control nfs server behavior. Implemented 64-bit atomic operations for i386. Tracked down and fixed many bugs.

Kernel Tools
QA Tools
  • Scripting languages: expect, TCL, shell script
  • Source control tools: Perforce, CVS
  • Bug and test tracking systems: bugzilla, testlink
  • Test automation harness: STAF

    August 2002 — September 2003:

    Staff Engineer
    Pillar Data Systems
    2840 Junction Ave
    San Jose, CA 95134
    (408)503-4000

    Job Description

    Software Engineer developing high availability NAS and SAN storage products running QNX and Linux.

    Responsibilities

    Performed performance evaluation of Xeon2 and Pentium-4 architectures with Linux and QNX kernels. (for SMP and uniprocessor)

    Designed and developed tracing and debugging tools as a kernel service to allow postmortem diagnostics of the interaction between multiple servers. Required the development of specialized atomic counters for SMP systems.

    Redesigned system CORE dumps to remove certain bulky data sections and to be compressed directly into battery-backed memory.

    Worked on a project to replace QNX kernel messaging interface with a zero-copy interface to eliminate the major bottleneck in performance on QNX. (messaging is used like system calls in QNX)

    Used the IO APIC(Intel Xeon/P4) for sending interrupts/messages between processor. This allows messages to be sent to another processor or broadcast to all processors. This is necessary for effective use of SMP.

    Tools

    April 2002 — August 2002:

    IT Contractor / Software Developer
    Pioneer Research of America
    2833 Junction Ave # 100
    San Jose, CA
    (408) 437-1800

    IT Responsibilities
    Developer Responsibilities

    August 1999 — August 2001:

    Embedded Software Engineer
    DirecTV Broadband, Inc. (formerly Telocity, Inc)
    Cupertino, CA

    Job Description

    Embedded Software Engineer for vxWorks and embedded Linux. (Residential DSL Modem / Router / Firewall) Responsible for maintenance and development of various applications on the DSL Gateway including: DHCP server, HTTP server, software download protocol, project Makefiles, CGIs for HTTP server, bug fixes in nearly any part of the product (application and driver layer), design documentation for new products.

    Responsibilities
    Tools

    September 1997 — June 1998:

    Junior Network Administrator
    Sparta Area School System
    480 S. State St.
    Sparta, MI

    Job Description

    Installation and Administration of a Linux-based server. Services include: DNS (using bind 8), DHCP (ISC DHCP), Web server (using BOA and then later Apache), Mail (using qmail), FTP (wu-ftpd then later proftpd), telnet and shell accounts. Performance of my Linux server exceeded that of the Netware and Windows NT servers that previously provided these services.

    Responsibilities