Software Engineer or Senior Software Engineer or Software Develo

Download as txt, pdf, or txt
Download as txt, pdf, or txt
You are on page 1of 13

Michael Kelley Harris - Resume

(Often called "Kelley", since there are so many Michaels.)


[email protected]
Phone: 805-696-6260 Cell: 805-895-0634
5662 Calle Real, Suite 478, Santa Barbara CA 93117
SUMMARY
* Software development experience: 15+ years professionally.
* Languages most used: C++, Python, Java. Other languages used: C#, Ruby, Perl,
Tcl/Tk, APL, Awk, Fortran, etc.
* Domain experience: Scientific instrumentation, nanotechnology, finance, invest
ment, real estate, software engineering training (design-patterns, refactoring,
unit testing), music, automotive diagnostics, solar energy
* Business experience: 6+ yrs project management, 6+ years consulting, 4 yrs lin
e management, 4 yrs staff management
* Education: B.S. Physics UCSB. B.A. Economics-Math UCSB. Includes 34 units of C
omputer Science. Plus continuing education in software.
* Certifications: SEI Software Architecture Professional. U.C.S.B. Extension
Certificate in Object-Oriented Programming
* Professional interest: Work with entrepreneurial teams focused on delivering v
alue early and often. Hands-on software development with cooperative teams, em
ploying best practices drawn from the agile community, SEI, lean manufacturing,
etc. Extra interest in open-source software in general and Linux in particular.
(Linux skills)
* Why software?: As software increasingly controls our technological world (incl
uding planes, medical devices, and financial transactions), it becomes increasin
gly critical to rapidly develop software that is economically efficient, high qu
ality, and adaptable to change. I accept this as an on-going professional and p
ersonal challenge.
* References from managers, colleagues, and clients. (At end of resume.)
* Demos of software development: http://www.kelleyharris.com/software/demos/demo
s.html

Accomplishments:
* Lead developer for the world's first commercial nano-manipulation software. N
anoMan (Application software and GUI. Inventor on patents: US 6,862,921, US 7,0
40,147, US 7,334,460) The product led to >$15 Million in additional annual sales
.
* Lead developer for the world's first atomic-force profilometer. (Application s
oftware and control GUI.) The product led to >$50 Million in additional annual s
ales.
* Proposed and secured a $6M investment for software architecture improvements a
nd commonality across mutiple business units in Veeco Instruments.
* Completed a GUI prototype to win Veeco a $10 Million order from IBM. (Two mont
hs, Visual Basic)
* MacWorld Best-of-Show award for MasterWriter. (Consultant from concept to rel
ease.)

Special interests:
* Refactoring and adding unit tests in difficult code bases, to increases clarit
y, remove duplication, solidify, etc.
* Physical computing (or embedded) systems using software and hardware to sense
and respond to the analog world. (Data acqusition & control software and hardwar
e for environmental, scientific, medical, etc.)
* Open-source software and hardware, including Linux and Embedded Linux. (Linux
skills)
* Enabling business representatives and domain experts to steer rapid developmen
t via tests, high-level languages, models, or prototypes, use cases, etc..
* Executable requirements. (e.g. Functional tests using FIT)
* Dynamically-extendable architectures. (e.g. deep plug-in architectures like Ec
lipse).
* Iterative architectural migration strategies.
* Software product lines sharing common code, requirements, tests, etc.
* The interplay between design principles, design patterns, and refactoring.
* Test frameworks: system, component, and unit.
* Agile perspective and practices of Extreme Programming, Scrum, etc..
* Environmental issues, cleantech, greentech, green energy, sustainability, Perm
aculture.

WORK EXPERIENCE
2004 - present
Principal Software Engineer (and Owner), SourceCell - Custom software developmen
t, delivered in weekly increments of growing functionality. Special services fo
r helping teams add more unit tests and refactor difficult sections of code. See
Client projects & comments... Sample projects include:
* Ported design-pattern lessons from java on Windows to C++ on Windows and Linu
x, for use in Refactoring to Patterns courses offered on-line and at major comp
anies. (e.g. Google, HP, etc) For Joshua Kerievsky of Industrial Logic,
* Enabled a C++ application to interact with a SOAP web service to get special
automotive-service information. Additional features have been added as requested
. Client: Bosch Diagnostics (subcontracted through Cold Spring Engineering)
* Consulted for MasterWriter software since 1995. (ownership interest) MasterW
riter software won a Best-of-Show award at MacWorld 2003. Worked on the FitNess
e open-source project for system testing. Wrote an early C++ addition to allow t
esting of C++ programs using the Framework of Integrated Test. (FIT).)
* Quick evaluation of iPhone versus Android-based mobile phones for use in a mo
nitoring-and-control application. Client: Bosch Diagnostics (subcontracted throu
gh Cold Spring Engineering)
* Added error-status information to user-space drivers in embedded Linux monito
ring systems for a commercial solary-energy (photovolaics) company. (SunEdison)
* Built simple web sites. (e.g. www.spiritmtnart.com and the www.focusedgigs.co
m family of sites: www.aspengigs.com www.afmgigs.com www.agilegigs.com www.cl
eantechgigs.com, etc.), and www.domaincells.com etcPlus, working on a number of
software product ideas.
Software tools/technologies: C++ (+ STL, Boost, templates), Java, Python, C#,
Linux, Bash shell, gcc/g++, gdb, make, cmake, ctest, chroot, XML-RPC, HTML, Ecli
pse, MS Visual Studio, Windows NT/2000/XP/VISTA/Windows 7, Mac OS X, Android, i
Phone, Subversion, SOAP, gSOAP, soapUI, COM, XML, Ruby, Poco, D-Bus (dbus), etc.
See also Client projects & comments...

2003 - 2008
Senior Software Engineer IV, Veeco Instruments, Santa Barbara, California. (Acq
uired Digital Instruments (DI)) Veeco is the world's leading manufacturer of at
omic-force microscopes (AFMs). (AFMs are the world's most powerful type of micro
scope. They can "see" atoms. AFMs are used in many nanotechnology areas includin
g the development of solar cells, hybrid cars, biomedical innovations, high-brig
htness LEDs, MP3 players, flash memory, etc.). My roles: Created and initially m
anaged a $6 M architectural-migration project. This evolved into a longer term
Common Assets Software Group, We hired a manager for that group, and I moved in
to an architectural development role. Responsibilities: Developed a common-data
analysis package for use by multiple business units. Development on a large arc
hitectural-migration project, development of common: code, tools, and practices,
for use by three different business units and product lines. (Product-line arch
itecture group). Service-Oriented Architecture (SOA) for precision equipment co
ntrol, data acquisition, and data analysis. Work included: architectural design
, development, planning, budgeting, requirements analysis, use cases, component
design, implementation, unit & system test frameworks, etc. Moderated a design
patterns study group with 7-9 participants. (based on Joshua Kerievsky's model
for patterns study groups.) Defined and develope an "Open Architecture" product
that enables customers to customize our main application via scripting and plug
ins. Removed 143,000 lines of no-longer-wanted-but-still-running legacy Zinc GU
I support from a flagship MFC application. Software tools/technologies used: C+
+ (+ STL, Boost, templates), MFC, COM, Python, Java, CppUnit and unittest.py fo
r unit-testing, Boost libraries, Eclipse, a custom data-driven system testing us
ing FIT-like approach (parsing Excel files and driving GUI tests via Silktest an
d API tests via MS COM), PHPwiki for collaboration and knowledge base, CruiseCon
trol continuous build system, Perforce source control, Serena Team Track for iss
ues tracking, Enterprise Architect for modeling. Windows 2000/XP.
2002 - 2003
Director of Software Engineering for Research Products, Veeco Instruments, Santa
Barbara, California. (see above Now called NanoBio) Responsibilities: Planned
and coordinated development of software for scientific instruments (AFMs). Manag
ed a $2 M department budget with 14 people. Created proposals, plans, and presen
tations. Requirements analysis on multiple levels, including use cases. Technic
al work: Numerous architectural projects. Developed initial version of the world
's first commercial software package for nanomanipulation and nanolithography Na
noMan Integrated the CppUnit unit-test framework into our main application. Inte
grated a C++ version of the FIT framework for acceptance tests. (http://fit.c2.c
om) Added a COM interface to main application for control from client programs.
Programmed demo COM clients in LabVIEW, Matlab, Python, and Ruby. Plus lots of g
eneral programming needed on the company's main million-line application. Invest
igated Agile development methodologies such as Extreme Programming (XP), Feature
-Driven Development (FDD), Scrum, and the Rational Unified Process (RUP) as ways
to provide rapid innovation, solid methodical development, and on-going feedbac
k to management. Impressed with development using short-cycles, close customer i
nvolvement, and unit-testing. Established a library of books for the software
department. Software tools/technologies: C++ (+ STL), C, MFC, CppUnit, MS Visua
l Studio, Python, LabVIEW, TLIB, Windows NT/2000.
1999 - 2002
Manager of Software Engineering , Research Products Group, Veeco Instruments (Se
e above) Manged six people. Accomplishments: Managed a major clean-up of the mai
n shipping legacy product. (6 months) Prepared plans to accommodate a major reor
ganization of the business into two businesses, and two software departments. Te
chnical work: Participated in the development of numerous new products. Software
tools/technologies: OOA, OOD, design patterns, C++ (+ STL), C, MFC, MS Visual
Studio, Zinc, TLIB.
1997 - 1999
Software Engineer, Digital Instruments. DI's software controls a very complicate
d real-time data-acquisition and analysis system. ( (Atomic Force Microscopes)
Accomplishments: Worked in the Software R&D group helping develop the next-gener
ation architecture and user interface. (OOA, OOD, C++, MFC, ActiveX) Completed a
two-month GUI prototype to win the company a $10 Million order. (Visual Basic)
Lead developer of software to control the world's first atomic-force profilome
ter, combining motion control, SPM data acquisition, display, and analysis. It r
equired lots of requirements analysis, design, rapid prototyping, and user-inter
face design. It also involved the integration of contributions from diverse pers
onalities and the associated practice in cooperation, communication, imagination
, patience, etc. Other projects include: analysis & verification of legacy algor
ithms, designing test procedures, and random general programming that a complica
ted system often requires. Software tools: C++ (+ STL), C, MFC, Galil, Zotech,
Zinc, MS Visual Studio, Windows NT
1993 - 1997
Assistant to the President, Digital Instruments, in Santa Barbara. (see above) I
feel quite fortunate to have worked directly for Dr. Virgil Elings. He's one of
the most brilliant men around, and quite a colorful character. In 1993, I appli
ed to work as a programmer. He asked me to focus on the organization & support o
f a patent infringement lawsuit against a competitor. That work included: analys
is of the competitor's hardware and software, summarization of complex evidence,
financial analysis of damages, correspondence with attorneys, etc. I developed
various databases for tracking patents and legal documents. Additional projects
included: analysis of contracts and license agreements, patent and trademark app
lications and administration, proposal writing, and financial projections for fe
deral research grants. As the lawsuit ended, I asked to transition back into pro
gramming for DI's main products.
1993
Technical Writer II, Engineering, PulsePoint Communication (Formerly Digital Sou
nd Corporation (DGSD) Manufacturer of high-capacity network-based message proces
sing systems). Job description: "participated in the product design and developm
ent cycles for DGSD's software products, to identify, design, create and maintai
n required documentation." My primary focus was on DGSD's extensions to UNIX and
the "Systems Services" layer between the operating system and custom applicatio
ns. Required knowledge of UNIX, C, C++, and object-oriented analysis & design me
thodologies. Wrote test programs, shell scripts, and created sample programs for
user manuals and tutorials.
1992 - 1993
Technical Reviewer, Intellimation (educational software publisher), on a part-ti
me basis. Performed technical review and software testing of new educational sof
tware. Prior to 3/9/93: Technical Evaluation Coordinator, 30 hrs/wk. Performed t
echnical reviews of new educational software, finding bugs and suggesting improv
ements. Provided technical and programming assistance to developers. Required sk
ills in HyperCard and C programming. Plus technical support. Started using Linux
0.99 at home, in order to learn more about UNIX and C programming.
1988 - 1992
Consultant, Michael Kelley Harris Special Project Services for Investors, Entrep
reneurs, and Strategic Managers. (dba Venture Analysis until 1992) Services in
cluded: feasibility analysis, due-diligence, research, project management, prop
osals, writing, programming, etc. Prepared business plans for four limited partn
erships to raise a total of $3,000,000. Prepared large spreadsheets for investme
nt analysis. Created databases for clients wanting contact info, marketing plans
, etc. As necessary, hired professional associates, sub-contractors, and assista
nts. Worked very hard and learned a lot. Developed a deep appreciation for the
entrepreneurial risks and creations of others.
1985 - 1988
Physics student. University of California at Santa Barbara. Worked P/T for Bri
an Beebe, Colin Gray, and private collectors, fabricating, framing, and installi
ng contemporary art. Started studying C programming.
1985
Programmer/analyst. International Transducer Corp. Created computer models for t
he design of piezo-electric ceramic transducers, based on Bessel functions of ha
rmonic resonance. (BASIC)
1983 - 1985
Economics/Mathematics Student. University of California. Some freelance investme
nt research, analysis, due-diligence services. (Didn't make much money. Learned
a lot.)
1983
Programmer/analyst. VentureSim. Programming of Monte Carlo simulation and analys
is of oil & gas well investments, in BASIC and Lotus 123.
pre 1983
Numerous other jobs and small service businesses. (Including programming in Pasc
al, APL, Fortran, and assembly.)
EDUCATION
* B.S. Physics '88, University of California, Santa Barbara
* B.A. Economics-Mathematics '85, with High Honors; University of California, Sa
nta Barbara. (22 units of Computer Science, 4.0 gpa)
* 2000-2001 UCSB 12 units of Computer Science courses in Data Structures & Algor
ithms, and Numerical Analysis
* U.C.S.B. Extension Certificate in Object-Oriented Programming awarded August 1
998.
* SEI Software Architecture Professional. Certificate April 2005. (SEI Softwa
re Architecture Certificate Programs)
PATENTS:
Participated in the invention of a number of methods and instruments within the
field of atomic-force microscopes, including:
* United States Patent 7,334,460, issued February 26, 2008, "Method and appara
tus for manipulating a sample"
* United States Patent 7,040,147 B2, issued May 9, 2006, "Method and apparatus
for manipulating a sample"
* United States Patent 6,862,921 B2, issued March 6, 2005, "Method and apparatu
s for manipulating a sample"

CONTINUING EDUCATION:
* 2009 Feb. 9-11. Linux Device Driver Development. LinuxCertified. Santa Clara,
CA
* 2008 November 17-23 LINUX-LPIC1 7-Day Linux Boot Camp. (Linux system adminis
tration, vender neutral, leading to Linux Professional Institute Certification L
evel 1 (LPIC-1)) Unitek. Fremont CA
* 2008 November 12-14 Embedded & Real Time Linux Development course. (ARM9 AT91
, Eclipse) LinuxCertified. Santa Clara, CA
* (gap in courses and conferences due to some family health challenges, and incr
eased contract work to pay for the health challenges.)
* 2005 Fall - 2006 Spring. Design Patterns study group at Veeco Instruments. I
started this in the Fall of 2005, inspired by Joshua Kerievsky's Learning Guild
to Design Patterns. Weekly meetings to discuss one pattern and how it can be app
lied to Veeco's instrumentation-control software. We've been through the 23 patt
erns in the GOF book Design Patterns.
* 2006 Spring - Software Design Patterns, Santa Barbara City College, CS165. Gra
de A Language: Java & SWT, Eclipse
* 2005 Oct 16-20 - OOPSLA conference. (www.oopsla.org) Tutorials on Storytest Dr
iven Development by Max Baumann and Ken Scott-Hlebek; Tuning Your Methodology by
Alistair Cockburn; Domain-Driven Design by Eric Evans; and Patterns for Introdu
ding New Ideas by Linda Rising and Mary Lynn Manns.
* 2005 July 24-29 - Agile2005 conference in Denver. www.agile2005.com
* 2005 April 12-13 - Software Engineering Institute (SEI) - Software Architectur
e Design and Analysis, by Len Bass and Robert Nord.
* 2004 December 1-2 - Carnegie Mellon Univ., Software Engineering Institute (SEI
) - Software Product Lines, by Linda Northrop (Director of the Product Lines pro
gram.) (http://www.sei.cmu.edu/products/courses/spl.html)
* 2004 October 23-28 - OOPSLA in Vancouver BC. Tutorials by Joshua Kerievsky, Sc
ott Meyers + Kevlin Henney; Plus keynotes by Ward Cunningham, Alan Kay, Steve M
cConnell, etc.
* 2004 September 29-30 - Carnegie Mellon Univ., Software Engineering Institute (
SEI) - Documenting Software Architectures, by Len Bass and Felix Bachmann
* 2004 September 27-28 - Carnegie Mellon Univ., Software Engineering Institute
(SEI) - Software Architecture Principles & Practices, by Len Bass and Rick Kazma
n
* 2004 August 15-18 - XP Agile Universe Conference in Calgary (Many good present
ations and workshops.)
* 2004 three-day course in "Advanced Object-Oriented Design with Patterns" by Ja
mes Grenning of ObjectMentor. Language: Java.
* 2003 October 26-28 - OOPSLA in smoky Anaheim California. Tutorials on product-
line architecture, large-scale architecture, design patterns for high-performanc
e systems.
* 2003 August 10-13, XP Agile Universe Conference in New Orleans. (Many good pre
sentations and workshops.)
* 2003 Fundamentals of the .NET Framework. U.C.S.B. Extension Summer qtr, 1.5
units. A.
* 2002 three-day course in "Test-First Design and Refactoring", by Robert Koss o
f ObjectMentor.
* 2002 two-day course in planning via "Extreme Programming", by Robert Martin of
ObjectMentor.
* 2002 one-week course in "Extreme Programming". ("XP Immersion"), by Robert Mar
tin and Ron Jeffries of ObjectMentor. Language: Java.
* 2001 Organizational Management, U.C.S.B. Extension
* 2001 Legal Aspects of Employment Practice, U.C.S.B. Extension
* 2001 Principles of Performance Management, U.C.S.B. Extension
* 1998 The C++ Standard Template Library. U.C.S.B. Extension Fall qtr, 2 units.
A.
* 1998 Design Patterns. (C++ & Java) U.C.S.B. Extension Summer qtr, 3 units. A
.
* 1998 Introduction to UNIX. U.C.S.B. Extension Summer qtr, 3 units. A.
* 1998 Java II Fundamentals. U.C.S.B. Extension Spring qtr, part 2, 2 units.
A.
* 1998 Java I Fundamentals. U.C.S.B. Extension Spring qtr, part 1, 2 units. A.
* 1998 Advanced Object-Oriented Programming with C++. U.C.S.B. Extension Sprin
g qtr, 4 units. A+.
* 1998 Programming Windows 95/NT using Microsoft Visual C++. U.C.S.B. Extension
Winter qtr, 3 units. A+.
* 1998 Object-Oriented Programming with C++. U.C.S.B. Extension Winter qtr, 3 u
nits. A.
* 1997 Object-Oriented Analysis & Design (emphasizing UML) U.C.S.B. Extension F
all qtr, 3 units. A.
* 1993 Object-Oriented Analysis and Design, GE Advanced Products Center, using O
bject Modeling Technique (OMT). FT 2-week course.
* 1992 Science and Macintosh Conference, U.C.S.B. Extension 20 hours
* Reading lots of books and articles.

COMPUTER LANGUAGES & SKILLS:


* Languages: main: C++ and Python. others: Java, Basic, Ruby, Pascal, PDP 11/45
assembly, APL
* Linux skills and interests: Summary: Long-term interest. Limited professional
use. More academic and personal use. Growing interest and skills. Details: I'v
e wanted to develop software on Linux systems since at least 1993. Pre 1993, I'
d used some forms of UNIX (Sun, NextStep, etc) in programming courses, and liked
it. In 1993, I installed Linux 0.99 on my 386 and wrote simple user-level prog
rams in C. I used UNIX SysV briefly at Digital Sound. When I moved to Digital In
struments to work on their amazing atomic-force microscopes, I tried to convinc
e the team to use some form of UNIX (Linux or BSD) instead of Windows. I used Li
nux for small personal projects. In 1998, I took a UCSB Extension course in Unix
Admin. I used various forms of UNIX and Linux in UCSB computer science courses.
(user-level C & C++ programs) I did a contract project porting design-patterns
lessons to Linux for courses taught at Google. In Nov. 2008, I attended a conce
ntrated 3-days of training in Embedded and Real-Time Linux. I attended a 7-day b
oot camp in Linux administration. In Feb 2009, I attend a 3-day course in Linux
Device Driver Development. In 2010, I spent three months working on user-space
drivers for SunEdison, adding error-status information. Tools used included C++
, Ruby, Python, Bash shell, g++, gdb, cmake, ctest, chroot, glib, D-Bus ( dbus )
. I look forward to working on many more Linux projects as my skills grow.
* Graphics libraries: Most used: MFC, Zinc Also used: SWT, wxWidgets (wxWindow
s), wxPython, Tk
* Significant professional work in: C++, C, MFC, Python, user-interface design,
test design, unit-testing (CppUnit and unittest.py), numerical modeling & simula
tions, database analysis/design/programming (FileMaker Pro. Paradox, ...), compl
icated spreadsheets (Excel, Lotus 123), BASIC, HyperCard.
* Course work in: OOA, OOD, design principles, design patterns, C++, C, Java, MF
C, SWT, Pascal, Unified Modeling Language (UML), UNIX, FORTRAN, PDP 11/45 assemb
ly, APL.
* Limited professional use: Java (Java to COM bridge), Visual Basic, Ruby, Matla
b, TCL/TK, HTML, XML, Javascript, Galil, UNIX shell.
* Significant study and practice in: Design principles, design patterns, archite
cture in general, product-line architecture, test-driven development, FIT framew
ork for acceptance tests, Fitnesse, refactoring, Python
* Additional study: Linux, embedded systems, Squeak, etc. etc.
* Demos of software development: http://www.kelleyharris.com/software/demos/demo
s.html
* Demo programs available: Java, Python
* Unit test frameworks used: JUnit, CppUnit, CppUnitLite, Boost Unit Test, NUnit
, CppTestKit, plus a variety of custom and home-grown forms
* Computer system admininstration experience: Over the years, I've setup numerou
s development and test systems with various operating systems (Windows 3/95/NT/2
000/XP, Linux 0.99, Red Hat Fedora 3+, Ubuntu 6+) Virtual PCs via VMWare (Works
tation and Fusion). Installed applications, development tools and test tools.
Replaced hard drives, memory, and boards.
ASSOCIATIONS
* ACM - Association of Computing Machinery, www.acm.org
* IEEE - Institute of Electrical and Electronic Engineers, www.ieee.org
* The Agile Alliance, www.agilealliance.org
* Agile Project Leadership Network (APLN), www.apln.org
* Worldwide Institute of Software Architects, www.wwisa.org
* International Association of Software Architects, www.iasarchitects.org
* Central Coast MIT Enterprise Forum, www.centralcoastmit.com
* Santa Barbara Agile Developers, www.c2.com/cgi/wiki?SantaBarbaraAgileDeveloper
s
OTHER BIG INFLUENCES
* Permaculture - a design system for creating sustainable human settlements.
* Cancer battle of my life partner. http://www.kelleyharris.com/notes/cancer/ca
ncer.html
* High School in Aspen Colorado. A first glimpse of a broader world and entrepr
enurial thinking.
ATTRIBUTES
Conscientious, diligent, and creative. A generalist by nature, but with specific
skills. Sensitive to both the opportunities and frustrations of innovation. Bel
ief in thoroughness and full disclosure.
READING:
Recent influential reading:
* Refactoring to Patterns, by Joshua Kerievsky
* Fit for Developing Software - Framework for Integrated Tests by Mugridge & Cun
ningham
* Head First Design Patterns by Eric Freeman & Elisabeth Freeman with Kathy Sier
ra & Bert Bates
* Working Effectively With Legacy Code, by Michael Feathers.
* Lean Software Development, by Mary Poppendieck and Tom Poppendieck
Frequently referenced reading:
* Refactoring: Improving the Design of Existing Code, by Martin Fowler.
* Design Patterns, by Erich Gamma, et al
* Agile Software Development: Principles, Patterns, and Practices, by Robert C.
Martin.
* Extreme Programming Explained: Embrace Change, (version 1 & 2), by Kent Beck
* Large-Scale C++ Software Design, by John Lakos
* Effective C++ series, by Scott Meyers.
* UML Distilled, by Martin Fowler
* Pattern-Oriented Software Architecture, Volume 1: A System of Patterns, by Bus
chmann, et al.
* Writing Effective Use Cases, by Alistair Cockburn
* Agile Software Development with Scrum, by Ken Schwaber and Mike Beedle
* "Who Needs an Architect?", by Martin Fowler
* Ward Cunningham's wonderful Wiki community www.c2.com
WRITING:
* http://www.kelleyharris.com/notes/cancer/cancer.html
* http://c2.com/cgi/wiki?DevelopersWithHighProductivityTenxHundredxThousandx
* http://c2.com/cgi/wiki?SoftwareDesignPatternsIndex
* http://www.c2.com/cgi/wiki?AgileLessonsFromTheSei
* http://www.c2.com/cgi/wiki?ModelDrivenDevelopmentOfDataAcquisitionAndControlSy
stems
* http://www.c2.com/cgi/wiki?TwoKeyboards
* http://c2.com/cgi/wiki?KelleyHarris
* Plus other wiki and blog entries.
REFERENCES:
* "Kelley Harris is meticulous, efficient, an excellent communicator and a talen
ted software engineer. When Kelley is helping us with projects, we know that gr
eat work is getting done and we rest easy, knowing our dollars are being spent w
isely." -- Joshua Kerievsky, President of Industrial Logic, and author of Refact
oring to Patterns www.industriallogic.com
* "I was Kelley Harris's manager for his last two years at Veeco. Kelley sets a
great example to other developers with his excellent work ethic, his desire for
knowledge, open mindedness, desire to use good designs and not take shortcuts,
and in unit test development. Kelley is very effective at pair programming, and
loves to share his many ideas for better software development. Kelley is very
focused on the task at hand, which combined with his software knowledge and expe
rience results in high productivity." -- Matt Rinta, Senior Software Engineering
Manager, Common Assets Group Veeco Instruments, Inc
* "Kelley Harris made numerous contributions to our state-of-the art atomic forc
e microscopes, and lead several software projects that had crucial technical and
business impact. He is both meticulous and passionate about creating the best p
ossible product, with the user experience front and center." -- Ken Babcock, CEO
, Affinity Biosensors, and former Vice President of Research and Development and
General Manager, Digital Instruments/Veeco Research AFM
* "I worked with Kelley Harris, for many years, in a range of different capaciti
es. Kelley has a great perspective on software development wanting not only to p
roduce great code but also having a high level of focus on creating something th
at fits the business and customer needs. Kelley was constantly searching for way
s to improve our productivity and brought several changes to our software develo
pment process that had a great impact on customer satisfaction." -- Kevin Kjolle
r, VP, Product Development, Anasys Instruments, former Director of Engineering,
Veeco Metrology, Research SPM
* "Kelley Harris helped make MasterWriter an award-winning success. From the inc
eption, and throughout eight years of evolution, he continually provides critica
l technical and business insights, that strengthened the product and business. W
hile others certainly helped, MasterWriter simply would not exist today without
Kelley's thoughtful contributions." -- Micheal Towers, Creater of MasterWriter,
www.masterwriter.com
* "Kelley is an incredible resource into Agile methodologies -- what works, why
it works, and how to implement. We have engaged Kelley to prepare materials, giv
e technical guidance, and facilitate adoption of key practices into our organizi
ation. We enjoy working with Kelley and would highly recommend him to others. "
-- Jonathan Siegel, Founder and CEO, ELC Technologies
* "Kelley helped us with a prototype project. His focus on the requirements and
great communication helped us quickly get software that worked the first time."
-- Kevin Kjoller, VP, Product Development, Anasys Instruments, www.anasysinstrum
ents.com
* "I had the pleasure of working with Michael (Kelley) Harris for almost 15 year
s at Digital Instrument and Veeco. I first worked with him on intellectual prop
erty matters where Michael showed his keen analytical skills and attention to de
tail. Later we worked together for many years on scientific instrumentation and
automated metrology tools. Michael was always dedicated to ensuring top perfor
mance of our instruments by creating top notch software and software development
methods in support of these goals. Michael was awarded several patents and was
a key contributor to the development of many successful products during his tim
e at Digital Instruments and Veeco." -- Craig Prater, PhD, CTO, Anasys Instrumen
ts
* "Kelley worked at Veeco Metrology from 1993 through 2008. During his tenure at
Veeco he worked in the software development area from 1997 though 2008. As a So
ftware Developer, Manager of Software Development and Director of Software Devel
opment, he was (and is) a talented, thorough, detail oriented contributor to Vee
co Metrology's core products. He was and is a consistent advocate of researching
and applying new software development methodologies such as agile development i
ncluding test-driven development, pair programing, continuous build systems, etc
. Kelley was the key developer responsible for Veeco Metrologies' highly success
ful Vx platform and product line. He similarly contributed individually or as a
team member to many other software products. Kelley worked for me for much of hi
s tenure at Veeco and I always found him honest, highly communicative, and motiv
ated to develop and ship the best product possible. He could always be counted o
n to provide synergism, energy and an entrapenurial spirit to any project." - Bo
b Dutcher, Senior Software Engineer, Veeco Instruments, Inc.
* "I am writing in recommendation of employment for Kelley Harris. I am current
ly a Staff Software Engineer at Veeco Metrology where I have worked with Kelley
for several years on a corporate effort to create a common software platform acr
oss Veeco's business units. Kelley's contributions to this Common Assets Group
were invaluable and he was a leader in guiding the Santa Barbara business unit t
owards adoption of the common software platform. Kelley has a great work ethic
and has proven himself capable of taking initiative to move things forward. Kel
ley was always the most thorough reviewer taking the time to really scrutinize c
ode and design and make recommendations to improve quality. Kelley also has mad
e sure he is up to date with the latest software paradigms and is able to evalua
te their potential value to projects. For example, Kelley originally suggested
we look at adopting the boost C++ libraries as an integral part of our common pl
atform which has proven extremely useful. In summary, I believe Kelley Harris w
ould be a valuable software engineering asset for any organization and I recomme
nd him highly." -- J.D. Herron, Staff Software Engineer, Veeco Inc.
* "The purpose of this reference to provide useful information to those who migh
t consider engaging Michael Kelley Harris as a new hire. First I have worked clo
sely with "Kelley" as a peer for over ten years and have not come across an empl
oyee that I would recommend more highly due to his desire to provide the best qu
ality results to a project. He has gone far and above what would be expected fro
m most employees and has endeavored to stay current with the software community.
He has acquired a great deal of expertise in C++, STL, Agile software methods,
Design Patterns, etc. during his fifteen years here at Veeco. He has done this m
uch on his own accord via conferences, reading, and investigations mostly on his
own initiative and at his own expense often at times outside the normal work ho
urs. Kelley has a very strong work ethic, excellent communications skills (both
written and oral), deft organizational skills, and all exercised with the most p
ositive outlook on what is at hand. During his tenure at Veeco, he has been a ma
jor player in many very large projects including the development of the first ev
er Atomic Force Profiler, the NanoMan project (which led to three patents he rec
eived), the Veeco Architecture Migration Project, and the Common Assets group wh
ere his leadership has been a very valuable contribution. In conclusion, I would
expect that any employer considering Kelley should seriously attempt to acquire
his services and I would be available to discuss this further at their request"
-- John Richards, Senior Software Engineer V, Veeco Instruments, Inc.
* "Kelley is a proponent of many state of the art software engineering practices
. Due to his suggestions and mentorship, I learned OO Design Patterns, Agile Pro
gramming, automated unit test frameworks and automated build and test integratio
n systems. This has made me a better software engineer. If you want a hard worki
ng, OO Design knowledgeable, smart and capable senior software engineer, I would
recommend hiring Kelley. He is a firm believer in agile programming with contin
uous incremental improvement and well tested code. He used his skills to greatly
simplify, strengthen and improve the architecture and user interface software o
f the major application developed at Veeco. I also valued Kelley as a sounding b
oard and advisor during various technical and business issues that would come up
during my tenure at Veeco and always valued his opinion. Kelley is kind and tho
ughtful, and was a great manager to work for." -- Blair Whitney, Director of Sof
tware Engineering, Intouch Health, former Senior Software Engineer, Veeco Instru
ments
* "During my past 4 years working at Veeco Instruments, I have knocked on Kelley
Harris's door numerous times when I have a question about COM, design patterns
and other software development methodologies. His constant learning, his willin
gness to share and help, and his vast collection of software programming books e
asily made him the 'resident professor' we can count on. I have also interacted
with Kelley as a 'customer' when we needed feature changes and bug fixes in the
Veeco Common Assets library. His dedication, meticulous unit tests, made the o
therwise long and painful process, shorter and easier to bear for us." -- Ji Ma
, Senior Embedded Software Architect, Veeco Instruments.
* "Kelley Harris is a first-rate highly-motivated, knowledgeable, and talented s
oftware engineer. Throughout the years that I have worked with him I have seen h
im contribute to our software team in ways that can not be measured in lines of
code. He has contributed much in terms of process, insights, introducing cutting
edge techniques, and a relentless commitment to building quality software." --E
frain Olivares, Quality Engineering Lead, Veeco Instruments
* "I had the good fortune to work with Kelley on a complex software project invo
lving the refactoring of a large body of instrumentation software. Kelley helpe
d us to get the project funded and launched. We
pursued four main program thrusts: architecture, development process, automated
testing, and skills development. In each of these areas, Kelley contributed val
uable ideas that influenced the program and
improved the quality of work that was accomplished. His approach to problem sol
ving is thoughtful and well considered. He tracks software technology trends, a
nd is a tireless advocate for best known approaches,
especially in software development process. I learned to trust his opinions and
to rely on his assessments."
- John Wissinger, PhD, VP Optical Industrial Metrology, Veeco Instruments
* "I worked with Kelley Harris for many years at VEECO Metrology. He, more than
anyone, was responsible for bringing the importance of Software Processes and b
est practices to the attention of management, and getting those processes and pr
actices implemented. He has kept abreast of developing software methodologies a
nd is the source for getting information about new software developments. He ha
s exhibited exemplary leadership and mentoring in this area". -- Hanspeter Adam,
Senior Software Developer, Infogenesis
* "I worked with Kelley for nearly eight years at Veeco. Hiring Kelley will insu
re you of a thorough, dedicated, loyal employee who will passionately work with
your team to produce the software you areenvisioning. His constant thirst for k
nowledge keeps him up to date on all of the latest software development methodol
ogies which he is always willing to enthusiastically share with his fellow team
members. He will be a constant advocate for improvement with his ultimate missio
n to please the end user." -- Mandy McCoy, Senior Software Engineer, Veeco Instr
uments.
* "I had worked with Kelley for more than eight years since 2000. Either as my c
o-worker or my manager, he is very pleasant to work with. Kelley is a very patie
nt and open-minded humble person who is always trying to help and empower the pe
ople around him. As a software developer and leader, Kelley has profound knowled
ge on C++, Python, STL, Design Patterns, COM interface, MS Visual Studio and man
y programming practices. He always strives for the software quality, new softwar
e technologies and best programming practice. During his tenure at Veeco, he ha
ve made great contributions to our software assets: VX profiler with Nanoscope V
5, Nanoscope Version 6 user interface proto-type with VB6, Nanoscope V6 with MFC
, NanoMan Implementation and patents, Agile software practices, VAMP and Common
Assets. I highly recommend Kelley to any team that seeking for software quality,
current knowledge and productivity." -- Charlie Liu, Senior Software Engineer,
Veeco Instruments.
* "It has been a pleasure to work with Kelley for 15 years! He has been a lifes
aver to me here at work; an endless resource of information and support for one
of our more challenging software products. He is very patient, open-minded and
always ready to give his time to listen to you- by far the most approachable and
conscientious software developer with whom I have ever worked. I highly recomm
end working with him; he would be a great asset to any company." -- Lisa Fukunag
a, Applications Scientist, Customer Knowledge and Applications, Veeco Instrument
s
* "I have worked with Kelley and his software, for the past 9 years, so often ti
mes I find myself supporting a product that Kelley worked on. Of all the softwa
re engineer's whose code I "inherit," Kelley's projects are always the most orga
nized, clear and easiest to understand. His belief and adherence to sound desig
n methodologies makes his code a pleasure (relatively speaking) to support. Be
yond his competence and knowledge, however is his helpful and exemplary attitude
. While at Veeco, I have had 3 or 4 "formal" Software Engineering training oppo
rtunities' all but one were inspired and organized by Kelley. He made sure thes
e opportunities were available to me even though I worked for a completely diffe
rent business Unit. It is said "it's more important to hire someone with a good
attitude than experience and knowledge, as that can still be learned or acquired
. Whoever is lucky enough to find Kelley next, will have both. Any project or
team Kelley is on will be very fortunate and successful." -- Michael Lebell, Se
nior Software Engineer, Veeco Instruments.
* "I worked with Kelley on a Software Architecture Migration Project and I was i
nvolved with the definition and development of an automated software test framew
ork. Kelley always considered testing software very important and was always pro
moting unit/component and system level testing. He made sure he ran our automate
d tests to verify and regression test his code. Kelley is always up to date with
the latest ideas in the software development world and can always point you to
the right books to consult, when you have a software question. Kelley also organ
ized lunch sessions to discuss software design patterns which gave me a good int
roduction on the use of patterns. He has always been looking to improve software
quality and development methodologies here at Veeco with as a goal to make the
software users happy." -- Nathalie Guebels, Software Engineer, Veeco Instruments
.
* "Kelley and I worked together on the VAMP/Common Assets Group, DDTAF system-te
st framework, Common Data Analysis, and various bug chasing, etc. Kelley demonst
rated a high level of engineering proficiency during his work. The quality with
which Kelley performed various engineering tasks was excellent. His time at Veec
o was a great success. It was a very good pleasure to work with him." -- Jenny C
hoe, Software Engineer, Veeco Instruments, Inc.
* "I have worked with Kelley Harris from 1999 to 2008 at Veeco Instruments in th
e software engineering group. For two of those years, he was my manager. He is
an exceptionally knowledgeable and capable software engineer. He is very well ve
rsed in basic principles and techniques of programming as well as computer scien
ce. His passion for the field is evidenced by the fact that he is always open an
d actively engaged in learning. This passion extends to process issues as well a
s algorithm and language issues. He always seeks simple, thoughtful and elegant
solutions to problems while keeping business constraints in mind. He has true se
nse of the aesthetics of programming. As a manager and as a senior peer I've alw
ays found him to be a mature, humble person who is always willing to help others
. He has strived to drive change in our software development process and tried t
o inspire other programmers to learn more and work more efficiently. He has purs
ued that goal despite significant opposition with humor and grace. I have always
found the truly exceptional people in our field to be very open in a personal a
nd professional sense and Kelley reflects that in full measure." -- Rohit Jain,
Senior Software Engineer, Veeco Instruments
* "I worked closely with Kelley on a refactoring project for over 2 years. One p
erspective I would add here is that Kelley applies introspection. Long ago, I le
arned from a mentor that completing a development task, and meeting requirements
, is not the end-all for a professional software developer. Only through introsp
ection, self-observation of our practices and effectiveness, do we advance in te
rms of software methodologies and improved patterns. In Kelley I observed the mo
st dedicated application of introspection." -- Dan O'Connor, Software Architect,
Foliage
* "I worked with Kelley Harris over the course of several years and have always
admired his integrity and intelligence. I particularly appreciated these qualit
ies in my role as project manager for the Veeco Vx Atomic Force Profiler, a new
type of automated measurement system for the semiconductor equipment market. Un
der conditions of high visibility and short schedules, Kelley led the developmen
t of software for this new and complex machine. His ability to understand the r
equirements and willingness to go above and beyond the call, working at a high l
evel of intensity for many months, were key to the quick development and success
of the Vx program. Besides his skills as a software developer, Kelley is a cal
m and level-headed presence, unselfishly contributing to the success of any proj
ect." -- Tim Cunningham, Project Manager for the Vx Atomic Force Profiler, Veec
o Instruments
* "Kelley Harris is a senior software engineer that has the experience and perso
nality to handle high pressure situations with calm and sensible actions. Kelley
is a team player and a strong communicator who knows how to set priorities and
manage expectations. His interest in learning new things keeps his software skil
l set current and makes him very versatile." -- Ben Tsuruda, General Manager, Co
ld Spring Engineering
* "Kelley Harris brings to the table a deep knowledge of the ins and outs of C++
as well as the practical experience required to use its power safely. His forw
ard-thinking attitude and his diligent dedication to whatever he's working on ma
ke him a pleasure to work with. As a telecommuter myself, I can also attest to
his highly effective communication skills." -- Evan Mezeske, Lead Embedded Softw
are Engineer, SunEdison

You might also like