Bachelor's degree Georgia State University, College of Business Administration, Computer Information Systems.
Technical Skills
- Languages: Java (including 8,11,17), Groovy, Javascript (ES6), TypeScript,
Python, C++, HTML, PERL, PL/SQL, Korn, Borne, BASH and C Shells
- Operating Environment, Databases & Integration: Linux (RHEL, etc.), MacOS,
MS-Windows, Docker, Podman, Kubernetes, Solaris, HP-UX, AIX, Oracle, MS-SQL, Informix, PostgreSQL, MySQL,
Cassandra, MongoDB, AWS DynamoDB, Kubernetes
- Development Tools: Eclipse, intelliJ, Visual Studio Code, vi, Maven, Gradle, Ant,
Git, Subversion, MySQLWorkbench, SQLDeveloper, Postman, JMeter, Fidler2, Charles, Docker, Podman
- Architectures: Microservices, Service Oriented Architecture, Enterprise
Integration Patterns, Multitier Web Applications
- Frameworks: Spring, Spring MVC, Spring Cloud, Spring Boot, AWS Lambda, Flink,
Camel, J2EE, JSF, JSP, React, Angular, Helm
Professional Experience
Principle Software Engineer, Consultant, The Options Clearing Corporation
January 2023 to February 2024
Technologies: Java 11, Apache Flink, Spring 5, Spring Boot 2, Spring MVC, Cypress,
JSON, XML, IntelliJ, Visual Studio Code, GIT, PostgreSQL, BASH, Linux, Windows, PowerShell, Rancher, Kubernetes,
Harness, Helm, Splunk
- Principle consulting member of the development team responsible for developing features, enhancing existing
features and fixing bugs for new and existing microservice applications in an Agile development style
- Participate in design and architecture discussions and decisions with regard to application implementation
and integration
- Participate in daily Scrum standups, code review meeting as well as Sprint Planning and
Retrospectives.
- Applications are written in Java and are built with either the Flink or Spring Boot framework and integrate
with other peer applications using Kafka and REST services
- Applications use a PostgreSQL relational database for persistent storage
- Flink applications are deployed to the Ververica platform using Helm and Harness
- Containerized Spring Boot applications are deployed using Helm templates with the Harness deployment
application
- All application logs are collected, stored and searched using Splunk
Principle Software Engineer, Consultant, Fidelity Investments, Finance (contract)
July 2021 to January 2023
Technologies: Java 8, Spring 5, Spring Boot 2, Spring MVC, AWS, Java, Groovy,
Spock, Cypress, JSON, XML, IntelliJ, Visual Studio Code, Postman, GIT, Oracle, DynamoDB, BASH, Linux, Windows,
PowerShell
- Principle consulting member of the development team responsible for developing features, enhancing existing
features and fixing bugs for new and existing microservice applications in an Agile development style
- Participated in architecture discussions and decisions with regard to application implementation and
integration
- Product applications are Java/Spring using Java 8 running on EC2 instances and integrate with other peer
applications using Kafka and REST services
- Participated in daily Scrum stand-ups as well as Sprint Planning and Retrospectives.
- Contributed to the design and implementation of a new Java based Web Service and Angular based front end
application for in-house use
- Participated in ongoing application enhancements for new features
Senior Java Developer, Consultant, ReconVelocity (contract)
November 2020 to July 2021
Technologies: Java 8, Spring 5, Spring Boot 2, Spring MVC, AWS, Java, Javascript,
JSON, XML, Eclipse, Visual Studio Code, ReactJS, Postman, GIT, Tomcat, MySQL, MongoDB, BASH, Linux, MacOS
- Senior consulting member of the development team responsible for developing new features, enhancing
existing features and fixing bugs in an Agile development style
- Participated in architecture discussions and decisions with regard to application and third-party
integration
- Developed integration solutions with third party data providers
- Provided senior management with quick turn-around Proof-of-Concept applications to showcase analytic
features for the application
- Product applications are React applications with a combination of legacy multi-tier RESTful web service and
microservices using Java 8 running on AWS Elastic Beanstalk and EC2 instances
- Assisted QA testers by providing technical assistance and tools to improve overall quality and improve the
teams spring velocity
- Participated in daily Scrum stand-ups as well as Sprint Planning and Retrospectives.
Senior Java Developer, Consultant, Chick-Fil-A (contract)
October 2017 to October 2020
Technologies: Java 8, Spring, Spring MVC, Spring Boot, Amazon Web Services (AWS)
including RDS, DynamoDB, SNS, SQS, ElasticBeanstalk and EC2, JSON, XML, IntelliJ, Postman, GIT, Tomcat,
PostgreSQL, BASH, Linux, OSx
- Senior consulting member of the Analytics team responsible for collecting, loading, transforming and
presenting analytic information about restaurant sales and customer satisfaction activities as well as support
for the company's loyalty membership program
- Developed multiple micro service applications to provide analytic and loyalty information to other internal
systems, external partner companies and the Chick-Fil-A mobile application
- Developed highly scalable asynchronous applications that can accept large volumes of requests and process
them without the need for backpressure or throttling using AWS SNS & SQS technologies.
- Implemented integration with the AWS Elastic Beanstalk API to enhance their established green/blue
deployment to include the starting and stopping of async services running as listeners of SQS queues
- Developed integration solutions with third party data providers to allow Chick-Fil-A licensee's
transactions to be incorporated into the near real time data capture of transactions for analytic and loyalty
purposes
- All application development and deployment are into the Amazon AWS Cloud infrastructure. Implemented dual
packaging and deployment configurations in Spring Boot to allow builds and deployment to either directly to
Elastic Beanstalk instances or AWS EKS (AWS Kubernetes) using Docker containers. Runtime configuration using
Spring Profiles allow for the same binary artifacts to be deployed without rebuilding from source.
- Enhanced build scripts to store GIT and Jenkins build metadata into Java projects and log the information
on startup. This ensures all code committed is in fact running in the Elastic Beanstalk instance
- Participated in daily Scrum standups as well as Sprint Planning and Retrospectives.
Lead Java Developer, Consultant, Home Depot (contract)
July 2017 to September 2017
Technologies: Java 8, Javascript, Spring, Spring MVC, Spring Boot, AngularJs,
Pivotal Cloud Foundry, JSON, XML, IntelliJ, Postman, Newman, Gradle, Ant, Ivy, JFrog Artifactory (repository),
GIT, Tomcat, Oracle, BASH, Linux, OSx
- Senior consulting member of a team tasked with implementing AMT2, Home Depot's merchandising assortment
scheduling and execution application.
- Application is deployed using CI/CD methodology. Application artifacts deployed to production twice a week.
- Team uses Test Driven Development
- Agile / Scrum with two week sprints
- Supported end user testing, and post deployment support
- Applications developed using Java 8, Spring MVC and Spring Boot
- Maintained legacy application implementations in the code mix that are SOA oriented and implemented in a
more monolithic architecture using Jersey. Responsibilities included migration
from the monolithic legacy application implemented using Jersey to microservices
- Implemented unit and integration tests using JUnit 4, Mockito and PowerMock.
- Implemented end-to-end tests using Postman and Newman.
- Mentored and assisted other team members with various technical issues including Java, Groovy, OSx and
network related issues.
Senior Software Consultant, AT&T (contract)
October 2014 to June 2017
Technologies: Java, Groovy, Apache Camel, J2EE, JSON, Spring, RabbitMQ, XML, SOAP,
HTTP, HTTPS, Eclipse, JMeter, Maven, Ant, Nexus(repository), GIT, Subversion, Jetty, Apache Web Server, Firebug,
Fidler2, Charles (diagnostic proxy), Oracle, BASH, Linux, OSX, Cygwin
- Senior consulting member of a team tasked with updating AT&T's near real time messaging service and
Common Notification Service. These are JSON based RESTful services used by AT&T's multichannel SOA to
support messaging applications.
- The message service provides integrated, searchable SMS, MMS and email messaging for an AngularJS front-end and
other component applications within AT&T's enterprise SOA.
- The Common Notification Service provides subscription based notification events to other parts of the
AT&T SOA.
- Both services ultimately provide messaging and notifications to both third party business customers and
retail consumers.
- Implemented Enterprise Integration Patterns using Apache Camel routes with Camel-Spring XML and annotated
Camel-Spring processor beans.
- Identified the fact that the application did not support an orderly shutdown of the application and
implemented a method to shut down the application using a Linux signal.
- Implemented changes to the build and deploy process to properly support the new messages applications. This
includes changes to the Maven POM and Ant build scripts as well as scripts used for deployment into RHEL.
- Implemented JMeter tests to test routes and beans implementing services within both services.
- Implemented BASH scripts on both RHEL and OSX for various development life cycle tasks such as application
startup, log file backups and cron jobs to clean up old files that are no longer important.
- Implemented BASH scripts on RHEL test servers that wrap JMeter tests and assist testers in their day-to-day
testing and to verify proper service operation during deployments to all environments.
- Mentored and assisted other team members with various technical issues including Java, Groovy, Maven, Ant,
Application Server, Linux, Windows and network related issues.
- Worked with testers to resolve environmental issues and clear blockers to successful project
implementation
Senior Software Consultant, Verizon Wireless, Inc. (contract)
July 2012 to October 2014
Technologies: Java, Groovy, J2EE, JSP, Javascript, AJAX, jQuery, Bootstrap,
Knockout, Eclipse, Spring MVC, Camel, Spring Security, XML, Web Services, SOAP, JSON, Firebug, Fidler2, Maven,
Nexus(repository), Subversion, Websphere, Tomcat, Jetty, Apache Web Server, Jenkins Build Server, Oracle, BASH,
Linux, Websphere, MQSeries, JMS, MS-Windows, Cygwin
- Senior consulting member and technical lead of a team tasked with replacing an existing Java Swing based
Web Start monolith application with a Spring MVC implementation using Bootstrap CSS and JQuery. The web
application is part of an SOA responsible for provisioning wireless devices on the Verizon Wireless network for
third party resellers using their own independent product names.
- The application uses a Single Page Application (SPA) model that minimizes the number of page loads and
delegates updates to asynchronous calls to the back-end services.
- Integrated the web application with the new provisioning services that are part of the multichannel SOA at
the company.
- Implemented back-end services to support both the web based application and the reseller partners directly
(not all partners used the web application and instead used the services directly).
- Implemented Java based POJO access to the application's Oracle database using myBatis (formerly iBatis)
mappers and typical data access (DAO) and transfer (DTO) design patterns.
- Implemented Spring Security for use with the project's new web based application. CA SiteMinder provides
authentication and authorization is implemented using Spring annotations and security tags.
- Implemented content based message router microservice for incoming XML web service requests. Features included
enforcement of content rules, xsd content validation, duplicate content id detection
and rejection and throttling to enforce SLAs and URL Decoding.
- Mentored and assisted other team members with various technical issues including Javascript, CSS, Java, JSP
and Server and network related issues.
- Provided extensive developer platform support and administration.
- Added new repositories to the business' Nexus server for JDK 6 artifacts (Snapshot and Release) to allow
parallel development and deployment of binaries to be used with an older version of IBM Websphere using IBM's
JDK5 and newer binaries using JDK6 and newer Websphere servers.
- Set up Jenkins build jobs to provide continuous automated builds based on source code commits during the
day and periodic scheduled builds overnight.
- Set up Jenkins build jobs to provide one click deployments of the latest software build to Websphere
clusters for use by developers and support personnel. These were implemented using a combination of Jenkins
configuration, BASH and Jython scripting in the Websphere environment.
- Implemented Apache rewrite rules to assist in the conversion of server requests from being sent to legacy
applications to being sent to the new applications.
- Worked closely with the testing teams to insure the testing systems were updated in an orderly fashion and
were operating normally.
Development Lead, Professional Services, Ericsson SATV (contract)
October 2011 to July 2012
Technologies Java, J2EE, XML/XSLT, CORBA, Javascript, Ant, Eclipse, Subversion
(Source Control), JBoss, Tomcat, Oracle, JBoss JPDL, JPF, Apache, BASH, Linux, MS-Windows, Cygwin, Ericsson CMS,
Ericsson OpenStream, Ericsson WatchPoint Studio, Astah Design Tool
- Review High Level Design Documents from Systems Architects for accuracy and consistency. Use high level
designs to establish Level of Effort estimates for Professional Services development.
- Identify issues with custom CORBA Content Store application developed by the Ericsson Professional Services
team and used to provision multimedia assets in a Content Distribution Network. Problems were associated with
sending large (multi gigabyte) content files over the Internet using FTP. Issues encountered included the
firewall closing the idle control channel after an hour causing the transfer to fail. Abstracted the use of FTP
to an interface to allow the use of an alternate FTP client package (moved from ftp4j to Apache Commons Net
package). Implemented code to overcome this issue and advised local technical team on configuration.
- Implemented a SOAP proxy to resolve an issue between the producer and consumer of the service. The producer
of the service had a bug that prevented it from returning a proper file name for a specific type of asset. The
proxy when inserted between the producer and consumer corrected invalid data from the producer and fixed it in
the returned XML.
- Created work flow templates for processing multimedia content and metadata within the Ericsson CMS
application using the Ericsson WatchPoint Studio (Eclipse plug-in).
- Documented custom components developed by the Ericsson Professional Services staff for use by Ericsson
customers.
- Provided on-site training and professional development support to global clients.
Tech Lead, InterContinental Hotels Group (IHG) (contract)
May 2010 to October 2011
Technologies Java, J2EE, GWT, MVP4G, Spring, RMI, XML/XSLT, Javascript, Maven,
Eclipse, Subversion (Source Control), Resin, Apache, BASH, Linux, MS-Windows, Cygwin
- Led team tasked with developing a new release of a web application used by IHG Priority Club Rewards
members to view and manage their rewards accounts
- Team uses Agile Scrum and followed the methodology with two week sprints, with backlog refinement, sprint planning, end of sprint demos and sprint retrospectives.
- Application uses GWT (Google Web Toolkit), MVP4G (Model View Presenter for GWT) for the user interface; as
well as Spring, Hibernate for back-end services running on a Resin web server.
- Responsibilities included direct interaction with business owners to negotiate requirements and
functionality, lead in the definition of the implementation, write code and mentor other technical members of
the team.
- Developed modular, loosely coupled multi-domain Single Sign On (SSO) solution for web applications used in
IHG's B2C web sites.
- Provision and configure RHEL 5 Linux systems, Apache 2.2 web servers and Resin J2EE Application Containers
used for new application development.
- Developed Apache re-write rules in support of new B2C web application development
- Created and maintained Hudson build tasks and services
- Provided technical advice and support to teams throughout the full development life cycle.
Senior Software Developer, Lexis/Nexis (contract)
March 2010 to May 2010
Technologies Java, J2EE, GWT, Hibernate, RMI, XML/XSLT, JDBC, Javascript, Ant,
Oracle 10g, PL/SQL, JBoss, Eclipse, Subversion (Source Control), Apache, BASH, vi, HP-UX 11.x, Solaris 8,
MS-Windows, Cygwin
- Developed application code for the company's web screening web site using the Google Web Toolkit (GWT)
for the user interface.
- Developed custom masking technology to allow masking of personally identifiable information in different ways based on
configuration information stored in the database and retrieved using the Java EE3 JPA/Hibernate persistence
layer.
- Added enhancements to screening tool to allow users to defer automatic the re-screening of candidates based
on time frames specified in the configuration stored in the database.
- Changed style sheet configuration to correct styling issues with the user interface.
Architect/Senior Software Developer, Verizon Wireless, Inc. (contract)
August 2007 to February 2010
Technologies: Java, J2EE, JSP, JSF, JSTL, Seam, Hibernate, Spring, Struts, Tiles,
Stripes, RMI, XML/XSLT, JDBC, Javascript, Ant, Oracle 11g, 10g, 9i, 8i, Toad, PL/SQL, Stored Procedures,
Packages, Triggers, SQL Loader, Perl, JBoss, Apache, Tomcat, Korn, Borne, BASH, vi, HP-UX 11.x, Solaris 8,
MS-Windows, Cygwin, Eclipse, JBuilder, Continuus/Synergy
- Implemented Hibernate based architecture for web application used to configure and manage wireless
switches.
- Added Spring to provide Inversion of Control and aid in configuration and add annotation based transaction
control to Hibernate implementation.
- Added EhCache to Hibernate configuration to improve overall performance when accessing tables primarily
used for reference.
- Developed web application components using JSP, Struts, Stripes and Servlets.
- Directly involved in meetings with end users to help establish use cases and design business process
automation solutions.
- Worked on team implementing web based billing and provisioning system based on JBoss Seam, JSF, RichFaces
and Hibernate.
- Developed web services client using AXIS based on WSDL supplied by another departmental web service
provider.
- Developed XML based client used to update external databases. Used Dom4J to construct XML for http submission to custom server.
- Designed and implemented application framework to allow the creation of custom Excel workbooks in Java.
Template workbooks are created and stored in the database for later use in creating Excel workbook based
reports for the user.
- Developed application functionality using the above-mentioned framework to provide reports to users in
multiple sheet Excel workbooks.
- Converted communications application from using telnet to ssh. The Java based application is used to
collect and update data from/to wireless switches.
- Defined tables, constraints, and triggers and wrote packages, procedures and functions for the application
in PL/SQL on Oracle databases.
- Provided technical support to diagnose issues impacting the production application. This included writing
numerous shell scripts, managing cron tabs, etc.
- Assisted team with network and configuration issues, providing technical knowledge regarding firewall and
other network related configurations.
- Set up the team's wiki (JSPWiki).
- Assisted other developers in setting up and using Eclipse and Tomcat on their PCs. Documented the process
using the groups wiki.
Earlier Experience (April 1981 - August 2007 Resume with these details available on request
Senior Developer, Availity, LLC (contract)
April 2006 to August 2007
Senior Developer, Shaw Industries (contract)
March 2006 to April 2006
Senior Developer, Doosan Infracore (contract)
January 2006 to February 2006
Senior Developer, eMeta - Turner Entertainment
November 2005 to January 2006
Architect/Senior Software Developer, Verizon Wireless, Inc. (contract)
May 2001 to November 2005
Technical Lead/Architect, Visionary Systems, Inc.
September 1999 to May 2001
Senior Software Developer, Sprint (contract)
February 1999 to September 1999
Technical Coach and Mentor. The Coca-Cola Company (contract)
March 1998 to January 1999
Technical Lead Security First Technologies, a subsidiary of Security First Network
Bank
October 1997 to March 1998
Senior Development Engineer, I.B.M. Interactive Media (contract)
June 1997 to September 1997
Senior Systems Analyst, BellSouth Information Systems.
September 1993 to May 1997
Staff Engineer, Professional Services, Scientific Software, Inc. (acquired
by BellSouth)
October 1991 to September 1993
Senior Systems Analyst Scientific Games, Incorporated.
March 1990 to October 1991
Project Supervisor, Personal Computer Development, Responsive Software Solutions,
Inc.
May 1989 to March 1990
Technical Services Team Lead, Digital Communications Associates, Incorporated
April 1981 to May 1989