Summary
Overview
Work History
Education
Skills
Hobbies and Interests
Languages
Volunteer Experience
Areas Of Expertise
Websites
Languages
Affiliations
References
Timeline
Generic

Eric Forte

44 School Street, Westerly

Summary

A creative, detail-oriented application software developer with extensive consulting and technical experience. Proficient to advanced level in many programming languages and environments. Possesses extensive problem solving, troubleshooting and analytical skills. Ability to learn new technologies quickly and comprehensively. Passionate about Java, Eclipse, Spring Framework, and Vert.x.

Overview

16
16
years of professional experience

Work History

Senior Software Engineer

Insight Global Corporation
02.2023 - 09.2025
  • Working at The Home Depot, supporting the eDeposit service re-platforming initiative. The project is replacing legacy C programming language services in a Hewlett Packard/NonStop server with equivalent services written in Java and Spring Boot, running in Google Cloud Platform (GCP).
  • As a member of the eDeposit team, I assisted with the conversion of legacy on-premises payment systems written in C to versions written in Java and Spring Boot to assist The Home Depot's move to cloud-based systems. Guided by the C source code, we converted programs hosted on an HP Tandem/Non-Stop environment to Java and deploying them to Google Kubernetes Engine. In place of the Tandem SQL backend, we used CockroachDb for data persistence.
  • Our offering includes 18 microservice-like applications, a handful of cron-scheduled batch jobs and an API gateway application called the 'service router.' None of these applications are directly customer-facing, however, they are surfaced through customer experiences like Tool Rental and Home Services, for example.
  • I would have preferred focusing on first creating more reusable components and libraries that could be leveraged throughout our code, thereby making different changes easier, but this was discouraged. Therefore, whenever a change was needed, it was applied individually to potentially two dozen applications.
  • Like so many positions today, the number of tools that exist in our ecosystem is staggering. We began deploying our applications with Jenkins and then switched to GitHub Actions. We also needed to learn more about Kubernetes, particularly using a Home Depot implementation of 'cdk8s,' a toolkit that helps automate different of aspects of Kubernetes using regular programming languages since the YAML configuration files used can appear a bit opaque. Additionally, we leveraged Terraform to deploy any resources that would appear in the GCP, like secrets, storage buckets, etc.
  • Participated in Agile ceremonies like daily stand-ups, backlog refinement and sprint planning.
  • Analyze C code to interpret the business logic and recreate the same logic as faithfully as possible in Java. This was extremely challenging due to the nature of the existing C code having a large reliance on pointer logic and written in a compact, though no doubt very efficient, style resembling low-level hardware programming. Therefore, the shape of the C code, with its pervasive use of void functions throughout needed to be reconceived in an object-oriented, domain-driven approach.
  • Continuous validation of our work throughout the project ensured that HTTP request and responses produced by the legacy system and our code matched to the character. Likewise, the same types of comparisons were done in our database tables to ensure that the same data was persisted.
  • Ensured that detailed documentation of our processes was maintained in Confluence, as well as capturing various knowledge we acquired along the way. It was often the case that we would search Confluence to see how another team had done something, only to find out that their solution pertained to infrastructure that no longer existed or was no longer supported. Therefore, it was our aim to 'pay it forward' in the hope that future teams would benefit from our experiences.
  • Worked as the de facto subject matter expert in a proprietary system called 'Vantage.' This system is based on Envoy and provides a variety of capabilities to Home Depot applications including traffic mirroring and authentication. It allows teams to have direct control of a part of their infrastructure which acts in a consistent manner in both pre-production and production environments.
  • Devised a solution to materialize database certificates into files from binary streams of data stored in Google Secret Manager.
  • Designed and implemented our API gateway, the 'service router.' This application was written in Java using Spring WebFlux, a reactive-stack web framework and Eclipse Vert.x, an event-driven application toolkit. These assist in better Java Virtual Machine (JVM) thread usage and data throughput. The former allows leveraging Spring's regular annotation-driven, opinionated configuration of application components and is Spring's implementation of the Reactor approach and encourages a more functional programming approach. The latter relies heavily on internal message passing between application components which allows creating a non-blocking to the software. The service router has three main application endpoints. Two of the endpoints use SOAP payloads, the other, plain XML. However, since the decision had been made that our re-platformed applications all return XML, the service router is also responsible for 're-hydrating' two thirds of the XML responses into SOAP.
  • Designed and implemented an application-to-application authentication solution using JSON Web Tokens (JWTs). One of the later appearing requirements was that all access to our applications from the service router be authenticated. The solution was to first register our applications as entities in our Vantage system and then add classes that performed authentication between the service router and other applications. The service router also needed to keep track of its tokens in a map and renew these tokens every half hour.
  • Created a solution for our 7 report generation applications that enabled them to retrieve a list of Home Depot stores which are needed to generate different types of reports. This involved establishing a trust relationship in Vantage between these applications and another application called the 'Store Location Information' service. This also required performing the same type of JWT verification as the service router does with our applications.
  • Initially, we were using Spring Data JPA, an Object Relational Management (ORM) system for data retrieval, manipulation and persistence. However, when we began our initial testing in the production environment, we were faced with a volume of data that was unexpected. Selected applications were switched to a Spring Data JDBC which allows a 'raw' SQL approach and is more lightweight. However, we also needed to work more conservatively in our queries, for example, by retrieving parts of the required data and assembling it in the application as opposed to attempting to retrieve it all in a single action using traditional SQL 'JOIN' statements.
  • Work with NonStop/Tandem support staff to discover different aspects about the existing services that are not captured in the actual C code. For example, run schedules, clients invoking these services, etc.
  • Interface with systems reliability engineers (SREs) to discover the correct way to execute different types of deployments and to establish relationships.
  • Challenged teammates to work harder and leverage newer aspects of Java as we switched from a Java 11 to Java 21 focus. Examples include using multi-line strings in test payloads and using more expressive language constructs like 'getFirst' as well as modern 'switch' statements that are less ambiguous than previous versions.

Cloud Engineer

Insight Global Corporation
05.2021 - 12.2022
  • Working at Schneider Electric supporting the EcoStruxure Tool Platform (ETP) Data Processing V2 (DPv2) initiative. DPv2 is the next generation of Schneider’s internal IoT offering based on Microsoft Azure.
  • Attend daily stand-ups and participated in backlog refinement and sprint planning.
  • Develop and maintain GitHub actions responsible for deploying Azure infrastructure and line of business Benthos pipelines.
  • Develop prototypes for demonstrating Kafka message retention and alarms based on a configurable period in seconds.
  • Developed prototype in Java that also featured a JavaFX GUI to help demonstrate concepts to viewers.
  • Developed prototype in Go as well since many team members are not familiar with Java.
  • Developed small Redis client in Go to make Redis transactions simpler and clearer.
  • Maintain and adapt device simulators in Go and Node. These simulators send messages to Azure Event and IoT hubs to mimic physical devices. These are used for internal testing and prototyping to ensure line of business pipelines function in an expected manner.
  • Develop/Maintain Benthos pipelines to encapsulate line of business (LoB) message processing logic.
  • Improved HTTP error handling in pipelines.
  • Deployed pipeline to mirror Kafka topic to LoB Azure event hub.
  • Convert legacy C# device plugins into Go language for use in Benthos.
  • Work with technical writer to accurately capture team processes in both managed and unmanaged environments.
  • Azure Cost Management and reporting.
  • Mentor new developers on the team as well as explain technologies to colleagues in other teams.

Programmer

Cathedral Corporation
Lincoln
08.2020 - 01.2021
  • Company Overview: Supporting a bulk mail and printing processing service provider.
  • Maintained larger PL/B programs in an AIX environment to process client checks and apply enhancements as requested.
  • Resolve rendering issues inside of laser printer text files.
  • Script Inspire Designer-based jobs in a Windows environment and implement enhancements. These jobs used a variety of input types, e.g., CSV files, formatted text files and PDFs. In the case of the latter two types, the files were 'scraped' to harvest relevant data for processing.
  • Leveraged a variety of customer Windows PowerShell programs to perform different tasks like 2D barcode verification and to compress, encrypt and FTP output files for customer consumption.
  • Supporting a bulk mail and printing processing service provider.

Integration Engineer

Millennium Consulting
Attleboro
12.2018 - 01.2020
  • Hired to facilitate data migration in Schneider Electric’s 'OneOffer Data' program, a multi-year effort aimed at harmonizing all of Schneider’s disparate product data and digital assets into a centralized repository and user.
  • In its initial form, the legacy systems heavily leveraged Lotus Enterprise Integrator (LEI) to move the data from Notes to SQL for surfacing on a ColdFusion web front end. Later, the ColdFusion front end was replaced by ATG. This project created several ETL processes to transfer data via a SOAP middleware directly into the SQL back-end ATG to minimize disruption of the ATG portion of the publication chain.
  • Drawing on Lotus Notes and SQL experience as well as knowledge of the existing systems, acted as one of two subject matter experts tasked with the guiding the solution and other teams and participating in cross-functional activities with colleagues in the U.S., Ireland, France, India, and Belarus.
  • Tasks covered three key sub-projects of the main project; in all three sub-projects I acted as the guide to the external consulting firm for validation of their approach and execution: Supply chain, Digital assets (documents and images), Product relationships.

Software Engineer

Schneider Electric, Inc.
West Kingston
05.2017 - 11.2018
  • Company Overview: Employed by one of the firmware development teams in the 'Home and Business Networks' (HBN) group of the 'Internet Division' of a leading energy management company comprising dozens of product brands as well as possessing a global workforce of more than 160K employees.
  • Guided and assisted the development and implementation of a 'Design Verification Tool' (DVT) in Atlassian Jira. As part of the decommissioning of Lotus Notes databases at Schneider, this workflow application tracks the results of hardware tests throughout the lifecycle of a product, though it is not an automated testing tool.
  • Used my years of Lotus Notes development experience to design the process flow, pointing out differences and optimizations where appropriate.
  • Developed a program to export existing test templates from Lotus Notes to kickstart the application launch.
  • Assumed control of the Microlink Simulator tool. Microlink is a proprietary protocol used to communicate with uninterruptible power supplies (UPSs). This tool is a Java SE application with a Windows Dynamically Linked Library (DLL) Java Native Interface (JNI) layer.
  • Upgraded the project codebase from Java SE 5 to Java SE 8 to take advantage of new features.
  • Changed project build tool from Ant to Eclipse/Maven.
  • Migrated UI design to JavaFX.
  • Created a delivery system to package and include a required 32-bit Java virtual machine (JVM).
  • Began coding tasks that have been idle for almost two years.
  • Created custom Maven plugins to process Microlink XML files.
  • Active member of the SmartConnect team. This product offer represents the first cloud-based UPS in the world, allowing customers to observe the health of a UPS through a web interface. The offer uses a Lightweight M2M (LWM2M) server and Microsoft’s Azure cloud computing environment to provide a seamless end-to-end system.
  • Designed optimizations for the cloud-based C# code that represents a 'digital twin' to the customer UPS to reduce to the resource footprint and therefore the cost to Schneider Electric. My contribution was a mechanism that generated C# class files 'on the fly' based on XML device firmware profiles.
  • Client-side Node tools for ElasticSearch data processing.
  • Performed device provisioning troubleshooting using Swagger and Postman.
  • Created analysis tools in Java SE to execute a series of HTTP/REST commands against the cloud infrastructure. This was to validate the integrity of information in internal databases by ensuring that each manufactured device has a web endpoint in the Schneider cloud.
  • Employed by one of the firmware development teams in the 'Home and Business Networks' (HBN) group of the 'Internet Division' of a leading energy management company comprising dozens of product brands as well as possessing a global workforce of more than 160K employees.

Senior Application Developer

Schneider Electric, Inc.
West Kingston
05.2014 - 05.2017
  • Company Overview: Member of the 'Web Machine Team' in the Information Process Organisation (IPO) division of a leading energy management company comprising dozens of product brands as well as possessing a global workforce of more than 160K employees.
  • Refactor existing ColdFusion SOAP middleware application (see 'Orbit' below) to a solution in Java SE and Spring Boot. This entailed the creation of a cohesive ecosystem of 150 Spring Boot jobs and automating execution via the VisualCron scheduler. Regular addition of new classes and methods to adapt to changing business requirements in downstream applications. Though not a strict microservices application, this solution leveraged many of the essential microservice building blocks and APIs.
  • Create Java/Spring API to capture ITD product and document data model and automate knowledge discovery in preparation for initial project phase.
  • Acting as 'business analyst' in Schneider’s 'OneOffer Data' program, a multi-year effort aimed at harmonizing all of Schneider’s disparate product data and digital assets into a centralized repository and user solution.
  • Maintain Maven XML configuration files to build and port Java SE artifacts to integrate with Jenkins CI.
  • Participate in Schneider Electric’s corporate 'Agile Transformation' effort by embracing and extolling Agile and SCRUM practices at different levels in the development hierarchy.
  • Designed and wrote Java API to assist other team members (developers and QA personnel) in creating Selenium tests in Java SE to test website functionality across several environments. The focus was on providing many simple Java methods to reduce the amount of configuration needed to create meaningful tests and emphasize consistency and standards when writing code.
  • Member of the 'Web Machine Team' in the Information Process Organisation (IPO) division of a leading energy management company comprising dozens of product brands as well as possessing a global workforce of more than 160K employees.

Programmer/Analyst

Schneider Electric, Inc.
West Kingston
06.2011 - 05.2014
  • Company Overview: Member of the 'Web Development Team' in the Global Marketing Division of a leading power management company, supporting the internet business of the American Power Conversion brand.
  • Lotus Notes database maintenance.
  • Optimized nightly processing agents to reduce Lotus Notes 'churn' activity.
  • Ensured data integrity by performing routine checks of data flow to SQL (see below).
  • Supported product line business managers in their tasks by explaining database functions and capabilities and making design suggestions when appropriate.
  • Created and executed targeted agents to correct data entry and legacy issues.
  • Created and modified LEI connections, activities, and scripts to transfer Notes data to SQL.
  • Improved source code quality and management by modularizing and refactoring code.
  • Website content.
  • Maintained and enhanced ColdFusion code for apc.com.
  • Maintained and enhanced different types of SQL objects including tables, views, and stored procedures.
  • Mentored junior developers to improve code quality and business skills.
  • Developed a series of components using ColdFusion’s native XML functions for uploading data to Schneider Electric’s Business Service Layer (BSL) middleware via SOAP web services.
  • Member of the 'Web Development Team' in the Global Marketing Division of a leading power management company, supporting the internet business of the American Power Conversion brand.

Lotus Notes/Domino Developer

Data Based Development Systems, Inc.
Manchester
12.2009 - 06.2011
  • Company Overview: Working at Pratt & Whitney Corporation, one of the three largest aerospace and jet engine manufacturers in the world.
  • Member of steering committee responsible for upgrading Lotus Domino software environment from 6.5.x to 8.5.1. Helped troubleshoot a variety of issues relating to upgrades and interaction between Domino and Netegrity's SiteMinder as well as connectivity issues via RDBMS drivers.
  • Rescued misconfigured Engineering Coordination Memo database which allows Pratt & Whitney's Next Generation Product Family (NGPF) to replicate and coordinate engineering changes with their airframe and research partners. Implemented several versions of new changes to streamline extranet replication of documents and raise the quality of code to current standards by using newest available functions.
  • Developed global client and browser-based system that enables to Pratt & Whitney's Global Service Engineering the ability to track repair-related issues on their engines. Created Notrix jobs to move data between Notes and Oracle.
  • Performed analysis on corrupted financial approval routing application and restored missing design elements. Tested and verified movement of financial data between Notes and Oracle via DECS and LotusScript ODBCConnection classes.
  • Developed Xpages application to consolidate several hundred jet engine test results databases into one common database.
  • Provided day-to-day support to customers, including troubleshooting client configuration, access, and browser issues.
  • Working at Pratt & Whitney Corporation, one of the three largest aerospace and jet engine manufacturers in the world.

Education

Ph.D. - Music Composition

State University of New York
Buffalo
01.1998

M.F.A. - Music Composition

California Institute of the Arts
Valencia
01.1990

B.M. - Music Theory

University of Hartford
West Hartford
01.1987

Skills

  • ANTLR
  • Azure
  • Bash
  • Bitbucket
  • Cdk8s
  • Confluence
  • Eclipse
  • Fiddler
  • Git
  • GitHub Actions
  • Gradle
  • Groovy
  • Helm
  • Jenkins
  • Jira
  • Kafka
  • Kubernetes
  • Linux
  • Maven
  • Node
  • Postman
  • REST
  • SOAP
  • Spock
  • Spring (Boot, Core, REST, Security)
  • TDD
  • VS Code

Hobbies and Interests

  • Music
  • Blockchain
  • LaTeX typesetting
  • Cooking
  • Photography
  • Cross-country skiing
  • Maker projects using Arduino and Particle Photon platforms
  • Drone building
  • IoT and IIOT
  • Gardening

Languages

Native, Proficient, Intermediate, Intermediate

Volunteer Experience

  • TEALS volunteer, teaching Java, Westerly High School, 2020-2021
  • Meditation group leader, weekly meditation groups, Department of Psychiatry, Newport Hospital, 04/2018 - 11/2018

Areas Of Expertise

Go, Java 8-21, JavaScript, JSON, LotusScript, PERL, PowerShell, Python, Visual Basic, YAML, XML, ANTLR, ARM Templates, Azure, Benthos, Bash, Bicep, Bitbucket, Cdk8s, Confluence, Eclipse, Fiddler, Git, GitHub Actions, Gradle, Groovy, Helm, JavaFX, Jenkins, Jira, Kafka, Kubernetes, Linux (Arch, RedHat, SUSE, Ubuntu), Lotus Enterprise Integrator (LEI), Lotus Notes Design, Maven, Node, Postman, Redis, REST, SOAP, Spock, Spring Boot, Spring Core, Spring REST, Spring Security, TDD, VS Code, Visual Studio, Wireshark, WSL, Xtend, Xtext

Languages

English
Native/ Bilingual
French
Professional
German
Limited
Russian
Limited

Affiliations

  • TEALS volunteer teaching Java at Westerly High School, school year 2020-2021.
  • Music, cooking, photography, cross-country skiing, hacking and “maker” projects, gardening.

References

References available upon request.

Timeline

Senior Software Engineer

Insight Global Corporation
02.2023 - 09.2025

Cloud Engineer

Insight Global Corporation
05.2021 - 12.2022

Programmer

Cathedral Corporation
08.2020 - 01.2021

Integration Engineer

Millennium Consulting
12.2018 - 01.2020

Software Engineer

Schneider Electric, Inc.
05.2017 - 11.2018

Senior Application Developer

Schneider Electric, Inc.
05.2014 - 05.2017

Programmer/Analyst

Schneider Electric, Inc.
06.2011 - 05.2014

Lotus Notes/Domino Developer

Data Based Development Systems, Inc.
12.2009 - 06.2011

Ph.D. - Music Composition

State University of New York

M.F.A. - Music Composition

California Institute of the Arts

B.M. - Music Theory

University of Hartford
Eric Forte