- Mar 2005 - Present
Software Development Engineer,
Google
Santa Monica, CA
- Mar 2003 - Mar 2005
Software Development Engineer,
Amazon.com
Seattle, Washington
Primary Responsibilities: Architect and Develop
large-scale systems control software.
- Personally architect and implement the end-to-end system of Media Mail for
Amazon Returns: Wrote DDL for db, Mason code for webserver, and C++ code in
four different services in between. Met SLA of .999 availability with sub-100ms
response time.
- Architect and co-implement the networked software RMA management service
used by all Amazon business units worldwide.
- Assist in analysis, design and implementation of other services within
Amazon.
[C++, Linux, Mason]
- Jun 2001 - Nov 2002
Senior Engineer, NextGig
(Now WireCache)
San Diego, California
Primary Responsibilities: Architect and Develop a Database
Network Accelerator
- Write software to analyze patterns in database traffic from a transparent
network device placed between the database clients and their server.
- Develop segments of an SQL optimizer for an in-memory database.
- Develop a novel database cache which must remain in-sync with a backend
database even in the face of unusual or even illegal client behavior.
[Embedded Systems Programming, C, FreeBSD, Linux]
- Oct 1999 - Dec 2000:
Member of Technical Staff,
BroadBand Office (Now
Masergy)
Vienna, Virginia
Primary Responsibility:
Rapid implementation of customer-facing IP services.
- Architect and technical lead for all IP application services.
- Architected and implemented a variety of services including
DNS, DHCP, SMTP, and NNTP.
- Coarchitected the company application infrastructure.
[C, C++, Solaris, OpenBSD]
- May 1997 - Oct 1999:
Senior Systems Programmer,
UUNET, now part of
MCI
Fairfax, Virginia
Primary responsibility:
Research and develop new network technologies.
- Co-authored RFC 2516.
- Designed and implemented the first PPPoE network stack.
- Architected a global instant messaging system scaling to millions
of simultaneous users, with all messages signed and nonrefutable.
- Wrote and presented to UUNET's top management a 20 million dollar
business plan to distribute terabyte-sized web caches throughout UUNET's
backbone.
- Implemented Kerberos authentication extention to NNTP.
[C, C++, Solaris, BSDi]
- Oct 1994 - May 1997:
Manager of Database Performance,
XDB Systems (now Serena)
Columbia, Maryland
Primary responsibility:
Improving OLTP performance in the XDB database kernel.
- Designed and implemented new log manager, resetting a 30 TPS bottleneck
at 600+ TPS.
- Implemented a new btree system based on the Yao paper,
designed and implemented an efficient scanning algorithm to compliment it,
- Architected a new storage manager to handle both high-speed row-by-row
accesses and fast blob storage and retrieval.
- Implemented prototype of a new database engine written entirely in Java.
- Prepped TPC/C benchmark suite for XDB kernel.
[C, Java, Windows/NT, BSDi]
- May 1989 - Oct 1994:
Senior Engineer,
Unify Corporation
Sacramento, California
- Received two promotions to Senior Engineer in my first 12 months.
- Opened Technical Support office in Sydney Australia and hired
the manager there.
- Worked with the team that produced the world-record TPC/B benchmark
(468 TPS/B) with Unify 2000.
- Developed software on dozens of different UNIX flavors.
[C, many UNIX variants]
- May 1985 - May 1989:
Independent Consultant
Thousand Oaks, California
During this period worked at four different firms in the
Westlake Village / Thousand Oaks area, programming embedded systems,
device drivers, and stand-alone products. [C, Assembly]