I want to work with others to make products that improve life on this planet. My technical leadership in areas ranging from embedded systems to application software provides a rich background for creative thinking.
|I was the first software engineer hired to develop a fundamentally new approach to gene sequencing. As our company matured from proof of concept through to a shipping instrument, I designed and implemented much of our software. My contributions include hardware development, image processing, embedded system software, cluster computation and nanometer scale instrumentation.|
|While working in the Macintosh hardware division, I worked on bring-up of new hardware and provided software experience when looking at hardware problems.|
|I was a founding engineer responsible for client software architecture. I played a key role in all aspects of development: hardware requirements, device bring-up, BIOS development, driver development, cryptography, network protocols and application software. This NAS company was eventually sold to Seagate.|
| Though I am primarily a software
engineer, this role was a chance to build other skills. By
working as a junior hardware engineer, I was able to design a fair
number of PLDs/FPGAs and debug many hardware problems.
Lead Device Engineer
| I was a founding engineer
responsible for a multi-processor RISC software architecture. My
work extended from initial product design through three generations of
best selling optical networking equipment. Over my tenure the
software development team grew from three to one hundred
engineers. My responsibilities included team leadership, software
design, device bring-up, profiling, and priority defect resolution.
The Big Network/WebTV
|At the Big Network, I designed a chat and network game environment eventually incorporated into Myspace. The scalable servlet/applet framework we created supported thousands of simultaneous users. At WebTV, I implemented low level system software for PCI, USB, and LCD devices.|
| I was a key partner at a high-tech
startup. I served as the technical lead on a massive
server/client virtual environment. I also led the creation of an
anti spam email product and multiuser web browser. My involvement
in this startup provided me with broad exposure to both business and
technical aspects of developing a product.
The 3DO Company
|I joined 3DO to be part of a small team developing a video game system. As the project evolved I played a leadership role in operating system design, hardware bring-up, and driver architecture. After the completion of our game system, I became one of three principal engineers for a family of Windows multiplayer games.|
|During my initial tenure at Apple I created software for wireless networking, the PowerPC microkernel and digital signal processing tools.|
|This small startup provided me with extensive involvement with fault tolerant hardware, network
protocols, and operating system development. Eventually we merged with Tandem computers.
| While still in high school, I
authored applications and device drivers for the Amiga computer.
|Extensive Experience||Moderate Experience||Basic Knowledge|
|Network software development||Servlets and JDBC
|Operating systems design||Linux device drivers
|C++||USB software and hardware||Game development|
|Hardware bring-up and debugging||XML/XML-RPC||Bioinformatics|
|Java||Compiler & VM design
|Many assembly languages
||Wireless networking||CUDA and GPGPU
|Various real time operating systems
|BIOS internals||Image processing||OpenGL|
|Risk management||Lua internals|
My work at Pacific Biosciences led to credited publication in Science and Optics Letters.
My prior work was glowingly described in a best selling book on Silicon Valley.
I am an inventor on a fair number of patents, the following patents have already been granted:
|7,251,296||System for clock and data recovery|
|7,058,297||Distributed processor modules and persistent storage in an optical network|
|7,046,929||Fault detection and isolation in an optical network|
|6,009,458||Networked computer game system with persistent playing objects|