|
|
|
|
Languages: |
Java, C++, Perl, JavaScript, VBScript, 80x86 assembly (including MMX), PowerPC assembly, 680x0 assembly, 8051 assembly, Forth, Fortran, Cobol, Pascal, BASIC |
|
Operating Systems: |
Windows 95/98/NT/2000, UNIX (Linux and Solaris), Macintosh, proprietary (embedded) |
|
Development Environments: |
Java Studio, Sun command line JDKs, MS Visual C++, Borland, Metrowerks, MPW |
|
Key Specialties: |
Java and C++ development of both client and server side applications as well as shrink-wrapped products, embedded hardware and software design, human interface design, all phases of software project development from initial design through final testing, cross-platform development, consistently beating project deadlines. |
|
Additional Skills: |
Design, assembly, troubleshooting and operation of embedded electronics hardware
Installation, configuration and maintenance of various Unix based hardware, including Linux, Solaris, and others
Design, assembly and operation of FAA compliant Oxygen systems used in extreme environments in life critical situations
Firefighting – 25 units Fire Service Technology classes |
|
Dolphin Age, Inc., Emeryville, CA; Consultant |
February 1997 to Present |
|
Consulted for Vuppet, Inc. |
|
- Given only an idea, developed a design including both hardware and software for a proof-of-concept prototype.
- Designed all hardware including part selection and board layout using Protel. This included researching the current state-of-the-art in MEMS accelerometers and getting the PC boards manufactured quickly due to the rush nature of the project.
- Assembled the prototypes that included 4 separate boards in a 1-inch sphere. Most of the components in the device are surface mount components with .65mm or .50mm lead spacing.
- Wrote all the embedded code for the device which used a Cypress Semiconductor CY7C64613 (an Intel 8051 variant) with built-in USB support.
- Wrote custom Windows USB device drivers to read an isochronous input stream from the device. This work also included a DLL to allow easy access to the data from an application.
|
|
Consulted for eLingo on their real time language translation product. |
|
- Developed and ran various benchmarks of a real time language translation engine running on both WinNT and Linux.
- Created reports showing where the performance issues were with the product and where they needed to focus their efforts to improve the performance.
|
|
Consulted for Austin-Hayne on their Performance Manager product. |
|
- Originally brought in as a "firefighter" to fix a very large number of bugs in a current Java-based product used by several large customers.
- Over the course of 3 months, fixed literally several hundred bugs and, in addition, improved support for multiple customers.
- Worked with several senior software engineers to develop a new design for the next generation product.
- Investigated multiple application servers to determine suitability for the next generation product. Eventually, this choice was narrowed down to two that were used in development.
- Developed a working prototype for the next generation product used to both refine the new data model and test usability and functionality of various sections of the combined products. This allowed both users and developers to better understand the needs of a combined product.
|
|
Consulted for Inprise on their VisiBroker product. |
|
- Developed an automated test harness for their Visibroker product.
- Used this test harness, working with several other developers, to develop automated testing of the product.
- Developed test harnesses for both Oracle and Sybase databases to sress-test the database portions of the product.
|
|
Consulted for Ad Astra Engineering on their Jumping Beans product. |
|
- Designed and developed the GUI for both the client and server sides of a Java-based software mobility environment.
- Provided GUI support for various CORBA objects using both Inprise's Visibroker and IONA's Orbix.
- Responsible for ensuring that the software worked on various platforms including UNIX flavors, various Windows versions and others.
- Currently involved in product testing, design and long-range sales and marketing planning for the product.
- Demonstrated all aspects of the GUI, general functionality and usage of the product to several potential and current customers.
|
|
Consulted for Workflow Systems, Inc. |
|
- Developed software to retrieve images from large Magneto-Optical didsk for both NT and Solaris platforms. This required reverse-engineering of a disk format that refused to remain consistent.
- Acted as onsite liaison for Bay Area clients.
|
|
Consulted for Digital Publishing, Inc. |
|
- Developed a Macintosh based image viewer used to show both JPEG and TIFF format images from their database of medical images.
|
|
Consulted for the Experimental Rocket Propulsion Society |
|
- Developed simulation code using PVM that helped determine some critical design points for a vehicle that may eventually be used for a space launch.
- Provided ongoing hardware and software expertise for the design of an attitude control and inertial guidance system. This including testing various types of rate gyros and accelerometers capable of withstanding the harsh environments of both launch and space.
- Designed and developed both the hardware and software for a data sampling and recording unit used to record results of rocket engine tests. This unit was used to provide the group with their first set of actual engine thrust data.
- Helped diagnose and field repair a control box that was used to control the firing sequence for a series of engine tests.
- Provided on-site safety expertise during engine tests.
|
|
|
SuccessFactors.com, San Mateo, CA; Consultant/Senior Software Engineer |
April 1999 to March 2000 |
|
- After Austin-Hayne merged with another company, worked on modifying the new architectural design to allow both the old and new company’s products into a single suite.
- Provided occasional support for current customer’s needs by providing specialized modifications to current products from both old companies while maintaining an upgrade path to the eventual next generation product.
- Wrote several utilities to import data from various Oracle databases into the new data model. This included importing data from both the old products, customer databases and Peoplesoft databases that were in use by multiple customers.
- Provided on-going support for legacy customers including help with setup and configuration of LDAP servers.
|
|
|
Pixar, Richmond, CA; Software Engineer |
March 1996 to February 1997 |
|
- Was one of three programmers (out of a team of seven programmers) who worked with the designers from Disney during the design phase of the Toy Story Activity Center game.
- Personally wrote three of the nine activities in the game. Each of the other programmers on the team wrote only one activity, or at most, wrote one and worked on a second activity with another programmer.
- Co-developed the cross-platform core code used to write the game.
- Worked on a team of artists and programmers to develop new techniques for installing graphical data into the game.
- Designed and developed a physics engine for a new, unreleased Pixar game title, that controlled the movement of objects in three dimensions, taking into account properties such as air and surface friction, collision detection, thrust and inertia.
- Optimized the MMX assembly code used for a real-time 3D engine.
- Diagnosed and fixed bugs in the Toy Story Animated Story Book during the beta test phase, personally providing a 20% performance increase on the Macintosh version.
|
|
|
Maxis, Walnut Creek, CA; Senior Programmer |
February 1993 to March 1996 |
|
- Lead programmer for the game SimTown, responsible for game architecture, design, and full development.
- Developed a cross platform library which allowed versions of SimTown to be developed on all platforms at once.
- Developed a new compression method for the image data that increased compression by 35% with minimal run time penalty.
- Worked closely with a team of artists to ensure that 5,000+ images were correctly generated and installed into the game.
- Wrote an electronic registration system used for subsequent Macintosh versions of all Maxis products.
- Working alone, did a revision on the Macintosh version of SimCity 2000 that fixed over 100 bugs, including over 20 crash bugs, and integrated the Macintosh and Windows code for the game into a single code base.
- Rewrote a 3D engine to give a 400% improvement in speed that was later used in the game SimCopter.
|
|
|
Spectrum Holobyte, Alameda, CA; Customer Support Representative |
November 1992 to February 1993 |
|
- Personally handled an average daily customer support call volume that was four times the average daily call volume for the rest of the customer support representatives.
- On my own initiative, created and implemented a new system for efficiently handling all incoming mail, faxes and calls during the busy Christmas rush, when no organized and categorized system had previously been in place; this system remained in use after I left.
- Developed and implemented new on-the-job training for customer support representatives; was the sole trainer for 75% of the new hires in the customer support department.
- Maintained and updated the customer support database.
|
|
|
Phase Technologies, Houston, Texas; Owner |
March 1990 to October 1992 |
|
- Consulted for a small startup company on a software and hardware based emergency locator system product.
- In three days, completely rewrote the system software and produced a functional version; the previous version had taken another programmer a year to build and had not worked.
- Made a technical presentation of the final system to a group of venture capitalists.
- Consulted for Musslewhite-Howe, Inc. on a graphics transfer system.
- Developed software to allow for the transfer of images from a mainframe based graphics system to desktop systems via a custom SCSI to SMD interface.
- Co-developed software for image scaling and color correction.
- Co-developed PC based custom hardware used to interface SCSI to SMD.
- Did onsite installations and training for system operators.
- Wrote SCSI drivers for the Macintosh.
- Consulted for two different companies on several projects involving the creation of custom peripheral systems for PCs and Amigas.
- Designed several pieces of custom hardware for both the PC and the Amiga.
- Handled the layout of several PC boards that were needed for this hardware.
- Developed software for the embedded custom software and for controller software on the host platform.
|
|
|
Morse Manufacturing, Fairchilds, Texas; Technician, Programmer |
May 1989 to March 1990 |
|
- Developed software for use in a multi-processor embedded controller software that was used to generate complex waveforms for a new industrial waste water processing technique.
- Discovered a design flaw in the system's embedded controller and worked with members of Motorola's QA staff to diagnose the problem.
- Improved the hardware implementation of this system to increase it's capabilities by 250% while at the same time greatly increasing reliability and reducing the hardware needed by 30%.
- Redesigned the system hardware, assessed what parts would be needed, ordered parts in production quantity, and assembled the systems.
- Managed all on-site setup and training of users on the operation of the system.
|
|
|
Kinko's, Houston, Texas; Key Operator, Shift Leader |
March 1986 to April 1989 |
|
- Supervised four employees in order taking, scheduling, and production for the highest volume Kinko's store in the nation.
- Was the only store employee to have customers consistently request that I be the operator to run their jobs.
- Did 90% of the typesetting and layout jobs brought into the store; used Microsoft Word and Pagemaker to produce newsletters, resumes, flyers and other documents.
- Maintained the store's computers and network, including backups, virus checks, reformatting, software installation, and other routine maintenance.
- Was responsible for any customer complaints on my shift.
|