Bill Mothershead Mesa AZ ***** 480-***-**** ****.***********@*****.***
Will relocate for right opportunity.
Will travel for temp/contract jobs.
PROFILE: BSEE U.C. Berkeley software engineer/programmer
Engineering/scientific/system programming applications.
SKILLS: C, C++, assembly language,
functional specs, engineering design documents, milestone
management and written test plans, code reviews, operator manuals.
PROJECTS:
real time/embedded/firmware, communications,
industrial control systems/equipment,
robotics/motion control, machine vision/imaging systems.
Experience: (excludes some short consulting contracts)
consultant 2007-2009
C++ simulators, force analysis of rotating mechanical systems.
Wrote custom interactive design software with 2D animation.
Software does automated searches to optimize a configuration.
ALERT STAR, Tempe, AZ 2005
Contract, C++ embedded system for school bus safety.
TEKSCI, Tempe, AZ 2004
Contract to review C++ code for Honeywell weather RADAR.
ARISTOCRAT TECHNOLOGIES, Tucson, AZ/Las Vegas,2003-4
Embedded software for gambling equipment. Motion control.
Display drivers. Game creation (math) utilities.
SUPERIOR ELECTRONICS, Phoenix, AZ 2002
Rewrote A/D routines for probe system to handle ultra low
resistance readings for wafers with gold films.
YASKAWA/MOTOMAN, Phoenix, AZ 1998-2000
Wrote C++ software for robotic wafer handling and motion
control systems for semiconductor fab equipment. Developed
compiler neutral libraries for: customer fab equipment, demos,
trade shows, endurance trials, and animated robot simulations
for throughput analysis. Traveled extensively, consulting with
customers about system requirements and programming at the
customer's site using their prototype equipment.
SUPERIOR ELECTRONICS, Phoenix, AZ 1997
Wrote C++/Win95 version of four point probe system
(semiconductor test equipment.) Extensive and ambitious
rewrite of MSDOS version I developed several years earlier
(see below.) Created online documentation using WinHelp compiler
and wrote an illustrated, full color, operator's manual.
Customized the standard version to Motorola specifications and
help install and test the equipment in their fab.
ADFlex, Chandler, AZ 1995-1996
Wrote C++ software for controlling laser milling machines
(real time motion control in a manufacturing environment).
Controlled traditional XY table or linear motor with flying
optics monitoring process accuracy and operator safety. In
support of a galvo-motor laser system (moving mirrors), wrote
a compiler that converted G-code (cut path) into laser target
points, power levels and point dwell times. Wrote real time
software (C++ and 486 assembly) to directly drive the D/A
hardware for the galvo-mirrors and the laser power levels.
Wrote software to directly access an inexpensive frame grabber
to capture images for fiducial recognition and developed a
fast algorithm that was glare and shading independent.
Wrote software that after finding three fiducials it will do
an XY/theta-rotation adjustment to the cut path target points.
SUPERIOR ELECTRONICS, Phoenix, AZ 1993-1994
Wrote C++ software for a control system/operator interface
for a four point probe (semiconductor test equipment).
This GUI (under MSDOS) directly drove the VESA VGA card.
Project required reverse engineering effort to develop a
working software interface to the undocumented hardware.
Developed algorithms to convert raw hardware readings into
industry standard measurement units. Developed a report
generator that included an interactive 3D (tilt/rotate)
false color topology map of resistance on the wafer. Wrote
online documentation and operator's manual. Wrote setup and
diagnostic programs for manufacturing/repair of hardware.
TEKNOW, Phoenix, AZ 1992-1993
Wrote C++ front-end communications processor (transaction
processor) that controlled up to 24 modems accepting raw
paging information, validated user ID etc. then sent the
transactions to the UNIX system controlling the transmission
equipment. Developed library to allow MSDOS C++ programs to
do nonpreemptive multitasking (used setjmp/longjmp.) Used
Greenleaf communications libraries and PharLap DOS extender.
MAPS FOR REALTORS, 1991-1992
Wrote C++ applications to provide city street maps used by
realtors as sales tools. Developed algorithm to convert
common street addresses into map coordinates, required
building an extensive database of city/street information.
Wrote MSDOS driver libraries to directly control several
brands of printers in their native graphical mode.
Contract Programmer, 1990
Wrote C++ communications front-end processor which controlled
eight modems (phone lines) each talking to a point-of-sale
device (little gray box that accepts credit card transactions.)
The program validated communications issues (format and
checksums)...then posted the data to the banking computer
and then confirmed the posting to the POS device (so it could
be deleted.)
ASM EPITAXY (ASM AMERICA), Tempe, AZ 1987-1990
Wrote real time embedded control systems for a semiconductor
CVD reactor. Developed windows-like GUI for this embedded
process control computer that used color graphics touchscreen
in a cleanroom environment. Wrote code to control a large
complex gas panel, all wafer handling including cassette
scanning and dynamically controlling Foxborro temperature
controllers. Wrote recipe editors/interpreters. Wrote
code for SECS communications. Wrote diagnostic programs
and generally supported manufacturing and field service
troubleshooting various software/hardware issues. Wrote
an operators manual which became a chapter in the equipment
manual. Was the lead programmer on this project and usually
organized and lead weekly informal design review meetings
that included semiconductor process people and field service
and manufacturing.
SPACE DATA, Tempe, AZ 1986-1987
Wrote ground test software for a minuteman missile project
that exercised a package of experiments to confirm/diagnose
their readiness before launch. Also wrote software to control
motion and monitor telemetry from two large gimbals flown
aboard the space shuttle. Work done in DEC assembly language.
GTX CORP., Phoenix, AZ 1985
Developed algorithms for pattern/character recognition for
vectorizing scanned images for input to CAD equipment.
MOTOROLA FOUR PHASE, Tempe, AZ 1981-1984
Developed OS9 operating system extensions using 6809 assembly
language. Wrote system utilities in C for Unix or OS9.
Developed code generator and support libraries for OS9's
Basic compiler.
SPERRY FLIGHT SYSTEMS, Phoenix, AZ 1981
Wrote/tested/documented software to control a RADAR scan
converter that was used aboard the B52. Work was done in
assembly language for a proprietary processor.
ENGINEERS TESTING LABORATORIES, Phoenix, AZ 1980
Wrote their accounting system on a small Wang as a consultant
1975-1978. Ported this software to a Wang mainframe.
MOTOROLA MICROSYSTEMS, Tempe, AZ 1978-1980
Wrote world's first commercially available 68000 software:
the ROM debugger for the 68000 evaluation board.
Wrote 68000 simulator in FORTRAN on IBM mainframe.
Answered "hot line" for technical support of microprocessor
development systems. pjf