1. Scott Spivak
shs01234@gmail.com
PROFESSIONAL PROFILE
Very strong C++ programmer
Several years experience in designing and implementing solutions for the data storage industry.
Excellent test-driven development focus, experience with multiple unit testing frameworks.
Strong background in object-oriented design, UML, and design patterns.
Strong background in database design and SQL programming.
Extensive experience in many other programming languages and environments.
EXPERIENCE
Hewlett-Packard, Fort Collins, CO 2/1995-present
Software Design Engineer, StoreVirtual SAN Solutions 9/2011-present
Maintained and enhanced existing components of the management subsystem
of HP StoreVirtual storage virtualization solution.
Developed C++ components for a new REST based management API for the
StoreVirtual system.
Developed C++ components to allow current product to work with Microsoft’s
System Center Virtual Machine Manager using a SMIS/CIM based API.
Set up an an extensive unit testing framework for the C++ components
described above, using multiple technologies. These technologies included
googletest and googlemock for writing the tests, gcov for performing coverage
analysis, and valgrind for checking memory errors. The testing was automated
using the Jenkins continuous integration platform.
Developed some JavaScript/HTML5 components for a new web-based
management GUI for the StoreVirtual system which interacted with the REST
API on the back end.
Developed Java based automated functional tests for new GUI described
above. These tests were written for the TestNG unit testing framework and
used the Selenium WebDriver web automation library.
Software Design Engineer, Command View TL GUI 4/2010-9/2011
Technical lead for a globally distributed team that developed a new, Adobe
Flash Player based version of web GUI for existing Command View TL product.
Developed very loosely coupled, highly testable application architecture in
Adobe Flex 4, which was built on top of the open source Parsley framework.
This in turn enabled team to use a test-driven development approach from the
project beginning.
Developed a continuous integration solution based on the Jenkins open source
tool that performed unit testing (using FlexUnit) and coverage analysis for the
new GUI software, and also performed nightly building and packaging of
product.
Software Design Engineer, Extended Tape Library Architecture 4/2004-3/2010
Designed and implemented several multithreaded components of a new generation of HP’s
enterprise tape library firmware. The design phase involved extensive use of UML diagramming
tools. Implemented in C++ on an embedded Linux system, using SQLite based database for data
persistence, and gSOAP for communication with our Java-based front end GUI.
Helped maintain and enhance existing firmware used in HP’s enterprise tape libraries.
Designed and implemented parts of a solution for integrating encryption key management
appliances with HP’s tape libraries.
Software Design Engineer, Data Protection Software 9/2000-4/2004
2. Wrote software in C++ that understood physical byte layout of data on disk. This software wa s
used by SCSI XCOPY command to copy data directly from one storage device to another, without
involving operating system.
Designed and implemented several portions of a large, multi-tier tape media management and
tracking system. This included pieces of IPC plumbing written in C++ and Java, as well as parts
of the user interface, written in a proprietary 4GL.
Software Design Engineer, Parts Catalog Publishing System 2/1995-9/2000
Designed and implemented middle-tier business ActiveX objects written in Visual Basic and the
Active Template Library.
User interface design and implementation for Automotive Parts catalog publication system using
Visual Basic.
Back-end Oracle database design and implementation.
Independent Contractor, Fort Collins, CO 2/1993-2/1995
Software Engineer, Electronic Parts Catalog
Working as an independent contractor for Hewlett-Packard, continued development work begun at
Dega Technology, relevant to the Ford parts catalog display system (see below).
Became involved in maintaining and enhancing the end-user Ford product, which entailed
extensive programming in Microsoft Windows.
Assisted in the development of various terminal emulators running under Windows.
Dega Technology Inc., San Luis Obispo, CA 4/1991-2/1993
Programmer, Electronic Parts Catalog
Wrote complex programs in C and embedded SQL to process data from automotive parts catalogs,
mainly those of Ford Motor Co., to be used by an end-user publication display system running
under Microsoft Windows 3.x.
Interviewed customers with regards to how their information should be presented to the user.
SYSTEMS PROFICIENCY
Operating Systems
Microsoft Windows, Linux
Programming Languages
C++, Adobe Flex/Action Script SQL, Java, Visual Basic
Tools/Technologies
Microsoft Visual Studio, Eclipse, Borland Together, Adobe Flash Builder, SQLite
EDUCATION
B.S., Computer Science
Colorado State University, Fort Collins, CO
1994