Michael
Kelley Harris - Resume
("Kelley", since
there are so many Michaels.)
kelley@kelleyharris.com
650-485-1203,
Palo Alto, California
805-895-0634,
Santa Barbara, California
SUMMARY
 
Agile/Scrum Trainer, Coach, and Developer. Software Engineer with 20+ years of
hands-on software development experience. 
Helping organizations create more value, faster, with less risk. Using
Agile, Lean, Scrum, Lean Startup, Design Thinking, and whatever helps teams
move forward.  Steeped in principles
& practices from Agile/Lean, Kanban, and Lean Startup.  Moving focus from the “how” to the “what.”
Industries include: nanotechnology, scientific instrumentation, energy,
automotive safety, Agile methodologies, finance, investment, education, etc.
Design patterns, SOLID principles. Spirit of help, service, collaboration, and
innovation. Enjoy sharing knowledge via Agile/Lean/Scrum consulting, training,
and coaching.  Certified Scrum Trainer
(CST), Deep experience with C++ (15 yrs) and Python (10 yrs). Many other
technologies used including java, C#, C, ruby, javascript, CSS, HTML,
CoffeeScript, SQL, etc.  
BS Physics,  BA Math/Economics, University of California,
Santa Barbara.  Plus 34 units of Computer
Science courses.
 
Lean Startup skills & training: I've read The Lean Startup book
twice. Attended two Lean Startup conferences. Use the principles on my own
product ideas. Attended two Lean Startup Machine weekend workshops.  Mentored & judged at Lean Startup Machine
workshops. Incorporating Lean Startup topics in the courses I teach and
consulting.
 
Design skills &
training: software design, industrial design, product design, graphic design,
participatory design, permaculture design, drawing, sculpture, animation, etc.
 
Special Interests: Sustainability, Green
Energy, Internet of Things, Innovation, Science, Permaculture, Health,
Nutrition, and Music
 
 
ACCOMPLISHMENTS
 
 - Lead
     developer for the world's first commercial nano-manipulation
     software.  NanoMan (Application software and GUI.  Inventor on
     patents: US 6,862,921, US 7,040,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
     software and control GUI.) The product led to >$50 Million in
     additional annual sales.
 
 - Proposed
     and secured a $6M investment for software architecture improvements and
     commonality across multiple business units in Veeco Instruments.
 
 - Completed
     a GUI prototype to win Veeco a $10 Million order from IBM. 
 
 - Macworld
     Best-of-Show award for MasterWriter. 
     (Consultant from concept to release.)
 
 
 
HIGHLIGHTS
 
 - Agile, Lean, Scrum, and
     Lean Startup values, principles, and practices.
 
 - Sweet spot
     context:  rapid innovation  (unknown solution, high uncertainty)
 
 - Languages
     most used: C++ (15 yrs), Python (10 yrs) 
     Other languages used professionally: Java, Javascript, JQuery, Coffeescript , Ruby,
     HTML, HTML5, C#, Perl, Tcl/Tk, Academically: APL, Awk, Pascal, Fortran,
     etc.
 
 - Agile
     and Scrum experience since 2002 XP Immersion, courses, books, conferences,
     plus work as a trainer, coach, and consultant. Used 15+ unit-test
     frameworks, contributed to early Fitnesse, and the Federated Wiki.
 
 - Strong
     at test-driven development (TDD), refactoring, and breaking up large changes
     into small gradual steps.
 
 - Continuous
     Deployment (aka Continuous Delivery): interest and study.
 
 - Lean
     Startup experience: Read the book, two Lean Startup Machine workshops,
     Lean Startup Conference 2012. Plus additional discussions, readings,
     videos, and experiments.
 
 - Domain
     experience: Scientific instrumentation, nanotechnology, finance,
     investment, real estate, software engineering training (design-patterns,
     refactoring, unit testing), music, automotive diagnostics, solar energy,
     education, Agile methodologies.
 
 - Business
     experience: 6+ yrs project management, 10+ years consulting, 4 yrs line
     management, 4 yrs staff management. Modest entrepreneurial attempts for
     both products and services. (Great appreciation for the challenges.)
 
 - Spirit
     of rapid innovation and collaboration. Many years of experience
     participating in organized brainstorming meetings, invention meetings,
     general “Design Thinking” that’s empathetic and collaborative, plus more
     casual on-going brainstorming, collaboration, and mentoring discussions.
 
 - Design
     training and experience in multiple forms: software, product, real-world,
     participatory, community, Permaculture, graphic.
 
 - Education:
     B.S. Physics UCSB. B.A. Economics-Math UCSB.
     Includes 34 units of Computer Science. Plus continuing education in
     software.
 
 - Certifications: 
     SEI  Software Architecture
     Professional 2005  U.C.S.B. Extension  
     Certificate in Object-Oriented Programming 1998; Certified Scrum Trainer (CST); Certified
     Scrum Professional (CSP), Certified ScrumMaster (CSM), Certified Scrum
     Product Owner (CSPO), Certified Scrum Developer (CSD), ICAgile Certified
     Professional - Agile Coaching (ICP-ACC), ICAgile Certified Professional -
     Agile Team Facilitation (ICP-ATF), 
 
 - Professional
     interest: Work with entrepreneurial teams focused on delivering value
     early and often.   Hands-on software development with cooperative
     teams, employing best practices drawn from the Agile community, Scrum,
     “Lean Startup”, SEI, Lean manufacturing, Kanban, etc.  Interest in
     open-source software in general and Linux in particular. (Linux skills) 
 
 - Why
     software?: As software increasingly controls our technological world
     (including planes, medical devices, and financial transactions), it
     becomes increasingly critical to rapidly develop software that is
     economically efficient, high quality, and adaptable to change.  I
     accept this as an on-going professional and personal challenge.
 
 - References and testimonials from managers,
     colleagues, and clients. (At end of resume.) 
 
 - Demos
     of software development: http://www.kelleyharris.com/software/demos/demos.html
 
 
WORK
EXPERIENCE
 
2004 - present
Agile Coach, Trainer, & Developer.   SourceCell – Agile/Lean/Scrum consulting,
coaching and training. (Certified Scrum Trainer (CST))  Custom software development, delivered in
weekly increments of growing functionality.  Frequently helping teams add
more unit tests and refactor difficult sections of code. (Keywords: Senior
Software Engineer, Architect, Agile Coach, Agile Trainer, Agile Consultant)  See Client projects
& comments...   Sample projects include: 
 
· Scrum Training &
Coaching. Description: Training Courses    Calendar of courses:  Calendar
 
· Agile Coaching and
Firmware development. New platform for the children’s education. Game-like
platform with TV console, plus separate game-like controller. Technology:
C/C++, Embedded Linux on ARM. C on 8051. Bluetooth.
 
· Agile Training &
Coaching for Cisco, as part of a company-wide Agile transformation. 
 
· Agile Training and
Coaching for PayPal, via SolutionsIQ (US & India)  Part of an Agile transformation for all of
PayPal. Taught various one-day courses including Basic Agile (Scrum),
ScrumMaster Skills, Product Owner Skills.
 
· Agile Coaching re
automated tests and refactoring of a special code base. Python.  Company: Calient Technologies
 
· Analyzed requirements and
architectural options for a scientific/medical application that does camera
capture, image editing, and annotations. 
Recommended investigating an HTML5/Javascript/C++ approach, instead of
current use of C++.  Company: Giles
Scientific
 
·  Software development help for Ward
Cunningham’s new Smallest Federated Wiki open-source project. (https://github.com/WardCunningham/Smallest-Federated-Wiki.git)  It’s been a great pleasure to interact with
Ward over the years at conferences, email, etc. This project has been a chance
to work more closely, see how Ward thinks, pair program, etc. I worked on a
variety of features, including an image-analysis plug in for measuring pattern
efficiency of a manufacturing process, to lessen material waste.  Very Agile. Tools: Javascript, Coffeescript,
JQuery, Node, Ruby, Mocha, Sinatra, HTML5, JSON, etc.
 
·  Architecture and implementation for a
client-server web-based data-collection system. Created various Python
applications on client and server, to handle the data collection, white
listing, and later processing. Designed the XML schema design for a data file.
Designed the XML schema design for data-transfer metadata bundle.  Server configuration. Apache configuration.
Linux and Windows. SSL configuration. Etc. Agile approach. (Scrum project plus
XP testing & refactoring.)  Company:
Bosch, Automotive Diagnostics Division. Tools: Python, XML, Apache
 
·  Agile/Lean/Scrum coaching and
consulting in collaboration with Industrial Logic.
(http://www.industriallogic.com/)  
Sample engagement: Help a team utilize test-driven development (TDD) in
C++ and Python, and advise on other Agile practices. Schlumberger (http://www.slb.com/)  Industry: Oil & Gas Services  Group: 
Physicists in the oil-well Interpretation Engineering Group
 
·  Agile coaching for a
Ruby-on-Rails company in transition to more Agility. (Scrum plus XP
practices).  Advised the team and owner.
Prepared summaries of practices. 
Company: ELC Technologies.
 
·  Created application
to automatically extract and transform automotive specification data, as part
of an extract, transform, and load (ETL) process.  Created a Python application to read Excel
spreadsheets (workbooks with multiple sheets), and transform the data to the
needed form and load the database. (Scrum project plus XP testing &
refactoring.)  Company: Bosch, Automotive
Diagnostics
 
·  Create automated test
frameworks for an important Visual Basic 6.0 product. After assessing existing
frameworks, created a simple unit-test framework used on the class/function
level and subsystem level.  Added over a
1000 tests, and helped refactor the code to help an important new feature
set.  Added system-level test mechanisms
for regression testing.  Created Python
scripts to validate structure and content of an evolving SQLite database. (Scrum
project plus XP testing & refactoring.) 
Company: Bosch, Automotive Diagnostics Division.
 
·  Server
optimization.  Compare current Java
solution to a C++ implementation. Created the C++ version and ran performance
benchmark tests.  Extreme Programming
(XP) approach. Company: EZX Inc. (http://www.ezxinc.com/)  Industry: Financial trading infrastructure. 
 
·  Architecture and implementation for
the first data-driven approach to handling specification information used in
Crash Data Retrieval (CDR).  Help the
team integrate this new approach in a very iterative way. Created a unit-test
framework and added numerous automated unit tests on both the class level and
the subsystem level. Plus Agile coach re planning, estimating, unit and
functional tests, project management. (Scrum project plus XP testing & refactoring.)   Company: Bosch (http://www.bosch.com/) Group: Automotive
Diagnostics.
 
·  Ported
design-pattern lessons from java on Windows to C++ on Windows and Linux, for
use in Refactoring to Patterns courses offered on-line and at  major
companies. (e.g. Google, HP, etc) For Joshua Kerievsky of Industrial Logic,   Follow-on
projects included porting C# lessons to C++. (Extreme Programming)
 
·  Enabled a C++ application
to interact with a SOAP web service to get special automotive-service
information. Additional features have been added as requested. (Scrum project
plus XP testing & refactoring.)  
Client: Bosch Diagnostics (subcontracted through Cold Spring Engineering)
 
·  Consulted for MasterWriter software since 1995. (ownership interest) 
MasterWriter software won a Best-of-Show award at MacWorld 2003.  (Scrum
project.)
 
· Worked on the FitNesse open-source project for
system testing. Wrote an early C++ addition to allow testing of C++ programs
using the Framework of Integrated Test. (FIT).)  (Extreme Programming project)
 
·  Evaluation of
development tools on iPhone versus Android-based mobile phones for use in a
monitoring-and-control application. Client: Bosch Diagnostics 
 
·  Added error-status
information to user-space drivers in embedded Linux monitoring systems for a
commercial solar-energy (photovoltaic) company. (SunEdison) 
 
·  Built simple web
sites. (e.g. www.worldsfare.com, www.tellmewhen.co,  www.spiritmtnart.com and the www.focusedgigs.com family of sites: www.aspengigs.com  www.afmgigs.com  www.agilegigs.com  www.cleantechgigs.com, etc.), and www.domaincells.com etc. Plus, working on a number of software product
ideas.  Tools: HTML, Javascript, CSS, Python  
 
·  Software
tools/technologies:  C++  (+ STL, Boost, templates), Java, Python,
C#, Linux, Bash shell, gcc/g++, gdb, make, cmake, ctest, chroot, XML-RPC, Javascript, JQuery,
Coffeescript , Ruby, HTML, HTML5, Eclipse, MS Visual Studio, Windows
NT/2000/XP/VISTA/Windows 7,  Mac OS X, Android, iPhone, Subversion, SOAP,
gSOAP, soapUI, COM, XML schema design, Ruby, Poco, D-Bus (dbus), Git, SQL,
SQLite, etc. See also Client projects
& comments...
 
2013 - 2014
Principal Consultant, ThoughtWorks, San Francisco, California.  Helping companies use Agile software
principles and practices, through training, coaching, and consulting. I was
ThoghtWorks’ only technical coach for North America. Client companies include:
Nike, CareerBuilder, Discovery, Carfax, Prudential, Dillard’s, Confluence,
CompareToMarket, Unibet, etc.  Trained
& coached around the US and Europe. Created training examples and exercises
in Java, C#, etc, using related web frameworks and tools.  
2008 – 2013
Principal Software Engineer, SourceCell (See full
description above for 2004-present, I worked for SourceCell continuously from
2004-present, full-time except where other associations are shown, During those
other associations, I worked for SourceCell part-time on special projects.  During 2008-2013, I worked full-time for
SourceCell.)
 
2003 - 2008
Senior Software Engineer IV, Veeco Instruments, Santa Barbara,
California.  (Acquired Digital Instruments
(DI))  Veeco is the world's leading manufacturer of atomic-force
microscopes (AFMs). (AFMs are the world's most powerful type of microscope.
They can "see" atoms. AFMs are used in many nanotechnology areas
including the development of solar cells, hybrid cars, biomedical innovations,
high-brightness LEDs, MP3 players, flash memory, etc.). My roles: Created and
initially managed 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 into an architectural development role. 
Responsibilities: Developed a common-data analysis package for use by multiple
business units. Development on a large architectural-migration project,
development of common: code, tools, and practices, for use by three different
business units and product lines. (Product-line architecture group). 
Service-Oriented Architecture (SOA) for precision equipment control, data
acquisition, and data analysis.  Work included: architectural design,
development, planning, budgeting, requirements analysis, use cases, component
design, implementation, unit & system test frameworks, etc. 
Agile/Scrum coaching. (Scrum
project plus XP testing & refactoring.) 
Moderated a design patterns study group with 7-9
participants.  (based on Joshua Kerievsky's model for patterns study
groups.)  Defined and developed an "Open Architecture" product
that enables customers to customize our main application via scripting and plugins. 
Removed 143,000 lines of no-longer-wanted-but-still-running legacy Zinc GUI
support from a flagship MFC application.  Software tools/technologies
used: C++  (+ STL, Boost, templates), MFC, COM, Python, Java, CppUnit and
unittest.py for unit-testing, Boost libraries, Eclipse, a custom data-driven
system testing using FIT-like approach (parsing Excel files and driving GUI
tests via Silktest and API tests via MS COM), PHPwiki for collaboration and
knowledge base, CruiseControl continuous build system, Perforce source control,
Serena Team Track for issues 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). Managed a $2 M department budget with 14 people.
Agile/Scrum coaching. (Scrum
project plus XP testing & refactoring.)  
Created proposals, plans, and presentations.  Requirements
analysis on multiple levels, including use cases. Technical work: Numerous
architectural projects. Developed initial version of the world's first
commercial software package for nanomanipulation and nanolithography NanoMan
Integrated the CppUnit unit-test framework into our main application.
Integrated a C++ version of the FIT framework for acceptance tests. (http://fit.c2.com) 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 general programming needed on
the company's main million-line application. Investigated 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 feedback to management.
Impressed with development using short-cycles, close customer involvement, and
unit-testing.  Established a library of  books for the software
department. Software tools/technologies: C++  (+ STL), C, MFC, CppUnit, MS
Visual Studio, Python, LabVIEW, TLIB, Windows NT/2000.  
 
1999 - 2002
Manager of Software Engineering , Research Products Group, Veeco Instruments
(See above) Manged six people. Accomplishments: Managed a major clean-up of the
main shipping legacy product. (6 months) Prepared plans to accommodate a major
reorganization of the business into two businesses, and two software
departments. Agile/Scrum coaching. (Scrum values and principles) Technical 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
complicated real-time data-acquisition and analysis system. ( (Atomic Force
Microscopes)  Accomplishments: Worked in the Software R&D group
helping develop the next-generation 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 profilometer, combining motion control, SPM data
acquisition, display, and analysis. It required lots of requirements analysis,
design, rapid prototyping, and user-interface design. It also involved the
integration of contributions from diverse personalities and the associated
practice in cooperation, communication, imagination, patience, etc. In
retrospect, the profilometer project was run in a very Agile manner, with daily
interaction between the person playing a Product Owner role and me as the
developer. We created a simple working version and iterated to add new features
as vertical slices through the system, and demoed the progress to stakeholders
weekly. Other projects include: analysis & verification of legacy
algorithms, designing test procedures, and random general programming that a
complicated 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
applied to work as a programmer. He asked me to focus on the organization &
support of a patent infringement lawsuit against a competitor. That work
included: analysis 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 applications and administration, proposal writing, and
financial projections for federal research grants. As the lawsuit ended, I
asked to transition back into programming for DI's main products. 
 
1993
Technical Writer II, Engineering, PulsePoint Communication (Formerly Digital
Sound Corporation (DGSD) Manufacturer of high-capacity network-based message
processing systems). Job description: "participated in the product design
and development cycles for DGSD's software products, to identify, design,
create and maintain required documentation." My primary focus was on
DGSD's extensions to UNIX and the "Systems Services" layer between
the operating system and custom applications. Required knowledge of UNIX, C,
C++, and object-oriented analysis & design methodologies. 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-time basis. Performed technical review and software testing of new
educational software. Prior to 3/9/93: Technical Evaluation Coordinator, 30
hrs/wk. Performed technical reviews of new educational software, finding bugs
and suggesting improvements. Provided technical and programming assistance to
developers. Required skills 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,
Entrepreneurs, and Strategic Managers.  (dba Venture Analysis until
1992)  Services included: feasibility analysis, due-diligence, research,
project management,  proposals, writing, programming, etc. Prepared
business plans for four limited partnerships to raise a total of $3,000,000.
Prepared large spreadsheets for investment analysis. Created databases for
clients wanting contact info, marketing plans, etc. As necessary, hired
professional associates, sub-contractors, and assistants.  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 Brian Beebe, Colin Gray, and private collectors, fabricating, framing, and
installing contemporary art. Started studying C programming. 
 
1985
Programmer/analyst. International Transducer Corp. Created computer models for
the design of piezo-electric ceramic transducers, based on Bessel functions of
harmonic resonance. (BASIC) 
 
1983 - 1985
Economics/Mathematics Student. University of California. Some freelance
investment research, analysis, due-diligence services. (Didn't make much money.
Learned a lot.) 
 
1983
Programmer/analyst. VentureSim. Programming of Monte Carlo simulation and
analysis of oil & gas well investments, in BASIC and Lotus 123. 
 
pre 1983
Numerous other jobs and small service businesses. (Including programming in
Pascal, 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, Santa
     Barbara. (includes 22 units of Computer Science) 
 
 - 2000-2001
     UCSB 12 units of Computer Science courses in Data Structures &
     Algorithms, and Numerical Analysis 
 
 - U.C.S.B. Extension Certificate
     in Object-Oriented Programming awarded August 1998.
 
 - SEI 
     Software
     Architecture Professional.  Certificate April 2005.  Carnegie
     Mellon University, Software Engineering Institute, (SEI Software
     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 apparatus 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
     apparatus for manipulating a sample"
 
 
 
CONTINUING EDUCATION
 
 - 2015,
     May 3-7, Global SCRUM GATHERING® 2015, Scrum Alliance, plus worked in the
     Coaches Clinic, Phoenix, Az 
 
 - 2015,
     April 17-19, Lean Startup Machine Workshop. Mentored. San Francisco area,
     CA
 
 - 2015,
     April 13-17, ICAgile Agile Coaching Bootcamp with Lyssa Adkins, Michael
     Spayd, & David Chilcott, Petaluma, CA
 
 - 2014,
     Dec 12-14, Lean Startup Machine Workshop. Mentored and judged it. San
     Francisco, CA
 
 - 2014,
     Dec 8-12, Lean Startup Conference, San Francisco, CA
 
 - 2014,
     November 20-21, Jeff Sutherland’s Certified Scrum Product Owner (CSPO)
     course in Boston. (I’m already a Certified Scrum Trainer. But since Jeff
     invented Scrum, I felt it was a good opportunity to hear it from the
     source, and see how he does the CSPO class.)
 
 - 2014,
     November 17-18, Jeff McKenna’s Certified ScrumMaster (CSM) course in
     Sunnyvale. (I’m already a Certified Scrum Trainer. But since Jeff was the first
     official ScrumMaster, and deeply experienced coach & trainer, I felt
     it was a good opportunity to hear it from the source, and see how he does
     the CSM class.)
 
 - 2014,
     November 15-16, Dr. Sanjeev Raman’s Certified Kanban Foundations Course by
     LeanKanban University
 
 - 2014,
     November 5-6, Mike Cohn’s Certified Scrum Product Owner (CSPO) course in
     Sunnyvale. (I’m already a Certified Scrum Trainer. But since Mike is a key
     thought leader Scrum, I felt it was a good opportunity to hear it from the
     source, and see how he does the CSPO class.)
 
 - 2014,
     November 3-4, Mike Cohn’s Certified ScrumMaster (CSM) course in Sunnyvale.
     (I’m already a Certified Scrum Trainer. But since Mike is a key thought
     leader Scrum, I felt it was a good opportunity to hear it from the source,
     and see how he does the CSM class.)
 
 - 2014,
     October 7, “Disruptive Leadership” by Dr. Jeff Sutherland.  San Jose.
 
 - 2014,
     September 25-26.  Jeff Sutherland’s
     Certified Scrum Master (CSM) course in Boston. (I’m already a Certified
     Scrum Trainer. But since Jeff invented Scrum, I felt it was a good
     opportunity to hear it from the source, and see how he does the CSM
     class.)
 
 - 2014,
     May 21-22,  O’Reilly Solid –
     Software/Hardware Everywhere. Internet of Things. San Francisco. 
 
 - 2014,
     May 9, Presenting Data and Information, by Edward Tufte. One-day course in
     San Francisco. 
 
 - 2013,
     May 16-17, Continuous Deployment Workshop in Mountain View, by Industrial
     Logic. Timothy Fitz from IMVU.
 
 - 2013,
     May 6-8, The Scrum Gathering in Las Vegas 
     (Scrum Alliance) Also volunteered in the Coaches Clinic.
 
 - 2013,
     May 2-3, Train the Trainers workshop, including Sharon Bowman’s Training
     from the Back of the Room. At the Scrum Gathering in Las Vegas.
 
 - 2013,
     Mar-April, Scrum cotraining with Bryan Stallings CST, Roger Brown CST, and
     Mark Levison CST. 
 
 - 2013,
     Jan 12-14, Certified Scrum Developer (CSD) 
 
 - 2013,
     Jan 10-11, Certified Scrum Product Owner (CSPO) 
 
 - 2012,
     Dec 10-14, Android Development Bootcamp, Marakana, San Francisco, CA
 
 - 2012,
     Dec 5 – Dec 6, Certified Scrum Master course, Redwood City, CA 
 
 - 2012,
     Dec 2 – Dec 4, Lean Startup Conference San Francisco, CA
 
 - 2012,
     Nov 30-Dec 2, Lean Startup Machine, weekend workshop. San Francisco, CA
 
 - 2012,
     Sept.  Two eLearning courses:
     Microtesting (unit testing in java) and Test-Driven Development  (java), Industrial Logic,
     http://www.industriallogic.com/elearning/
 
 - 2012,
     Sept. 7-9, Lean Startup Machine, weekend workshop. Santa Clara, CA.
     Pitched a business idea. Formed a team of five. Conducted four cycles of
     validation experiments, over the weekend, with real customers. The team
     came in 1st place for best following the Lean Startup process.
     (3rd overall, among 15 teams)
 
 - 2011,
     Oct.  Three eLearning courses: Test
     Driven Development (TDD, C++), Microtesting (unit testing, C++), Faking
     & Mocking (C++), Industrial Logic,
     http://www.industriallogic.com/elearning/
 
 - 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 administration, vender neutral, leading to Linux Professional
     Institute Certification Level 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
     increased 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 applied to Veeco's instrumentation-control software. We've
     been through the 23 patterns in the GOF book Design Patterns.
 
 - 2006
     Spring - Software Design Patterns, Santa Barbara City College, CS165.
     Grade A Language: Java & SWT, Eclipse
 
 - 2005
     Oct 16-20 - OOPSLA conference. (www.oopsla.org) Tutorials on Storytest
     Driven Development by Max Baumann and Ken Scott-Hlebek; Tuning Your
     Methodology by Alistair Cockburn; Domain-Driven Design by Eric Evans; and
     Patterns for Introducing 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 Architecture
     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
     program.)  (http://www.sei.cmu.edu/products/courses/spl.html)
     
 
 - 2004
     October 23-28 - OOPSLA in Vancouver BC. Tutorials by Joshua Kerievsky,
     Scott Meyers + Kevlin Henney;  Plus keynotes by Ward Cunningham, Alan
     Kay, Steve McConnell, 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 Kazman
 
 - 2004
     August 15-18 - XP Agile Universe Conference in Calgary (Many good
     presentations and workshops.)
 
 - 2004
     three-day course in "Advanced Object-Oriented Design with Patterns”
     by James 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-performance systems.
 
 - 2003
     August 10-13, XP Agile Universe Conference in New Orleans. (Many good
     presentations 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 of 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 Martin 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  Spring
     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 units. A.
 
 - 1997
     Object-Oriented Analysis & Design (emphasizing UML) U.C.S.B. Extension  Fall
     qtr, 3 units. A.
 
 - 1993
     Object-Oriented Analysis and Design, GE Advanced Products Center, using
     Object 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, Javascript, JQuery, Coffeescript ,
     Ruby, HTML, HTML5, C#, Perl, Tcl/Tk, Academically: APL, Awk, Pascal,
     Fortran, etc.
 
 - Linux skills and interests:  Summary: Long-term
     interest. Limited professional use. More academic and personal use.
     Growing interest and skills.  Details: I've 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 programs in C. I used UNIX SysV briefly at Digital Sound. When
     I moved to Digital Instruments to work on their amazing atomic-force
     microscopes, I tried  to convince the team to use some form of UNIX
     (Linux or BSD) instead of Windows. I used Linux 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 concentrated 3-days of training in Embedded and
     Real-Time Linux. I attended a 7-day boot 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
     (wxWindows), wxPython, Tk
 
 - Significant
     professional work in: C++, C, MFC, Python, user-interface design, test
     design, unit-testing (CppUnit and unittest.py), numerical modeling &
     simulations, database analysis/design/programming (FileMaker Pro. Paradox,
     ...), complicated spreadsheets (Excel, Lotus 123), BASIC, HyperCard.
 
 - Course
     work in: OOA, OOD, design principles, design patterns, C++, C, Java, MFC,
     SWT, Pascal, Unified Modeling Language (UML), UNIX, FORTRAN, PDP 11/45
     assembly, APL.
 
 - Limited
     professional use: Java (Java to COM bridge), Visual Basic, Ruby, Matlab,
     TCL/TK, HTML, XML, Javascript, Galil, UNIX shell.
 
 - Significant
     study and practice in: Design principles, design patterns, architecture in
     general, product-line architecture, test-driven development, FIT framework
     for acceptance tests, Fitnesse, refactoring, Python
 
 - Additional
     study: Linux, embedded systems, Squeak, etc. etc.
 
 - Demos
     of software development: http://www.kelleyharris.com/software/demos/demos.html
 
·     
Unit test frameworks used: Google Test (Gtest
& Gmock), JUnit, CppUnit, CppUnitLite, Boost Unit Test, NUnit, CppTestKit,
plus a variety of custom and home-grown forms
 - Boost
     Libraries: shared_ptr, ASIO, Thread, Matrix
 
 - Arduino
     development in C & C++. 
     Including Test-Driven Development (TDD)
 
 - Computer
     system administration experience: Over the years, I've setup numerous
     development and test systems with various operating systems (Windows
     3/95/NT/2000/XP, Linux 0.99, Red Hat Fedora 3+, Ubuntu 6+)  Virtual
     PCs via VMWare (Workstation and Fusion).  Installed applications,
     development tools and test tools.  Replaced hard drives, memory, and
     boards.
 
 
 
SPECIAL INTERESTS
 
 - Help teams learn about
     their customers faster and shorten feedback loops, through use of
     minimum-viable products, actionable metrics, etc.
 
 - Eliminating bottlenecks,
     friction and waste.
 
 - Help organizations use
     Agile Lean Scrum methods as a competitive advantage, by empowering
     mangers, developers, and testers with a palette of options, pros &
     cons, examples, and recommendations.
 
 - Lean
     Startup principles and practices.
 
 - Coaching
     and mentoring teams to improve business success and development practices.
 
 - Refactoring
     and adding unit tests in difficult code bases, to increases clarity,
     remove duplication, solidify, etc.
 
 - Physical
     computing (or embedded) systems using software and hardware to sense and
     respond to the analog world. (Data acquisition & control software and
     hardware 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 development 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 Eclipse). 
 
 - 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, Permaculture.
 
 
 
ASSOCIATIONS
PRESENT & PAST
 
 
 
OTHER
BIG INFLUENCES
 
 
 
ATTRIBUTES
 
Conscientious, diligent, and
creative. A generalist by nature, but with specific skills. Sensitive to both
the opportunities and frustrations of innovation. Belief in thoroughness and
full disclosure.
READING
Recent
influential reading:
 - Test-Driven Development for Embedded C, by James Grenning
 
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 Buschmann, 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
 
 
 
REFERENCES
 
 - "Kelley
     Harris is meticulous, efficient, an excellent communicator and a talented
     software engineer.  When Kelley is helping us with projects, we know
     that great work is getting done and we rest easy, knowing our dollars are
     being spent wisely." -- Joshua Kerievsky, President of Industrial
     Logic, and author of Refactoring to
     Patterns  www.industriallogic.com 
 
 
 - "I’ve
     known  Kelley Harris for at least
     fifteen years. Throughout this time we have compared notes on the evolving
     practice of computer programming and especially the demands of complex
     programming in a team environment. Within the last year Kelley has
     contributed to Smallest Federated Wiki, an open-‐source
     recreation of wiki as a single-‐page application. Kelley is
     first and foremost a computer programmer. He is comfortable in a variety
     of environments and knows how to become comfortable in new and still
     emerging environments such as my new wiki. He approached the wiki work
     test-‐driven and managed it within git/github. He
     identified criteria for the image processing components, found published
     algorithms, and then chose and evaluated appropriately simple alternatives
     that were still fit for purpose. Kelley is also a methodologist and an
     educator. He is respectful of current practice while still interested in
     how it can be improved. We’ve had numerous long conversations both about
     how it is that agile methods emerged the way they did and how new
     developers can appreciate that evolution to its fullest. He appreciates
     that all development is situational and that adapting to the situation is
     the best way for a coach to deliver value.” -- Ward Cunningham, Founder of
     Cunningham & Cunningham, Inventor of the Wiki, and thought leader in
     Design Patterns, and Agile principles and practices.
 
 
 - "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 experience 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 force
     microscopes, and lead several software projects that had crucial technical
     and business impact. He is both meticulous and passionate about creating
     the best possible 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
     capacities. Kelley has a great perspective on software development wanting
     not only to produce great code but also having a high level of focus on
     creating something that fits the business and customer needs. Kelley was
     constantly searching for ways to improve our productivity and brought
     several changes to our software development process that had a great
     impact on customer satisfaction." -- Kevin Kjoller, VP, Product
     Development, Anasys Instruments, former Director of Engineering, Veeco
     Metrology, Research SPM 
 
 
 - "Kelley
     Harris helped make MasterWriter an award-winning success. From the inception,
     and throughout eight years of evolution, he continually provides critical
     technical and business insights that strengthened the product and
     business. While others certainly helped, MasterWriter simply would not
     exist today without Kelley's thoughtful contributions." -- Micheal
     Towers, Creator 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,
     give technical guidance, and facilitate adoption of key practices into our
     organization.  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.anasysinstruments.com 
 
 
 - "I
     had the pleasure of working with Michael (Kelley) Harris for almost 15
     years at Digital Instrument and Veeco.  I first worked with him on
     intellectual property matters where Michael showed his keen analytical
     skills and attention to detail.  Later we worked together for many
     years on scientific instrumentation and automated metrology tools. 
     Michael was always dedicated to ensuring top performance 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 time at Digital Instruments and Veeco." -- Craig
     Prater, PhD, CTO, Anasys Instruments
 
 
 - "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 Software Developer, Manager of Software Development and Director of
     Software Development, he was (and is) a talented, thorough, detail
     oriented contributor to Veeco Metrology's core products. He was and is a
     consistent advocate of researching and applying new software development
     methodologies such as agile development including test-driven development,
     pair programming, continuous build systems, etc. Kelley was the key
     developer responsible for Veeco Metrologies' highly successful 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
     his tenure at Veeco and I always found him honest, highly communicative,
     and motivated to develop and ship the best product possible. He could
     always be counted on to provide synergism, energy and an entrepreneurial
     spirit to any project." - Bob Dutcher,  Senior Software
     Engineer, Veeco Instruments, Inc.
 
 
 - "I am writing in recommendation of employment
     for Kelley Harris.  I am currently 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 across 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
     towards adoption of the common software platform.  Kelley has a great
     work ethic and has proven himself capable of taking initiative to move
     things forward.  Kelley was always the most thorough reviewer taking
     the time to really scrutinize code and design and make recommendations to
     improve quality.  Kelley also has made sure he is up to date with the
     latest software paradigms and is able to evaluate 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
     platform, which has proven extremely useful.  In summary, I believe
     Kelley Harris would be a valuable software engineering asset for any
     organization and I recommend him highly." -- J.D. Herron, Staff
     Software Engineer, Veeco Inc.
 
 - "The
     purpose of this reference to provide useful information to those who might
     consider engaging Michael Kelley Harris as a new hire. First I have worked
     closely with "Kelley" as a peer for over ten years and have not
     come across an employee that I would recommend more highly due to his
     desire to provide the best quality results to a project. He has gone far
     and above what would be expected from 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 much 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
     hours. Kelley has a very strong work ethic, excellent communications
     skills (both written and oral), deft organizational skills, and all
     exercised with the most positive outlook on what is at hand. During his
     tenure at Veeco, he has been a major player in many very large projects
     including the development of the first ever Atomic Force Profiler, the
     NanoMan project (which led to three patents he received), the Veeco
     Architecture Migration Project, and the Common Assets group where 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
     Programming, automated unit test frameworks and automated build and test
     integration systems. This has made me a better software engineer. If you
     want a hard working, OO Design knowledgeable, smart and capable senior
     software engineer, I would recommend hiring Kelley. He is a firm believer
     in agile programming with continuous incremental improvement and
     well-tested code. He used his skills to greatly simplify, strengthen and
     improve the architecture and user interface software of the major
     application developed at Veeco. I also valued Kelley as a sounding board
     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 thoughtful, and was a great manager to work for.” -- Blair Whitney,
     Director of Software Engineering, Intouch Health, former Senior Software
     Engineer, Veeco Instruments
 
 
 - "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 willingness to share and help, and his vast collection of
     software programming books easily 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 otherwise
     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
     software engineer. Throughout the years that I have worked with him I have
     seen him contribute to our software team in ways that cannot 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." --Efrain Olivares, Quality Engineering
     Lead, Veeco Instruments
 
 
 - "I
     had the good fortune to work with Kelley on a complex software project
     involving the refactoring of a large body of instrumentation
     software.  Kelley helped 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 valuable ideas that influenced the program and
     improved the quality of work that was accomplished.  His approach to
     problem solving is thoughtful and well considered.  He tracks
     software technology trends, and 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 best practices to the attention of management, and getting
     those processes and practices implemented.  He has kept abreast of
     developing software methodologies and is the source for
     getting information about new software developments.  He has
     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
     insure you of a thorough, dedicated, loyal employee who will passionately
     work with your team to produce the software you envisioning.
     His constant thirst for knowledge keeps him up to date on all of the
     latest software development methodologies, which he is always willing to
     enthusiastically share with his fellow team members. He will be a constant
     advocate for improvement with his ultimate mission to please the end
     user." -- Mandy McCoy, Senior Software Engineer, Veeco Instruments.
 
 
 - "I
     had worked with Kelley for more than eight years since 2000. Either as my
     co-worker or my manager, he is very pleasant to work with. Kelley is a
     very patient and open-minded humble person who is always trying to help
     and empower the people around him. As a software developer and leader,
     Kelley has profound knowledge on C++, Python, STL, Design Patterns, COM
     interface, MS Visual Studio and many programming practices. He always
     strives for the software quality, new software technologies and best
     programming practice.  During his tenure at Veeco, he have made great
     contributions to our software assets: VX profiler with Nanoscope V5,
     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
     lifesaver 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 recommend working with him;
     he would be a great asset to any company." -- Lisa Fukunaga,
     Applications Scientist, Customer Knowledge and Applications, Veeco
     Instruments 
 
 
 - "I have worked with Kelley and his software, for
     the past 9 years, so often times I find myself supporting a product that
     Kelley worked on.  Of all the software engineer's whose code I
     "inherit," Kelley's projects are always the most organized,
     clear and easiest to understand.  His belief and adherence to sound
     design methodologies makes his code a pleasure (relatively speaking) to
     support.   Beyond his competence and knowledge, however is his
     helpful and exemplary attitude.  While at Veeco, I have had 3 or 4
     "formal" Software Engineering training opportunities' all but
     one were inspired and organized by Kelley.  He made sure these
     opportunities were available to me even though I worked for a completely
     different 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, Senior Software
     Engineer, Veeco Instruments.
 
 - "I
     worked with Kelley on a Software Architecture Migration Project and I was
     involved with the definition and development of an automated software test
     framework. Kelley always considered testing software very important and
     was always promoting unit/component and system level testing. He made sure
     he ran our automated 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 organized lunch sessions to discuss
     software design patterns, which gave me a good introduction 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-test
     framework, Common Data Analysis, and various bug chasing, etc. Kelley
     demonstrated a high level of engineering proficiency during his work. The
     quality with which Kelley performed various engineering tasks was
     excellent. His time at Veeco was a great success. It was a very good
     pleasure to work with him." -- Jenny Choe, Software Engineer, Veeco
     Instruments, Inc.
 
 
 - "I
     have worked with Kelley Harris from 1999 to 2008 at Veeco Instruments in
     the 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 versed in basic principles and techniques of
     programming as well as computer science. His passion for the field is
     evidenced by the fact that he is always open and actively engaged in
     learning. This passion extends to process issues as well as algorithm and
     language issues. He always seeks simple, thoughtful and elegant solutions
     to problems while keeping business constraints in mind. He has true sense
     of the aesthetics of programming. As a manager and as a senior peer I've
     always 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 to inspire other programmers to learn more and work more
     efficiently. He has pursued 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 and 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
     perspective I would add here is that Kelley applies introspection. Long
     ago, I learned from a mentor that completing a development task, and
     meeting requirements, is not the end-all for a professional software
     developer. Only through introspection, self-observation of our practices
     and effectiveness, do we advance in terms of software methodologies and
     improved patterns. In Kelley I observed the most 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 qualities 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.  Under conditions of high visibility
     and short schedules, Kelley led the development of software for this new
     and complex machine.  His ability to understand the requirements and
     willingness to go above and beyond the call, working at a high level 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 calm and level-headed presence, unselfishly contributing to
     the success of any project." -- Tim Cunningham, Project Manager for
     the Vx Atomic Force Profiler, Veeco Instruments
 
 
·        "Kelley Harris is a senior software
engineer that has the experience and personality 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 skill set current and makes
him very versatile." -- Ben Tsuruda, General Manager, Cold 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 forward-thinking attitude and his
diligent dedication to whatever he's working on make him a pleasure to work
with.  As a telecommuter myself, I can also attest to his highly effective
communication skills." – Evan Mezeske, Lead Embedded Software Engineer,
SunEdison.
 
 
 - "In 2008 we needed a senior software consultant to
     take the lead on various software projects with tight schedules and loose
     requirements for our biggest customer. We needed someone that possessed a
     wide software skill set, a talent for software architecture, experience
     generating system requirements, and strong people skills to interface directly
     with the customer. Kelley is all this wrapped up in one. He set the tone
     as an architect and senior developer on various projects through a
     combination of leadership ability and many years of software development
     and process experience. He is currently still working in this role (August
     2012) receiving a high degree of satisfaction from our customer. Kelley is
     self-motivated and he's always sharpening his software skill set in order
     to keep his knowledge fresh and current. Kelley’s desire to take in input
     from all team members makes him an excellent team player that always wants
     to do the right thing.  He carries himself with the highest degree of
     integrity."
     --Ben Tsuruda, General Manager, Cold Spring
     Engineering 
 
·        “To whom it may
concern, My name is Andreas Huber and I was heading the Engineering Department
for the Automotive Diagnostics Division of Robert Bosch LLC in North America
between 2008 and 2011. Within this time Michael Kelley Harris was working for
us on a contractual basis in several crucial projects as a Software Architect
and a Senior Software Engineer. Some of these projects are for example: -
Performance and Feature improvements for a Windows based Software product
called Shop Foreman Pro using C++ and ActiveX - Design and Implementation of a
SOAP-Based Interface for a WebService for Diagnostics Service Information using
C++ and XML - Design and Implementation of a new Data Driven Software
Architecture for a product called CDR (Crash Data Retrieval) and Implementation
a Web-Based data collection system for a major Asian OEM.  Kelley has a fundamental understanding of
different types of Software Architectures and the ability to apply them in an
excellent way to the given customer requirements. He also has strong
capabilities in finding adequate solutions even in high-pressure situations. He
is always willing to take on leading roles within a team and always focused on
the customer requirements.  He is always
seeking for new challenges and is willing and able to learn new things in a quick
and profound manner It is always a pleasure to work with Kelley and I would be
glad if I would have to opportunity to work with him together in future
projects. With kind regards” -- Andreas Huber, Director Strategic Marketing
within Robert Bosch Diagnostics Business Unit 
      
·        “Love these tests“ … “I'm really
impressed by the extent to which comprehensive test suites enable this sort of
refactoring, it is liberating….It took me an hour to move from implementation
to unit test. The second tranche of tests exposed my dumb m(x+b) implementation
bug, while confirming I hadn't broken anything else. By mid afternoon I had
added several dozen tests. This just would not have been possible if we had not
taken the time to reasonably structure our code. So today we saw what we set
out to achieve when you first joined us: the OEM makes a major revision to the
specification Tuesday night, and Wednesday afternoon we demo the revised &
tested application. Thank you very much. ” -- Michael Lamboley, Senior
Software Engineer, Robert Bosch, LLC, Bosch Diagnostics
 
·        “Over the past
two years, I have had the pleasure of working alongside Michael (Kelley)
Harris.  In my roll of Product Test
Engineer, for the CDR product line, our working relationship began to evolve
further as I discovered Kelley's interest in providing tools and suggestions
for ways to increase efficiency in our test procedures. Most notably, on
several occasions, Kelley has taken it upon himself to use his personal time to
conduct research, develop applications as well as provide consulting
advice.  This has been paramount in
reducing time and effort as well as increasing the accuracy of our testing.
Kelley posses a broad skill set which enables him to meet a wide variety of
software development requirements. 
Moreover, it is the breadth and depth of Kelley's testing expertise,
coupled with his analytical and problem solving skills, which set him apart
from others.  Tools which Kelley has
developed include: Regression Testing - Test ran via the CDR app which analyses
differences between reports generated in various versions of CDR. Differences
are printed to a detailed report which helps users locate differences in files.
This reduces time spent debugging.   Besides
time savings, the tool minimizes the risk of releasing software bugs to
customers. Python Tests - Kelley has developed several Python scripts, which
can convert PDF files to text, batch search multiple file formats for
user-defined parameters and print test status reports.  These tools have greatly reduced the effort
to verify newly implemented report features and change requirements. Unit Tests
- Developed extensive unit tests, which are run prior compiling beta software
as to minimize risk of introducing bugs. Kelley has implemented countless other
test tools in addition to his daily development tasks. The above-mentioned
items provide a limited example of all, which Kelley has completed while at
Bosch. In short, it continues to be a pleasure to work with Kelley now and in
the future.  I have learned a great deal
from his wisdom.  Above all, I cannot
thank him enough for his willingness to teach and be a mentor.  The lessons he has taught me will carry on
through my career and I will always be grateful for this.“ -- Eric Oglanian,
Product Test Engineer, Robert Bosch, LLC, Bosch Diagnostics
 
 - "Kelley Harris
     was a key developer and architect for a system which significantly reduced
     time & risks in managing content for an OEM tool project.  The
     outcome of the project phases Kelley was involved in helped us improve our
     overall content management response times demanded by our OEM customers.
     We continue to extend the system Kelley helped create for new OEM vehicle
     content, and improve our response times even more. Kelley also created an
     important web-based data aggregation system. Kelley is respected &
     valued by the entire team.” – Bill Rose, -- Product Development Manager,
     Robert Bosch LLC
 
 
 - “I worked alongside
     Kelley to facilitate learning workshops and assessments for our customers at
     ThoughtWorks. He ranks among the top agile coaches that I've met because
     he has the right mix of temperament, experience and teaching-mentoring
     posture to help people at all experience levels learn. 
     
     As one of the main technical coaches in our
     team, Kelley helped developers learn agile development practices and
     object-oriented programming. When you've got people remarking that they
     ‘learned more in two weeks than I could have in an entire semester at
     college’ and referring to Kelley as a ‘world-class instructor,’ you know
     you're working with the best.”  --
     Matthew Phillip, Learning and Development Architect, ThoughtWorks 
 
 - “Kelley successfully
     delivered trainings, hands-on workshops and coaching to important clients
     in Europe and in US for ThoughtWorks.  Attendees, clients and stakeholders were all delighted. 
     He demonstrated confidence, deep
     understanding and hands-on experience in Agile coding, engineering and
     team practices, in OO programming, in OO design and principles, in Lean
     Startup and Continuous Delivery, in coaching and technical training and in
     consulting. 
     
     Working and pairing with Kelley has been
     easy and enjoyable. I could always trust and count on his competence,
     experience, and professionalism.” – Luca Minudel, Trainer &
     Coach, ThoughtWorks