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), experience with deep Agile-engineering experience.


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. Training in Design Thinking from Stanford and IDEO U.

 

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.)
  • Trained over 1000 people in Agile/Scrum for development of products & services.

 

 

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), Scrum Alliance Added Qualification in Scaling Scrum Fundamentals. ICAgile Certified Professional - Agile Coaching (ICP-ACC), ICAgile Certified Professional - Agile Team Facilitation (ICP-ATF), ICAgile Certified Professional (ICP), Certified Large-Scale Scrum (LeSS) Practitioner, Scaled Agile Framework SAFe Program Consultant Certification (SPC4).
  • 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. Trained over 1500 people in Agile & Scrum.  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

 

·       2016 October 20-21, Design Thinking: Work on What Matters, two-day workshop, by Kristian Simsarian & Haakon Faste, O'Reilly Media, San Fransisco, CA

·       2016, Jan 19-22,   Scaled Agile Framework SAFe Program Consultant Certification (SPC4), four-day course, by Dean Leffingwell, Scaled Agile Academy, Boulder, Colorado

·       2015, Dec 9-11, Innovation Master Series: Design Thinking and the Art of Innovation, Stanford Center for Professional Development.  (Taught by the Design School aka d.school) XDES400 – 019

  • 2015, Nov 19, Lean Startup vs Design Thinking, Stanford, webinar.  XDES001
  • 2015, Nov 16-19, Lean Startup Conference, San Francisco, CA. (3rd year going.)
  • 2015 Oct 19-21, Training from the BACK of the Room, plus Trainer Certification Class, Sharon Bowman, Sacramento, CA
  • 2015, October 9-10, Agile Open California, Northern California (Berkeley)
  • 2015, Sept 30-Oct2, Certified LeSS Practitioner: Practices to Principles - Craig Larman - Denver, CO
  • 2015, Sept 24-25, Participated in the Certified Scrum Product Owner (CSPO) course by Chris Sims, Redwood City California
  • 2015, Sept 24-25, Participated in the Certified ScrumMaster (CSM) course by Chris Sims, Redwood City California
  • 2015, September 10-11, Agile Open California, Southern California. (Irvine)
  • 2015, August 3-7, Agile2015 Conference. And helped in the Coaches Clinic. Washington, DC
  • 2015, June 22-24, Coaches Retreat, Scrum Alliance, Seattle, WA
  • 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 (2 days of Agile Facilitation. 3 days of Agile Coaching), 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

 

  • Permaculture - a design system for creating sustainable human settlements.
  • Cancer battle of my life partner lady.  http://www.kelleyharris.com/notes/cancer/cancer.html
  • High School in Aspen Colorado.  A glimpse of a broader world and entrepreneurial 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:

  • 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