Jim Preston

2122 Paseo Del Oro, San Jose, CA 95124

(408) 410-2243 ♦

Senior Software Engineer

20+ Years of Experience, including 10 Years with Java platform

Hold a Bachelor’s Degree in Information Sciences

Java Platform

Web Applications

Java Swing

AJAX

JavaScript

HTML, CSS

JSP/JSTL, Servlets

GUI Design

C / C++

Highlights of Qualifications

►Proven Senior Software Engineer capable of leading all Java development and implementation efforts: Java Swing applications, web applications using JSP, servlets, HTML, CSS, JavaScript, XML, etc. Some knowledge of SQL.

►Self-motivated, self-directed, able to get the job done.

►Excellent interpersonal and technical communication skills—able to relate to people at all levels of business and technology; good team player.

Professional Experience

TiVo Inc, Alviso, CA1/06–present

Senior Software Engineer

Part of the team developing the "TiVo Experience" software on the Comcast DVR hardware platform.

►Responsible for the recording/scheduling services layer of the client application. This layer receives directives (in XML) from the server and interfaces with the middleware to create and schedule the recordings.

►Designed and implemented the DeletionManager, responsible for implementing the TiVo "just in time" recording deletion policy as well as the "keep at most n" policy for recurring subscriptions (Season Passes and Wishlists).

►Designed and implemented a prototype of an operator's administration web application in Ajax (DHTML, JavaScript, and CSS) and JSP/JSTL.

DVDPlay Inc, Los Gatos, CA2/04–7/05

Senior Software Engineer

Responsible for the DVDPlay admininstration web application, used by clients to track DVD rentals and disc inventory, monitor rental kiosk activity, generate reports, etc.

►The web application uses JSP, HTML, and JavaScript backed by extensive Java classes that implement business logic and interface with the database.

►Worked closely with product marketing to define feature requirements and develop use cases.

►Designed and implemented many new features.

Boldfish, Inc. (Acquired bySiebel Systems04/03), Santa Clara, CA1/01–7/03

Senior Software Engineer

Project team lead for all Boldfish Express Server activities (high-volume outbound email server).

►Led successful release of 3 major versions of Boldfish Express Server product.

►Designed and implemented new features such as click through tracking, Forward-to-a-Friend, and a subsystem for queuing database inserts through flat files.

►Designed and implemented Boldfish Content Converter (text editor application written in Java using Swing) with special features for working with content to be emailed, including color-coding variables and functions; inserting function templates; obtaining variable names and values from user-specified files or from a database; checking text for various errors; and showing preview of content with variable substitution.

StockMaster/Red Herring, Cupertino, CA5/00–12/00

Senior Software Engineer

Performed design and code reviews. Mentored junior engineers. Served as resident "Java expert".

►Designed and implemented JSP-based application for displaying and editing configurable parameters of StockMaster co-brands.

Jim Preston – Page 2 of 3

Knowledge Networks, Menlo Park, CA4/99–4/00

Senior Software Engineer

Solely responsible for design and implementation of Java servlet (the SurveyEngine) for delivering surveys and collecting responses. The SurveyEngine can handle hundreds of different surveys being taken simultaneously by hundreds of people and is approximately 10,000 lines of code in 35 outer classes. Served as technical lead and mentored junior engineers.

►Led successful deployment of SurveyEngine used during 2000 “State of the Union” address by President Clinton. CBS news broadcasted instant poll results within minutes of the address.

Silicon Graphics Inc., Mountain View, CA3/96–12/98

Senior Software Engineer (contractor)

Designed and implemented extensive Java Applet (approximately 25,000 lines in 70 classes) GUI for SGI's StreamCaster multi-channel video playout product and wrote a number of custom GUI components.

►Applets use multiple Threads with synchronization to allow simultaneous user interaction and automatic background updating.

►Designed and implemented monitoring tool Java applet for SGI's VCP-Recorder product.

►Applet uses Java socket mechanism to communicate with server.

►Wrote custom component to implement tabbed folder style interface.

Lexa Software Corporation, Santa Clara, CA4/94–2/96

Senior Software Engineer

Managed code generator for C/C++ compiler system.

►Ported code generator to Solaris OS generating ELF object files with DWARF debugging information; and ported code generator to MIPS/Irix platform generating ELF object files.

►Enhanced Solaris-targeted assembler to accept STABS debugging directives.

►Retargeted assembler from Solaris generating ELF object files to SunOS generating a.out files.

Amdahl Corporation, Santa Clara, CA5/89–4/94

Software Engineer

Maintained and enhanced Pascal front end and common code generator (producing 370/UTS object code).

►Designed and implemented scheme for overcoming limitation of 4K addressing on 370.

►Enhanced AT&T Debug to support Pascal features (sets, strings, variant records, etc.).

Key Computer Laboratories, Fremont, CA6/88–5/89

Software Engineer

Managed code generator for K1 (RISC-based supercomputer with proprietary architecture). Handled translation of compiler's internal format to K1 instructions, as well as generation of COFF object file.

Hewlett Packard, Cupertino, CA6/79–5/88

Software Engineer

Technical lead of HP Business BASIC project, a large interpreted and compiled BASIC system. Technical lead for port of HPBB interpreter, compiler, and run-time library from MPE/V to MPE/XL (HP's RISC-based Precision Architecture operating system).

Jim Preston – Page 3 of 3

Independent Projects

Ajax

Designed and wrote a widget called Restaurant Ratingz. It provides access to the database of the RestaurantRatingz.com website, allowing users to quickly look up the ratings for any restaurant. Has a version for both Macintosh Dashboard and Yahoo! Widget Engine. -

Java

Designed and wrote several Java applications over the past 5 years. Major among them is InerTrak, an award-wining time-tracking application in Java/Swing, based on my PalmOS PicoTrak but with many added features taking advantage of the desktop environment -

PalmOS

Designed and wrote several PalmOS applications over the past 7 years: PicoTrak (time-tracking tool); SimpleBudget (checkbook-style money tracking program); IntCalc (multi-function calculator utility); and DBiced (utility for graphically editing small icons) -

Education

University of California at Santa Cruz, 1979

Bachelor of Arts, Information Sciences (Computer Science)

Technical Skills Summary

Languages:Java, JavaScript, C, C++, SQL

Java Platform:Servlets, JSPs, Java Beans, Java Swing, applications

PalmOS:Application design and programming

Operating Systems:Macintosh, Windows, Unix, PalmOS