More under BillAbbott at Linked-in. Comments welcome, please!
WILLIAM (“BILL”) B. ABBOTT IV
Home: (510) 594 1567 Mobile: (510) 502 1567 firstname.lastname@example.org _________________________________________________________________________
Senior Software/Hardware Interface/Test Engineer
An implementor, fixer, problem-solver, filler-in-of-details, document writer and explainer. Complex performance test, verification, calibration and driver software, from client user-interface to hardware.
Over 15 years experience creating performance test, diagnostic, QA, calibration, driver, bring-up and verification software, in sh/BASH, Java, C++, C, Visual Basic, using client-server, multi-platform and “device test” environments; Extensive experience with legacy code, porting, completing, converting interfaces, and upgrading existing systems; Development, release and regression testing; Created many user interfaces and models to make data and systems usable by customers;
Worked closely with hardware and other software engineers, managers, marketing, sales, customer users, field support, applications and manufacturing engineers, and production technicians; Development, pre-sales, manufacturing and post-sales support roles; Extensive experience in multi-site and multi-national development and support, and identifying and re-using best practices in legacy products and projects;
Used the following tools to make production code in the last 15 years:
* Java, C++ in Linux, Mac OS-X; Visual C++, Visual Basic, OOP in Windows XP; C, C++ in Solaris
* sh/BASH, Perl and WinXP .bat scripts; Offline and online performance/benchmark, release, regression and unit tests;
* Perforce source management, Call and Bug tracking; Clearcase, Clearquest, home-brew bug tracking systems;
* HProf (Java), icounts (Intel platform), Purify, profilers for analysis, Examinator for cp/cpk process capability/test limit setting;
PERFORCE SOFTWARE, Alameda, CA 7/2009-11/2010
PERFORMANCE LAB ENGINEER, sh/bash, Java, Perforce, Linux, WinXP, Mac OS,
Used, supported, created and released performance benchmarking tools for Perforce Software components, on multiple platforms: Added limits with per-test overrides and report to cpu cycle counting (icounts) benchmark. Tuned MacOS for icounts. Verified new -a -b -h options with massive “obliterate” file lists.
Evaluated available multi-platform Java profiling tools, selected HProf. Developed two different P4Java api benchmarking suites. Began integrating results with developers Eclipse environment.
Compared performance of Mac OSX, Mac OSX Server and openSuSE, on Mac Pro (4,1) platform. Selected openSuSE. Started benchmarking suite for web server tools now in development. Created and released a large set (2GB) of open test data, to tune test times via data size.
Published detailed information related to performance of Perforce Software components. Revised and extended “10 Minute Demo” instructions for Perforce on Mac OSX; Identified existing, post-sales, documents that resolved ambiguities in pre-sales and training documents.
LTX-CREDENCE, Milpitas, CA 8/2007-1/2009
SENIOR SOFTWARE ENGINEER, C++, Clearcase, Linux/Solaris , TotalView, Examinator
Created calibration and diagnostics for 18 bit, <500kHz AC Source and measure, 18 bit DC measure, DCTM; Updated data logging, re-qualified test limits and wrote user documentation for DigHR (High Resolution Digitizer) diagnostics; Duplicated Diag/Cal/Verify field problems in-house; Advocate of peer code reviews and early adopter of the West-coast internal software engineering Wiki;
ADVANTEST, Santa Clara, CA 4/2006- 8/2007
SENIOR SOFTWARE ENGINEER, Visual C++, OOP, Perforce, Windows XP
Discovered and documented “open architecture” build process, seriously revising the SDK instructions; Delivered ported C++ code, scripts, for calibration and diagnostic software for 250 MBPS, 128 channel digital test module, for T2000 open-architecture system; Perforce and Win-script based porting tool-set parameterized starting point source, replacing hard-coded constants with symbols; Pioneered personal-build distribution from workstation to available test system;
TERADYNE, MEGATEST San Jose, CA 1993-2005
SENIOR SOFTWARE ENGINEER,
Flex-Plus SB6G: Visual Basic, WindowsXP, OOP 2003-2005 Created and released DDS Clock driver and walking strobe driver; Output waveform and clock/timing self-tests (checkers) to rapidly verify hardware integrity at customer sites; Used less than 50% of allowed run time; Drivers and checkers interfaced with raw registers and embedded PowerPC; Presented key pass-fail criteria and complex stimulus/response data (250,000 samples of a 5 bit waveform) in compact, regression-friendly, form; Filled coverage gaps by porting bring-up and applications programs into diag/cal environment; Created and used release validation tools that operated software on real hardware and on forced-fake-data off-line;
Tiger SS10: C, Solaris, 1997-2003 Created a sensible, coherent, user model for differential waveform levels and flyby PPMU interconnect; Drove team, including self, that wrote drivers, functions and libraries to implement the model; Created standard illustrations/graphics for naming and defining interconnect paths; Enabled system to meet DC levels accuracy specification by taking over and correctly implementing calibration measurement library drivers; Created and used release validation tools that operated software on real hardware and on forced-fake-data off-line;
Tiger PE32 & QSB: Created, verified and released user-callable driver software for switchable differential/single-ended pin electronics with two output swing ranges and common mode signaling; Created standard illustrations/graphics for naming and defining waveforms; Defined, designed, developed and released source-synchronous data transfer calibration software, making timing multi-chip modules work for every tester channel and support board; Created and used release validation tools that operated software on real hardware and on forced-fake-data off-line, with graphical display of results;
Tiger ECMS: Led team that defined, created, verified and released driver for (timing) Edge Calibration Measurement Subsystem (ECMS), including embedded state machines; Created and used release validation tools that operated software on real hardware and on forced-fake-data off-line; Defined, created, verified and released new generation serial EEPROM hardware support in common library; Created and released next-generation hardware recognition for embedded cpu;
J973 Time Jitter Digitizer 1995-1997: Designed, developed and released self test (checker) software; Made key contributions to project, including driver to ‘virtualize’ hardware behavior (the DC-blocking inductor was not 0.0 ohms, an unjustified assumption.); was never closer than 400 miles to any prototype hardware; Did all on-hardware work remotely, (X windows), with hardware and software engineers in other facilities;
Specified, designed, and developed transparent, embedded, implementation of polynomial calibration of channel DC Levels for “J975” (Everest), the proposed J973 follow-on product, in C++ under Solaris; Recognized as a member of the Everest Accuracy QIT at 1998 TQM Day. (Everest PE32) .