Spencer Chatfield

email: schatfield53@gmail.com



Objective: Create and maintain software systems by using appropriate analysis, design and testing techniques.



-          10+ years experience developing, debugging and maintaining embedded systems.

-          10+ years experience software quality assurance (and testing).

-          Development experience in products regulated by government agencies as well as commercially available products.

-          Quick spin up on new projects.

-          Background in hardware and software.

-          Debugging is fun.


Education: BS from Brigham Young University, GPA 3.0 of 4.0


Employment History


Software Engineer, Synergy Technology Solutions, Portland, Oregon, 2003 to 2004.  I developed product test plans, test design specifications, and test cases for a Siebel-based business application.  I administered PVCS Tracker to track software defects and report on product metrics.  I ran test cases and submitted defect reports, verified fixes and ran regression tests.


Software Engineer, Intel Corporation, Hillsboro, Oregon, 1996 to 2002.  I have designed, written and implemented Software Quality Plans, Software Configuration Management Plans, Software Test Plans, Test Design Specifications, and test cases.  I have tested applications and services in Linux, Windows 2000, and Windows 98.  I have experience moderating and participating in formal inspections.  I have done integration of the Intel Video Phone onto OEM customer platforms.  This involved driving from alpha and beta versions of hardware (customer processor boards, analog and USB cameras, audio chips, and modems) and software (IASPOX, audio, video, and modem drivers, BIOS) subsystems to a finished, shippable system.  I had to find root cause for problems and fix the problem myself or work with the subsystem's owner until there was a fix.  I worked in a team setting on tools to ease subsystem qualification for Intel Video Phone integration.  Everyone on the team worked on the architecture.  My specific task was to add logging, using C++, to the Intel Video Phone configuration tool.  Tools that I have used are Visual Studio (C++), SoftIce, Windows debugger (wdeb386), Tektronix logic analyzer, Merant Tracker, Merant Version Manager, Visual Source Safe, Perl, Revision Control System, GNU tools, Linux.


Software Engineer, Northwest Software, Inc., Portland, Oregon, 1995 to 1996.  I contracted to Intel Corporation as an evaluation engineer.  I was responsible for evaluation of a beta version of a suite of data, fax, and voice applications that worked with the group's product.  I had the responsibility of doing software builds of the group's product, which included adding and removing modules and subsystems.  PERL was used for the build scripts.  I had the responsibility of making sure the software was configured properly, and that change control was happening in a responsible manner.


Software Engineer, SpaceLabs Medical, Inc., Hillsboro, Oregon, 1989 to 1995.  Responsible in a team setting for the analysis, design, implementation, testing, review, and documentation of software for blood pressure monitoring equipment.  I worked on four systems that create blood pressure reports.  I was responsible for three of them.  One of the report generators was a stand-alone embedded micro controller system; the other three report generators worked on IBM compatible PC's.  My biggest contribution for the Windows report generator was a communications DLL, written using C++ and the Microsoft Foundation Class.  I have worked on one OEM blood pressure monitor.  It is a self-contained ambulatory unit that automatically takes blood pressures and stores them.  All of the products I worked on required foreign language support.  I created test plans and test cases for blood pressure report generators and blood pressure monitors, and I did formal testing on blood pressure monitors.  I had to come up with tests for boundary conditions, assorted typical conditions, and interesting conditions (such as combinations of high systole and low diastole).  The tools I used were Visual C++, Microsoft Foundation Class, Visual BASIC for Windows, Microsoft BASIC, 8051 assembler and C for the 8051, EasyCase computer aided software engineering, Intel ICE51FX, HMI 8051 in-circuit emulator, MetaGraphics windowing system.


Software Engineer, Flight Dynamics, Inc. / ARNAV Systems, Portland, Oregon, 1985 to 1989.  Responsible in a team setting for the analysis, design, implementation, testing, review, and documentation of software for Head Up Display and small plane navigation flight systems.  I was responsible for software to test the CRT and drive electronics used in the head-up display.  Support for the above products include: specification of the microprocessor to be used, the kind of language and its compiler, and the development system. I was responsible for the specification and implementation of a test environment for a fuel computer, including hardware, software, and a test plan based on the IEEE software documentation standards.  I was responsible for testing one of the navigation instruments.  Equipment used: HP64000 ICE, IBM PC compatibles, MicroVAX II, Tektronix Logic Analyzer, Intel I2ICE, Intel PDS.  Operating systems: Ultrix (UNIX), ISIS, and MS-DOS.  Languages used: 8086 assembler, NEC 7810 assembler, Z80 assembler, the "C" programming language, the UNIX shell, 8051 assembler, PASCAL, PL/M and FORTRAN.  Some Nastec CASE and Yourdon CASE.


Software Engineer, Sidereal Corporation, Portland, Oregon, 1981 to 1985.  Responsible in a team setting for the operating software of a microprocessor based communications terminal.  I was responsible for the message access system (a mini file system).  I was responsible for the support projects: hardware and software for an EPROM programmer; a linker; modification of a 6809 assembler; new file system; internal diagnostic software; word processing style message editor; and XMODEM like protocol for uploading and

downloading.  Equipment used: PDP-11/70 and IBM PC/XT.  Operating systems: UNIX and MS-DOS.  Languages used: Assembly languages of the 6809, 6800, PDP-11, and Z80 processors; the "C" programming language; and the UNIX shell.


Software Engineer, Tera Industrial Controls, Portland, Oregon, 1980 to 1981.  Modify and customize the hardware and software of a computer numerical controller.


Engineer, Boeing Commercial Aircraft Company, Seattle, Washington, 1979 to 1980.  Design and integrate electronic hardware and software to automate airplane production.