Summary
Overview
Work History
Education
Skills
Websites
Timeline
Generic

Eric J. Kampf

Stow,MA

Summary

Lead software developer and architect with 20+ years experience in the mobile and web application space. Successfully designed, implemented, and launched multiple applications from the ground up.

Strong focus on improving development team efficiency through mentorship, comprehensive documentation, and development utilities.

Dedicated advocate of Test-Driven Development (TDD) for writing better code faster.

Overview

33
33
years of professional experience

Work History

Senior Software Engineer - Technical Lead, Architect

Kronos Inc.
10.2003 - Current
  • Mobile Team (2010 – present)
  • Jan 2017 - Assumed the role of architect for mobile products
  • Responsible for architectural design of all mobile features, and defining technical direction of products
  • Work directly with customers to answer technical queries
  • Work with other groups in Kronos to ensure the mobile products properly integrate with other Kronos products and features
  • Hands-on
  • I still write a lot of code
  • Technical Lead for Kronos Mobile Development Team
  • Was one of several founding members who built the mobile product from the ground-up
  • Initial contribution was the development of back-end mobile infrastructure and implementation of the majority of REST web services used by our mobile clients
  • Used TDD to accomplish > 90% code coverage
  • Based on this success, I was one of several chosen to lead TDD training sessions for the entire engineering organization
  • July 2012 – Took over as lead Android developer
  • Delivered numerous features (Scheduling, Timecards, Punch Mapping, Geo-tracking, Push notifications, Offline support, SAML authentication, Voice-driven interface prototype, …)
  • Implemented framework enhancements (Fragments, Unit testing with Robolectric, Dependency Injection with RoboGuice, migration from Ant to Gradle, Cordova Integration, …)
  • Implemented and managed all Release Engineering aspects including: Gradle builds, automated builds with Jenkins, migration to Git, releasing to Google Play
  • Designed, and built extensibility platform which has become the standard mechanism for deploying HTML modules in our mobile app
  • Proposed and implemented several new features to improve the user experience and improve supportability (trace logs, URL correction, configuration push)
  • Oversaw the efforts of multiple off-shore development teams
  • On-boarded the majority of new team members
  • Took the lead in documenting all development processes, server APIs, and training materials
  • Next Generation User Interface Project (2009-2010)
  • Developed modules to integrate Next Generation Flex-based UI and legacy HTML UIs
  • This included the development of a component to manage the display of HTML and applet content in a Flex container
  • Automated the Flex and Java code coverage processes
  • Hiring Systems Group (2008-2009)
  • Contributed enhancements to HSG’s SaaS platform
  • Designed and implemented a code generator that produced functional code and UIs for managing configuration objects
  • Added support for JSP Expression Language to MVC framework
  • Documented many aspects of the HSG development process
  • Made significant enhancements and improvements to YUI-based vendor integration tool
  • DNA Project (2007-2008)
  • Part of a small team tasked with prototyping a SaaS platform for Kronos applications
  • Implemented all web services for the platform using JAX-WS
  • Implemented test automation framework for the project
  • Automated the development environment setup process
  • Managed the majority of all team documentation
  • Global Engineering Team (2006-2007)
  • Pod lead for a team of 5 engineers
  • We were one of 3 teams responsible for enabling WFC to support several new multi-byte languages
  • Trained most of these engineers in WFC development
  • Built the UI for regional configuration of WFC
  • UI implemented in Struts and JavaScript
  • Led the design and implementation of the Translation and Customization Toolkit (T&C Toolkit)
  • Originally tasked with just documenting the translation/customization process, I instead built a tool to automate the bulk of the process
  • WFC Automation Framework (2006)
  • This was a side-project I did to fully automate the installation of WFC products and the execution of all test suites (JUnits, FIT, Selenium)
  • This was a fully configurable system with a web-based application to display current and historical test data
  • Extensible APIs allowed for new test technologies to be easily integrated
  • The system was used by multiple development teams
  • At one point over 20 servers were using this system daily
  • Process Manager Group (2003-2006)
  • I was part of a group that first added workflow capabilities (Process Manager) to WFC
  • My primary role was to build the UIs for several Process Manager applications
  • Implemented numerous other features including localization and dynamic form generation
  • Wrote performance tests using JMeter
  • Lead numerous training sessions on both development and usage of Process Manager
  • Have continued to provide support and consultation in this area all throughout my time at Kronos

Principal Software Engineer

Sockeye Networks
11.2001 - 09.2003
  • Designed and implemented interactive web configuration tool for Sockeye's Global Route Appliance
  • User interface built using JSP custom actions and custom designed DHMTL/JavaScript controls
  • Server component used Java Beans generated from XML Schema using Castor
  • Application design based on Model-View-Controller architecture
  • Used server framework to develop a prototype Swing-based configuration tool
  • Developed XML build utilities that a) generated template system configuration files; b) validated integrity of XML object relationships; c) generated reports detailing configuration schema changes
  • Designed and implemented Global Route data visualization pages including: bandwidth analysis page and flow data display
  • The pages included interactive tables and graphs, implemented using JFreeChart and custom DHTML controls
  • Built web-based front end to our bug system (Accurev)
  • This web application enhanced the existing system by providing multiple views of the bug database
  • Application used by most as primary interface to bug system
  • Implemented using JSP, Java/XML
  • Implemented several widely used development utilities including: script for imaging lab systems; script for taking a snapshot of a lab system for offline testing
  • Served as Release Coordinator for Global Route 3.0 release
  • Responsibilities included: coordination of all documentation, integration testing and bug tracking
  • Wrote and presented formal release notes document
  • This was in addition to the development of several key features
  • Wrote functional specifications for all major features
  • Wrote and maintained design specification for configuration system

Senior Software Engineer

Brio Technology
08.1996 - 07.2001
  • Single-handedly designed and built web-based server administration tool for Brio’s next generation server
  • Implemented web server component as a Java servlet that accessed server methods via CORBA
  • UI implemented using JavaScript and custom-built DHTML controls
  • Developed Java framework for admin and thin client servlets consisting of data caching and remote action systems
  • Assisted in development of Java thin client applet
  • Assisted in porting all C++ CORBA servers from NT to Unix
  • Lead engineer for re-architecture of Brio’s web client (Brio Insight) for 6.0 release
  • This included adding new UI features, and an object oriented rewrite of the web client application code
  • Implemented a security management system for controlling application features on an application/document basis
  • Integrated this system into our framework for use with all applications
  • Assisted in the re-architecture of the OnDemand Server thus improving server scalability by a factor of three
  • Coding was in Java, C++ and Netscape’s Plugin API
  • Implemented UI and server features for the 5.5 release of Brio’s OnDemand Server
  • Features included database access functionality and internationalization
  • Coding was in C++ and Java on NT and Unix
  • Worked on all system components (web client, CGI and server)
  • Implemented UI features and fixed bugs in the Unix (Solaris, AIX and HP) version of BrioQuery
  • Lead engineer in this role for two major releases (5.0 and 5.5)
  • Coded in C++ using XVT and Motif APIs
  • Worked within a cross-platform application framework that also supported Windows and Macintosh
  • Assisted in the re-architecture of this framework
  • Implemented and maintained all software configuration management utilities for all Brio Enterprise products
  • These utilities have been in daily use for the last five years and perform the following tasks: I) Daily builds of all products on all platforms (NT, Solaris, HPUX, AIX)
  • II) Daily reports of build status via email and web pages
  • III) Automated configuration utilities for development systems
  • IV) Utilities that allow developers to compile their code on multiple platforms to minimize the likelihood of broken builds
  • All utilities use an object oriented API to ease maintenance
  • Through a single configuration file, users can add new products, code branches, platforms and source control systems
  • Maintained makefiles for all projects
  • Combined all Unix builds (50 builds) into a single GNU makefile
  • Provided web documentation for all utilities
  • Utilities developed using the following languages/tools: shell scripts, MKS Toolkit, C++, DHTML

Software Engineer

Xyplex, Inc
06.1995 - 07.1996
  • Responsible for firmware development on Ethernet networking hub
  • Implemented TCP/IP protocols and hardware support for multiple I/O modules including 10 Base-T, 10 Base-FL, 100 Base-Tx and 100 Base-Fx
  • Developed UNIX shell scripts for source control, firmware/software builds and releases
  • Responsible for coordinating firmware code releases and firmware documentation

Software Engineer

Auburn International
04.1992 - 06.1995
  • In charge of development, maintenance and support of all software for IMR product line
  • Developed network protocols, user interface, graphical displays and data analysis algorithms
  • Development languages included C, C++ and Intel assembly
  • Additional responsibilities included customer training presentations, phone support, product documentation, hardware installation and troubleshooting
  • Honored July 1994 as Auburn’s Employee of the Month for implementing a company-wide employee-training program

Education

B.S.E.E. -

University of Massachusetts
Amherst, MA
05.1991

Skills

  • Java
  • JavaScript
  • Bash
  • Ant
  • Gradle
  • Groovy
  • C/C
  • Android Studio
  • Robolectric
  • Robotium
  • RoboGuice
  • SQLite
  • Location
  • Maps
  • Proximity
  • Alarm
  • Push Notification APIs
  • Fragments
  • WebViews
  • Cordova
  • OSGI
  • JAX-RS
  • JAXB
  • Apache Camel
  • Spring DI
  • Mockito
  • Reslet
  • JDom
  • Dom4j
  • Log4j
  • Hibernate
  • JDBC
  • JMS
  • JSP
  • Struts
  • CSS
  • YUI
  • Flex/ActionScript
  • REST
  • SOAP
  • ASP/VBScript
  • CGI
  • Java applets (AWT and Swing)
  • Netscape’s Plug-in API
  • COM
  • JUnit
  • TestNG
  • FlexUnit
  • FIT
  • Selenium
  • SOAP-UI
  • JMeter
  • HtmlUnit
  • HttpUnit
  • RESTful API design

Timeline

Senior Software Engineer - Technical Lead, Architect

Kronos Inc.
10.2003 - Current

Principal Software Engineer

Sockeye Networks
11.2001 - 09.2003

Senior Software Engineer

Brio Technology
08.1996 - 07.2001

Software Engineer

Xyplex, Inc
06.1995 - 07.1996

Software Engineer

Auburn International
04.1992 - 06.1995

B.S.E.E. -

University of Massachusetts
Eric J. Kampf