Summary
Technical Leader and Software Engineer with experience building and leading teams, designing and implementing applications, and supporting those applications at the customer and integration partner level.
Work History
IDEXX Laboratories, Westbrook Maine - 2009 - Present
Software Development Senior Manager: VetConnect Plus
- Coordinated early-stage integration projects with internal and external systems such as VCR (used by IDEXX Transportation), WSO2 SSO, Banfield PetWare
- Led team that designed, built, and supported VetConnect Plus Ordering. VetConnect Plus Ordering is a system that handles a majority of IDEXX's Lab Orders in North America, Great Britan, Germany, Austria, and Australia.
- Led team that designed and built VetConnect Plus iOS application
- Provided technical guidance to team that designed and built VetConnect Plus Android application
- Hired and managed on-site and remote employees including software developers, QA analysts and Business analysts
- Provided technical guidance and support to IDEXX partners in integrating their Practice Information Management Systems (PIMS) with VetConnect/VetConnect Plus APIs
- Coordinated release plans with IDEXX Business partners to provide a regular delivery cadence
Software Development Senior Manager: VetConnect
- Hired and managed a team of software developers, QA analysts and Business analysts who maintained and enhanced the VetConnect web application and APIs
- Provided technical consultation to Practice Management systems that were integrating with VetConnect APIs
- Managed daytime and after-hours support for VetConnect
- Evolved VetConnect architecture to enhance VetConnect availability and resliency
- Expanded VetConnect availability to 9 Western European countries in 7 languages
Principal Java Developer
- Application Architect supporting multiple Java application development teams building Swing applications using a SOA back end.
- Evaluated and led the decision making to purchase and implement a standard pattern to build and deploy reporting functionality using Jasper Server.
- Designed and implemented an application to scan all order forms in IDEXX's US laboratories and make those scanned images available to internal applications using SOAP Web Services.
- Created asynchronous process using Weblogic Integration server to deliver UK laboratory test result data to a variety of consumers such as fax providers, external web services, and FTP.
Maine Technology Institute, Brunswick Maine - 2010 - Present
Information Technology Board Member
- Evaluate MTI seed grant proposals and development award applications, make funding recommendations, and contribute advice to the MTI Board of Directors in matters of policy based on my in-depth knowledge of the Information Technology industry needs in Maine.
Speranza Systems, Portland Maine - 2005 - April 2009
Technical Director
- Led team of developers building the Speranza Command Center, the leading Bank Account Management solution for Treasury departments.
- Implemented The Speranza Command Center version 2 as a Java Enterprise Edition (JEE) application using Glassfish, Spring, Hibernate, Stripes, Velocity, Jackrabbit, and Flux.
- Designed and implemented integration processes between client systems (LDAP, Blueprint, custom) and the Speranza Command Center using Flux Process Engine.
- Estimated scheduled and evaluated development tasks for Portland team.
- Served as primary contact for Speranza customers while implementing the Command Center.
- Participated in on-site client discovery sessions as technical expert and integration project lead.
- Provisioned hardware for internal technical development and led initiative in migrating internal servers to off-site secure data center.
- Assisted sales staff in addressing customer technical questions during initial client contact and follow-up discussions.
- Hired and managed 3 full-time Java developers and 4 contractor developers.
- Wrote system documentation for the Command Center.
- Implemented Command Center version 1 as a Broadvision Portal J2EE application. Modified default portal UI, built custom Struts actions to implement SCC functionality. Built and deployed Broadvision Process Packs (workflows). Designed content types and associated database definitions using Broadvision tools.
Visa, Portland Maine - 2005
Java Developer
- Implemented new workflows using Visa internal batch framework as part of the FES
project.Modified existing code to handle changes in XML schema definitions used
as data store.
- Created JUnit tests to verify correctness of schema
modifications. Updated build process to allow JAXB compilation to take advantage
of Ant's macrodef feature for a net decrease in build times and reduced
re-compilation of unchanged artifacts.
Katrinka Solutions, South Portland Maine - 2005
Application Developer/Architect
- Designed and implemented PHP/MySQL based solutions for Pemaquid
Communications. Projects included generating MIME-encoded email newsletters,
advertising systems and photo gallery components. All components were designed
to be re-usable across clients. Tasks include database table design, coding,
testing and deployment under tight time and budget deadlines.
Wright Express, South Portland Maine 2004 - 2005
Senior Java Developer
- Developed and maintained three core components of Wright Express's e.Best 2.0
project: File Handling, Transaction Processing and Core Processing. The
applications are written in Java and run on a Solaris server. Much of the
control work is done with Unix Shell scripts. File
Handling is responsible for parsing a variety of sales files from different
sources and loading them into an Oracle database. Transaction Processing is a
multi-threaded application that processes the data loaded by File Handling. It
calculates taxes, discounts, fees as well as resolving external information to
match with internal entities. Core Processing is the end-of-day process that
closes each business day for WEX. CP is a set of jobs that is run under
Control-M that roll up daily totals, update internal accumulators for
discounts, and feeds the data loaded by File Handling and processed by
Transaction Processing to the WEX Data Warehouse and to PeopleSoft.
- Managed the release process for the three applications by creating Ant
scripts to implement a one-step build process.
- Interacted with QA team to resolve defects
- Participated in testing and deployment process in concert with QA, WEX
Data Warehouse, and PeopleSoft Teams.
Fairchild Semiconductor, South Portland Maine -
2002 - 2004
Software Engineer
- Designed and implemented New Product Request (NPR) component of the Online
Business Case (OBC) application. OBC is a J2EE/Struts 1.1 application that provides
a way for Fairchild to track R&D spending consistently across divisions
from idea to finished product. Architected and coded Jsps, Struts components, data access
code and unit tests. Created automated build process using Ant and shell scripting.
- Developed and maintained iDSS, Fairchild's Decision Support System. iDSS
is a J2EE-based reporting system that generates and presents HTML, Excel,
and PDF reports based on data imported into the Data Warehouse from
PeopleSoft. Performed extensive refactoring to accommodate new features
while decreasing bug counts. Created Javadoc documentation and unit tests.
- Led team efforts to standardize development process and implement unit
testing procedures, automated build processes, and refactoring of existing
projects.
- Organized weekly developer meeting. Topics included code reviews,
new technology presentations and change control discussions.
Via Inc., Portland, Maine - 1999 - 2001
Strategic Communications firm delivering multi-dimensional brand experiences to
businesses.
Software Engineer
- Implemented site-wide navigational system and customized form validation in
ColdFusion for Axeda (http://www.axeda.com). Navigation system is designed to
provide the user with location awareness. Form validation provides excellent
user feedback and robust error checking.
- Designed and deployed Permission Marketing email J2EE application for
Fairchild Semiconductor. Developed an application that interfaced with
previously collected customer data to generate opt-in email
campaigns. Implemented using Enterprise JavaBeans, Servlets, JavaServer Pages,
XML and Perl. Packaged using Jakarta Ant and deployed to a Weblogic 6 server.
- Installed, configured, and managed Documentum 4i Content management system to
facilitate creation of Fairchild Semiconductor's redesigned web
site. Developed custom workflows from client specifications using Documentum
tools. Managed replication of content from staging server to production
server. Constructed content types and templates to render data as HTML pages.
- Constructed data-driven templates using Interwoven Teamsite version
4.1. Worked with Information Architects to extract the greatest amount of reuse
between templates including abstracting common functionality into template
components.
- Created Tactical Advertisement application using PHP for Sugarloaf. Programmed
a system that allowed non-technical users to place and monitor ad campaigns on
Sugarloaf's website. Used a file-based system to render static HTML,
reducing cost and development time while maintaining performance.
- Delivered search and image storage components to eSprocket.com, a web site
that matched buyers and sellers of used industrial equipment. Built custom
search component using JavaBeans and Servlets that queried an Oracle
database. Created components to allow registered users to upload images,
storing images and metadata in Oracle. Developed a JavaBean and Servlet that
allowed images to be displayed in JSPs.
- Developed Functional and Technical Specification documents and implemented
those plans. Led efforts to discover and utilize new technologies.
New England Internet Services, Portland, Maine - 1997 - 1999
Internet Service Provider and Web development company.
Internet Software Developer
- Configured and deployed web sites on Apache, Roxen and IIS web
servers. Discovered client needs and implemented solutions for those
needs. Focused on building user-maintainable web sites.
- Developed Java/COM systems for UNUM and SeaFax integrating existing databases
with new web-based User interfaces.
- Consolidated UNUM's Wellness documents and information into a consistent
intranet application. Used Cascading Style sheets and Active Server Pages to
provide separation of content and presentation logic.
ZDNet, Cambridge, Massachusetts - 1996 - 1997
Ziff Davis Publishing's centralized production group for electronic republishing.
Associate Production Editor
- Repurposed Ziff-Davis magazine content for electronic distribution. Final
targets included Web and CD-ROM publications and overseas licensees.
- Developed custom content management software and workflows to streamline the production
process.
Technical Experience
- Operating Systems:Linux, Windows, OSX, iOS, Android
- Database Systems: Oracle, MySQL
- Programming Languages:Java, Groovy, Ruby, SQL, Awk, JavaScript
- Other Applications:Git, JIRA, Maven, Runscope, Fabric, New Relic, SumoLogic
Other Experience
- Former Manager, Maine Java Users Group - Contacted, scheduled, and introduced speakers for the MEJUG monthly meeting.
- Former Chairman, Centerboard Yacht Club Race Committee - Organized CYC yearly regatta and weeknight race series on Casco Bay.
Education
1992 B.A. English Literature. Union College, Schenectady, New York.
1988 Milton Academy, Milton, Massachusetts.