Jesse H. Willett
jhw@lmi.net
Objective
To serve as a key contributor on large projects with significant
technical challenges, performance constraints, and real-time
requirements. I particularly enjoy working on server software.
Background
Strong practical computer science background, including use of
sophisticated algorithms and techniques for achieving efficient,
production-quality code. Specific experience with rapid cross-language
code translation, mobile game development, compiler and interpreter
technology, portable coding, real-time text indexing and search
techniques, concurrency, recoverability, and game design and
implementation with emphasis on responsiveness. Excellent worker on
large teams of heterogeneous professionals.
Technical Summary
Programming Languages: C, C++, Java, Common Lisp, Scheme,
Eiffel, Perl, Python, Pascal, SQL, Logo, and AppleSoft BASIC. Has the
state of the art developed far enough that I can say I'm fluent in
Turing machines, and you'll know I'm the guy you're looking for?
Development Environments: BREW, J2ME, large-scale GNU
Make build engineering, Subversion, CVS, Unix, particularly SunOS and
Linux development and execution environments; Emacs, Bash, Cygwin,
Windows, MFC, MS Visual Studio, DirectX (including DirectDraw,
Direct3D, and DirectPlay); MacOS Toolkit, Symantec C/C++, and
Metrowerks C/C++. Some experience with Apple II+ and TI/99 systems.
Professional Summary
Senior Software Engineer – Mforma Group, Inc.
August 2004 – Present
- Technical lead for BREW engineers in US.
- Developed tools for BREW engineers worldwide, including training
engineers from Mforma's England offices and transferring productivity
tools, libraries, and best practices to Mforma's Korea and China
offices.
- Lead successful company-wide migration from CVS to a Subversion
source control repository.
- Personally ported 4 applications from J2ME to BREW in 12 months
and maintained back catalog of 8 apps on constantly emerging new
devices. Oversaw and assisted 3 junior engineers in porting 8 more
apps.
- Developed extensive set of test suite applications, particularly
with an eye towards rapid discovery of the manifold device quirks
encountered in the mobile domain, and wholesale incorporation of
work-arounds into the back catalog.
- Back catalog porting goal, frequently met, was 24 hour turn around
time for new device support of 3-4 applications even in the presence
of novel device quirks requiring research and recompile.
- Streamlined and extended underlying porting library developed at
FingerTwitch.
Contract Programmer and Senior Software Engineer – FingerTwitch, Inc.
May 2003 – August 2004
- Personally ported 12 applications from J2ME to BREW in 14 months.
- Primary architect and implementor of underlying porting and device
abstraction framework. Features included partial C++ mimicry of major
Java language features and libraries, memory management features,
extensive compile-time and run-time asset manipulation pipelines, and
an asset cache system that greatly softened the degredation of
performance on low-capability devices.
- Due to the device constraints, minimizing codesize and RAM usage
while maximizing performance was a paramount concern, while due to
market characteristics maximizing productivity and throughput was the
constant goal of the porting framework.
- FingerTwitch reached a successful purchase agreement with Mforma
Group, Inc. in August 2004, in which I was designated key personnel
and the porting framework I developed was designated the primary
intangible asset.
Personal sabbatical
May 2001 – May 2003
Following demise of Xigo with the dot-boom, I took a two-year
sabbatical to travel and study.
Senior Software Engineer – Xigo, Inc.
April 2000 – May 2001
- On Linux & Solaris, developed the Java back-end for an
extensive text indexing system implementing real-time functionality
for agent-based and traditional index operations, including optimized
query evaluation and source document archiving.
- Implemented a recoverable and concurrent block file format,
B+Trees, inverted indices, and other high-level data structures that
resulted directly in two patent applications.
- Restructured a query engine to support concurrent queries rapidly
and efficiently. Maintained agent engine that supported millions of
simultaneous pre-specified queries.
- Supported text indexing designed to handle hundreds of MB/day
real-time news feeds to trigger from a pool of millions of agents with
twenty-second latency and be available for interactive user querying
within thirty seconds.
- Co-structured and installed a staging system for functionality and
compatibility testing. Included correctness, system latency, and load
testing. Liased with quality assurance personnel to design test suite
and intended server functionality. Similarly liased with operations
department as each server version went into production.
- Two-and-a-half patent applications: one to minimize use of locking
mechanisms in distributed system, two to speed up query evaluation.
Network Programmer – Ronin Entertainment, Inc.
March 1999 – May 2000
- Implemented performance-critical, real-time multiplayer
functionality in C++ for 3D games by extending a proprietary language
with a custom peer-to-peer protocol. This code went into Lucas Arts'
"Star Wars: Force Commander" and Ripcord's "Blademaster". Extensive
co-design of "Force Commander" game multiplayer aspects; primary
author of game multiplayer functionality.
- Extensive use of C++ standard libraries, particularly container
templates, toward the goal of rapid development.
- Implemented high-level networking API for pre-existing game
engine. Implemented custom real-time packet compression. Liased with
dedicated multiplayer quality assurance team.
- Coded to DirectX 7.0, particularly DirectPlay.
Software Engineer – Asylum Entertainment / SoundSource Interactive
April 1997 – January 1999
- Worked on most aspects of networked multiplayer strategy games for
Windows 95/98 on teams of two to four programmers.
- Primary author for UI and game state evaluation engines, co-author
of data file formats and asset cache management, and supporting author
for animation and networking systems.
- Primary coding in C++, with some tight ASM for custom draw
routines and effects, and Java and Perl for offline production tools.
- Coded to MFC and DirectX 5.0 and 6.0, particularly DirectDraw,
DirectInput, DirectPlay, and DirectSound.
Software Engineer – Quark, Inc.
February 1996 – September 1996
- Designed and implemented new features for the Quark Publishing
System in C.
- Emphasized portability across multiple OS, GUI, and network
standards.
- Coded cross-platform for MacOS 7.5.3 and Windows 95.
Education
Bachelor of Arts in Computer Science, U.C. Berkeley, May 1996
Teaching Assistant, CS164: Programming Languages and Compilers
Extracurricular
Geodesic domes, vacuum balloons, R. Buckminster Fuller, Go, zombie
movies, Horselover Fats.
Links
Homepage
Mforma Group, Inc.
FingerTwitch (routes to Mforma)
Star
Wars:Force Commander
Quark QPS