Michael Kelley Harris - Resume

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

mkh@mkharris.com
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, investment, 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 line management, 4 yrs staff management
  • 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.  U.C.S.B. Extension   Certificate in Object-Oriented Programming
  • 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, 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 (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 from managers, colleagues, and clients. (At end of resume.)
  • Demos of software development: http://www.kelleyharris.com/software/demos/demos.html

 


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 mutiple business units in Veeco Instruments.
  • Completed a GUI prototype to win Veeco a $10 Million order from IBM. (Two months, Visual Basic)
  • MacWorld Best-of-Show award for MasterWriter.  (Consultant from concept to release.)



Special interests:

  • 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 acqusition & 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.

 


WORK EXPERIENCE

2004 - present
Principal Software Engineer (and Owner), SourceCell – Custom software development, delivered in weekly increments of growing functionality.  Special services for 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 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,
  • 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)  MasterWriter software won a Best-of-Show award at MacWorld 2003.  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).)
  • Quick evaluation of iPhone versus Android-based mobile phones for use in a monitoring-and-control application. Client: Bosch Diagnostics (subcontracted through Cold Spring Engineering)
  • Added error-status information to user-space drivers in embedded Linux monitoring systems for a commercial solary-energy (photovolaics) company. (SunEdison)
  • Built simple web sites. (e.g. 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 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, Eclipse, MS Visual Studio, Windows NT/2000/XP/VISTA/Windows 7,  Mac OS X, Android, iPhone, Subversion, SOAP, gSOAP, soapUI, COM, XML, Ruby, Poco, etc. See also Client projects & comments...



    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.  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 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. 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. 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. 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. (22 units of Computer Science, 4.0 gpa)
    • 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.  (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:

    • 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 Introduding 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, 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'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. 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
    • 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 numerous development and test systems with various operating systems (Windows 3/95/NT/2000/XP, Linux 0.99, Red Hat Fedora 3, 4, and 5, Ubuntu 6, 7, and 8)  Virtual PCs via VMWare (Workstation and Fusion).  Installed applications, development tools and test tools.  Replaced hard drives, memory, and boards.

     

    ASSOCIATIONS

     

    OTHER BIG INFLUENCES

    • Permaculture - a design system for creating sustainable human settlements.
    • Cancer battle of my life partner.  http://www.kelleyharris.com/notes/cancer/cancer.html
    • High School in Aspen Colorado.  A first glimpse of a broader world and entreprenurial thinking.

    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:

    • Refactoring to Patterns, by Joshua Kerievsky
    • Fit for Developing Software - Framework for Integrated Tests by Mugridge & Cunningham
    • Head First Design Patterns by Eric Freeman & Elisabeth Freeman with Kathy Sierra & 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 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 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, 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, give technical guidance, and facilitate adoption of key practices into our organiziation.  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 programing, 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 entrapenurial 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 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." --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 areenvisioning. 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