Terry M. Tompkins

Revision: September 26th, 2016

Terry M. Tompkins

Software Architect / Development Manager

  • 4 Bailey Drive, Windham, Maine, 04062 U.S.A.
 
Profile:
  • Software Developer, Software Architect and Development Manager with over 30 years of cross-industry experience in the analysis, design, development, integration and maintenance of system and application software.
  • Demonstrated problem solving skills, capable of generating and following through on creative solutions to difficult challenges.
  • Able to motivate a team to overcome individual differences and contribute to the group effort.
  • Capable of effectively communicating difficult concepts to technical and non-technical people.
  • Self-starter, motivated, and able to learn new technologies quickly.
  • Technology has always been more than a career for me – it is a passion that I pursue during business hours and after the work day has ended.
 
Experience:

Idexx Laboratories

Senior Software Development Manager

February 2015 - Present

  • Manage a talented team of 15-20 full time and contract software developers as we author software to control and integrate medical instruments and a number of other desktop and cloud-based veterinary practice applications.
  • Participate in the architecture and design of next generation clinic software

Bottomline Technologies

Principal Software Architect

May 2012 - February 2015

  • Member of the cross-functional Enterprise Architecture Group – member or lead of several teams covering initiatives for DevOps, Analytics, and Development Tools
  • Fulfilled technical lead role on the implementation of two next-generation prototypes of our payments web platform. These projects were known as Test Drives and showcased a completely new architecture and user experience. The intent was to not only produce a working vertical slice of the new architecture, but also provide a working subsystem for customer evaluation. In addition to working on the design and implementation of this software, I created a flexible data generation component that enabled prospective customers to see dynamically generated, realistic application views within the new system that could be refreshed on-demand
  • Worked with the Development team to devise a means of combining our new application architecture demonstrated through the test drive projects with the legacy application code to enable a smooth migration path into the new architecture
  • Member of the technical leadership teams for the Paymode-X and Legal Spend lines of business. As part of these teams, I was responsible for helping define the roadmap, advance planning for upcoming releases, lead recurring technical discussions with representatives of development srum teams, expert estimation for new features, code reviews, and database migration change reviews
  • Performed the evaluation, proof-of-concept, recommendation, implementation and support of several new technical solutions required to enhance our Paymode-X payment network solution. These included:
    • A new Java application server. This included assisting in the planning for migration from Solaris to Linux as a hosting platform for the selected application server
    • A reporting server solution. The selected product was integrated into the Paymode-X application solution to enable the creation of transactional reports while reducing the need for new custom application code
    • Web Analytics software integration with our web-based payments platform
    • Distributed version control – worked to migrate and support multiple teams from Subversion, assisted in setting up process and tools, conducted learning sessions for teams

TD Bank

Vice President, Application Development Manager

January 2003 - May 2012

  • Between Fall 2010 and Spring 2011, created a new in-house web services development team and worked on the integration of this team with our offshore development partner. Migrated all project and web services-related technical documentation to a new SharePoint-based content management system. Arranged for training for our new developers; eased the team into increasingly more difficult/critical assignments. Helped modify offshore development processes in order to integrate the onshore and offshore teams.
  • Member of the SOA Practioner’s Group within the TD SOA Centre of Excellence architecture team – coordinated discussions and best practices POC design documentation creation on SOA Security subcommittee.
  • Presented before the TD Developer Network and TD Bank Technology group on subjects such as Ajax and LAMP.
  • Over the course of my long tenure at TD Bank, I expended a considerable amount of personal time creating custom skunkworks solutions to meet a wide variety of needs including: Grails/Java-based applications for Loan Modification tracking and managing the configuration of our web services infrastructure; a tool to scan and extract check images from Titan image stores; customizations of my SPARCS task tracking system to fulfill the requirements for several business and technology groups within the organization. These groups and long running projects included: PMO/Custom Development, Test Data Management, Data Center Consolidation project, Mortgage, Retail, Collections, Data Mart, and Commercial Lending. I provided demonstrations of the application’s capability, gathered/reviewed business requirements, coded the modifications necessary to adapt the application to the new group’s requirements, and supported the applications in production.
  • Managed development, database and web services teams of 14 full-time and 12 contract employees.
  • Lead technical team which was responsible for replacing our company’s legacy HR system with a Peoplesoft-based solution. We were responsible for the interfaces between Peoplesoft, our internal employee/organization database, and 21 downstream systems connected through a number of synchronization mechanisms.
  • My team and I successfully completed 17 development projects ranging from four to 24 months in duration. The applications developed during this time included:
    • Investments – Enables our Wealth Management department to manage detailed information about customers and accounts. Provides a bi-directional interface to external corporate partners.
    • Wealth – Manages the processes flows involved in the day to day handling of customer accounts for our Wealth Management department.
    • HR COMP - Tracks all information about employees and the compensation programs they are assigned to. The application enables the management and calculation of a virtually unlimited number of custom incentive plans.
    • Collections – Contains information on accounts and customers that are in collection or are being written off or written down. Provides interfaces to corporate mainframe data and external data suppliers.
    • RIST (Retail Incentive Sales Tracking) - Tracks complicated statistics about retail sales and account tallies. The data is tracked at the bank, region, branch and employee levels. Some of the information collected is used by HR for incentive payout.
  • Worked with the manager of our Integration Competency Center to build an enterprise integration architecture team. This team utilized the webMethods platform to successfully complete six integration projects within 18 months. Completed projects include:
    • CSS (Customer Service System) – A web-based system that provides a growing number of real-time interfaces to mainframe customer data and workflows to manage access to and modification of this information.
    • Platform Integration – We worked with an external vendor to integrate their retail platform application with our backend mainframe system via web services.
  • Mentored junior developers on the team and participated in application design activities.
  • Developed and produced application development metrics for monthly senior management reporting.
  • Responsible for defining the software development life cycle processes and team coding standards for the Distributed Development team through two successive iterations.
  • Member of a cross-functional team assembled to improve the project life cycle process.
  • Helped establish a test/QA environment and processes for the Distributed Development group.
  • Interviewed developer applicants and made hiring decisions.

Banknorth Group

Senior Software Engineer

July 2001 - December 2001 (contractor), January 2002 - December 2002 (full time)

  • Helped standardize the team's development environment with an open source framework that I developed (see TransWeb Tools below). This tool set has provided a significant improvement to the development environment in terms of efficiency and reuse.
  • Participated in the design and development of a referral tracking system. This software was selected as best-in-class by an external review panel.
  • Wrote a significant portion of the code for a loan compliance system.
  • Trained other developers on the team to utilize new software development tools and life cycle processes.

TransWeb Tools

Sole Proprietor

January 1996 - Present

  • Built web sites and custom software for local companies.
  • Authored several software packages (open source and commercial licensing):
    • Sparcle: A Grails-based tracking system which allows users to define a "virtual schema" through forms. The application gives non-technical users control over the types of fields, the user interface components utilized to present the fields, and configure parameters and validation rules. Developers can define new visual components through a simple run-time component editor.
    • RC-Dropbox: A PHP-based file dropbox application that allows users to share files.
    • TWSurvey: A web-based survey generation program. The software provides a means to create surveys either through an interview process or by importing an existing HTML document. Survey responses are stored in an Oracle or MySQL database. Generates pivot table reports in HTML or MS Excel format.
    • TWToolBox: An object-oriented Model-View-Controller based web application framework for building intranet applications. The software includes a template-based component manager and a library of high-level database access and web form handling routines which utilizes XML files to configure database access, component instantiation and object attributes.
    • SPARCS 2.0 - 3.x: A web-based issue tracking system based on an open source package called PTS. Includes many development, project management and help desk-related features, including task workflow, time tracking, export to Excel and MS Project.
    • SPARCS 1.0: web-based revision control system. First utilized in a corporate development environment in October, 1996 to enable a geographically separated team to remotely manage source code distribution and version control.
    • RCS with Threads: Made significant enhancements to the open source version control package called RCS. My enhanced version of RCS was included on several Linux distribution sites.

Gofish.com / Seafax

Software Engineer

June 2000 - June 2001

  • Participated in the development of e-commerce applications, including a seafood exchange, web-based auction facility and news/credit reporting system using Apple’s WebObjects application server.
  • Developed software tools to automate data migration between internal and external facing company sites.
  • Wrote scripts to automate the transmission of customer funding requests between our company’s system and GE Finance.
  • Developed portlet and framework components for the company’s external facing website.

Windham Adult Education

Computer Instructor

September 1998 - December 2001

  • Taught MS Word and Introduction to Personal Computers adult education classes to students in wide ranges of age, background and technical experience.

Remstar International

Software Engineer

June 1995 - June 2000

  • With three other developers, designed and developed FastPic 4.0, the company’s inventory management and order processing software. FastPic 4.0 is a distributed, cross-platform (UNIX and MS-Windows) application written in C++ that supports several SQL database products through ODBC and provides device control for a number of automated storage and retrieval products. In addition to participating in the development of the core application logic, I wrote a significant number of the device drivers, a logical process locking server and a device control server to facilitate shared access to devices over a network.
  • Wrote a collection of web-based development tools that allowed the engineering staff to do remote configuration management, issue tracking and human resource management.
  • Integrated the company's Novell LAN with a Linux-based Internet gateway; built and configured servers hosting Internet services (web, ftp, and email), and established email connectivity for the 12 regional offices.

Motorola - Logic and Analog Technologies Group

Software Engineer

March 1993 - June 1995

  • Served as one of three members of the ASIC CAD Software Engineering Group. While in this group, I provided UNIX and C technical expertise to developers within the CAD department.
  • One of three team leaders with the responsibility of helping our division attain the Software Engineering Institute's (SEI) Capability Maturity Model (CMM) level 2 assessment. We achieved this goal in November, 1994.
  • With two other members of the software engineering group, designed and developed a new configuration management system based on open source core tools. We received two cycle-time reduction/process improvement awards for this system, which cut the time required to build and release a complete CAD software kit from one week to four hours. This system encompassed phases of the development lifecycle from initial build through release media creation.
  • With another engineer, wrote electrical behavioral models in Verilog HDL to implement BIST (built-in self-test) for Motorola and Cascade RAMs. I then synthesized, simulated and tested these models by running the designs through our group's EE CAD system.
  • One of three developers to work on an X Windows-based replacement for the character-based CAD system user interface.
  • Assisted the department in setting up ISDN connections and software between engineers’ homes and the corporate network to facilitate telecommuting. Received an award for an ISDN presentation to the California ISDN Users' Group.

Analysts International Corporation

Technical Staff Member

March 1992 - March 1993

  • Contracted with Motorola through AIC as a software engineer.
  • Wrote AIC's UNIX and 'C' programmer skill tests that were used to screen perspective employees.
  • Served as a UNIX expert resource to other AIC staff engineers.

Z/Max Computer Solutions, Inc.

Director of Research and Development

September 1988 - February 1992

  • One of three individuals responsible for founding Z/Max Computer Solutions as a technology consulting and software development company.
  • Creator and later project manager of Z/Max XChange (R) – a USENET/Internet-enabled information management system that provided enhanced access to email, real-time conferencing, hierarchical organization and editing of information, survey generation, high-speed document indexing and search capabilities, and application integration in a graphical environment. Z/Max XChange was very favorably reviewed in several major industry periodicals, including UNIX Review (June 1991) and UNIX World (April and August, 1991). AT&T redistributed XChange and utilized the software to run their international bulletin board system.
  • Technical consultant to a number of our customers (including AT&T International and NYNEX). Designed and constructed a 110+ node AT&T StarLAN MS-DOS/UNIX-based network for New England Telephone (now Verizon).
  • Instructor for our company's technical workshops.

University of Maine at Presque Isle

Manager of Academic Computing Services

January 1987 - June 1988

  • Responsible for setting up, connecting and maintaining PC's, terminals, printers and other equipment on an AT&T Information Systems Network between six buildings on the campus.
  • Managed the computer room facilities and approximately 10 student employees.
  • Installed and administered two minicomputer UNIX servers on the network.
  • Wrote bulletin board software that was utilized on at least three campii in the University of Maine system.
  • Taught PC workshops for the faculty and students.
  • Evaluated/recommended computer products for purchase.

Coordinator of Data Processing

January 1985 - January 1987

  • Responsible for writing programs in ASAP (predecessor of REX) to extract statistics and reports from the university system IBM mainframe.

Northern Maine Community College (NMCC/NMVTI)

Physics Instructor

January 1986 - January 1988

  • Instructor for two levels of physics classes with laboratory sessions. Responsible for developing the course syllabi, exams, laboratory exercises, and grading the students' work.

Technology Consultant/Instructor

Part time, self employed technology consultant

1982 - 1986

  • Wrote custom software for the University of Maine at Presque Isle, Machias, and Fort Kent; as well as Key Bank, Coca Cola Bottling, Van Buren Community Hospital, Harris Optical, McCain's Transport, etc.
  • Conducted various computer-related workshops and classes: UMPI Computer Camp (summers 1982-1986), UMPI Gifted and Talented (1986-1987), Fort Fairfield Adult Education (September 1986 - May 1988), University Upward Bound program (1983-1985).

 
Publications:

"Information Management Software Enhances the Power of UNIX-based StarGROUP Systems" - AT&T LAN Dispatch, Q1 1990

Education:

University of Maine

Bachelor of Arts, Mathematics and Computer Science, 1986

Selected for "Who's Who Among American Colleges and Universities" in 1986, Member of the Student Senate from 1982-1985, President - University Computer Club, Member of the Presque Isle Community Council, UMPI Cross Country team.

Industry Training

  • Sun Certified Training – SL-275 Java Programming Language
  • Sun Certified Training – FJ-310-EE5 Developing Applications for the Java EE Platform
  • Secure Programming with Fortify
  • Mind Leaders Training:
    • UML 2.0
    • Java2 5.0 Programming (13 units)
    • Java2 Enterprise Design (2 units)
  • MongoDb University:
    • M101J: MongoDb for Java Developers
    • M101JS: MongoDb for Node.js Developers
  • Udemy.com:
    • Introduction to Typescript
    • Learning Meteor Applicaiton Development
    • Learn and Understand AngularJS
    • OrientDb - Getting Started
    • Advanced Javascript - A Course for Serious Programmers
    • CompTia A+ Certification 801, The Total Course

 
Skills:

Self-assessed skill levels, scale 1-10. Scores reflect gained knowledge combined with career opportunities to exercise the skills over time. This chart is a work in progress.