Employment
Equifax, Atlanta, GA
11/2020 - Present, Senior Architect
Hands on Senior Architect responsible for designing cloud based solutions
- Contributed to company wide, multi-year business transformation which double the growth rate while driving down operational
costs
- Tasked with finding innovative solutions to adapt a 25-year-old, mission control application to a more cloud native
architecture at GCP
- Ensured business SLAs are honored by implementing solutions to improve batch processing speeds by 10x
- Realized time savings equivalent to two full time developers by improving developer test environment performance by 50x
- Implemented innovative Angular frontend using Jupyter APIs to integrate Jupyter Lab capabilities with operational data views
- Fixed numerous arcane memory management bugs in very large legacy C++ code base
- Worked with team to migrate from Oracle to Cloud SQL PostgreSQL
- Reduced labor by implementing resource management tools to automate operational support tasks
- Improved release efficiency by implementing process similar to Git Flow
7/2020 - 10/2020, Lead SRE / Senior Architect
- Built custom Jenkins pipeline to support 75+ internal applications running on top of Kubernetes
- Saved $400k annually by replacing Docker Compose with a simple Makefile/Dockerfile solution
- Worked with SRE team to establish common AWS based service platform Kubernetes, Jenkins, Prometheus and Grafana
12/2019 - 7/2020, Senior Architect
- Documented architectural patterns approved consistent with corporate Enterprise Architecture standards
- Coached engineering teams on application of architectural patterns to API development
- Educated engineers on Kafka-based EDA to support high volume systems
Neptune Consulting LLC, Sugar Hill, GA
11/2017 - Present, Owner/CEO/Principal Architect
Established successful consulting practice dedicated to helping organizations achieve business goals through
optimized technology strategies
- Defined API based partner integration strategy for leading hospitality client
- Migrated SQL Server instances to RDS as part of full AWS cloud migration
- Migrated SQL Server instances as part of full Azure cloud migration
- Tuned numerous TSQL stored procedures to improve performance up to 80x
- Implemented industry changing real time analytics solution for optimizing out of home market advertising
- Enabled client to improve key analytic functions from months to seconds on a 6-month project
- Produced 54 new APIs backed by Snowflake and Aurora to search, analyze and manage inventory
- Created online gamified financial education app
- Built and led team of 5-8 engineers
- Built initial prototype
- Designed architecture based on AWS (Cognito, DynamoDB, S3, CloudFront) with a ReactJS frontend
- Provided technology strategy and solution delivery for leading logistics company
- Designed and implemented enterprise API and microservices strategy
- Leveraged architecture to enable two ERP migrations within 1 year
- Completely overhauled customer portal to create a smooth, self-service experience for customers
- Led technology team between 2-10 engineers while maintaining an active role in software implementation
- Key contributor in effort to migrate from fully on prem to fully Azure hosted within 18 months
- Implemented fully automated CI/CD pipelines for all microservices, API gateway, UI components and static assets
- Used Azure Functions to host Spring Boot applications
- Leveraged OData to integrate proprietary APIs with Dynamics 365
- Created hybrid Cloud Migration Strategy for large gold mining operation
IHG, Atlanta, GA
6/2014 - 10/2017, Senior Technical Advisor
Senior Software Architect, Enterprise Architect, Technical Architect
- Led creation of architecture and design for key partner integrations
- Created partner integration architecture
- Led effort to apply architecture to integration with leading car rental partner
- Led effort to apply architecture to integration with leading online ebook retailer
- Led effort to apply architecture to integration with leading restaurant reservation partner
- Enabled immediate revenue uplift and ability to integrate with future strategic partners
- Leading contributor to defining API Management Strategy
- Leading contributor to definition and articulation of API Management vision
- Leading contributor to vendor evaluation and selection effort (selected Apigee)
- Led creation of corporate RESTful services strategy
- Led efforts to publish new and existing SOA components on the API gateway
- Leveraged API Management strategy to support Responsive Web implementation
- Optimized ESB deployment footprint to reduce costs by $500k+ per year
- Worked with team to construct real time analytic system based on EDA leveraging Kafka and Hadoop
12/2012 - 6/2014, Director, Integration Architecture
Senior Leader on Enterprise Architecture Team
- Contributed to the establishment of a corporate enterprise architecture review process
- Applied TOGAF to corporate EA discipline as part of cross team collaboration
- Leading contributor in effort to replace 50-year-old reservation system
- Leading contributor defining technology vision
- Leading contributor to creation of migration strategy which leveraged SOA and other integration strategies
- Built team of 50+ individuals to implement SOA based migration strategy
- Played a leading role in strategic migration of legacy reservation system
- Led migration of key supporting components
- Optimized infrastructure footprint rsulting in $2.5M+ cost savings
- Created corporate Distributed Cache Strategy
- Defined and articulated objectives
- Led vendor evaluation and selection (selected Pivotal GemFire)
- Led strategy implementation
- Leading contributor to redefined hosting strategy
- Defined IaaS/Paas/SaaS strategy
- Led migration of middleware assets
- Optimized architecture for new environment
4/2012 - 12/2012, Senior Technical Advisor
Lead Architect, Middleware Team
- Created corporate ESB Strategy
- Defined and articulated objectives
- Led vendor evaluation and selection (selected RedHat JBoss Fuse ESB)
- Led strategy implementation
- Led efforts to stabilize key revenue impacting components resulting in improved system reliability
- Technical lead on initiative to create a Secure Payment Solution
- Helped to define future state vision for corporate and property tokenization and payment processing
- Designed solution to realize the vision
- Evaluated vendor offerings
- Led internal efforts to implement the solution
7/2008 - 4/2012, Technical Advisor
Senior Software Engineer, Loyalty System
- Leading developer on world class hospitality Loyalty platform.
- Established rigorous development process to maintain code quality with
mixed on shore/off shore team.
- Built virtualized development lab based on KVM.
- Installed and maintained almost all development infrastructure
components for high profile internal project, including:
- Hudson build server
- git SCM
- Mingle workflow
- Artifactory
- WebSphere MQ
- Oracle EE
- yum repository
- Terracotta
- Responsible for packaging and release management of 11 applications using maven.
- Directed development of junior and senior resources both on shore and off shore.
- Upgraded application security to meet PCI compliance.
- Integrated nuBridges database pack into two applications.
- Designed and implemented custom parser for many legacy data formats.
- Implemented XSLT inside Fuse ESB to support SOA versioning.
- Designed and implemented continuous performance monitoring.
- Contributed heavily to development of key application running inside equinox.
- Optimized key web service using Terracotta's distributed cache.
McKesson, Alpharetta, GA
3/2008 - 7/2008, Senior Software Engineer, Contractor
- Fixed several critical performance issues.
- Added custom features per project for HPF customers.
- Installed and managed Hudson continuous integration build server and created automated release process.
- Converted StarTeam SCM repo to git.
- Designed and implemented license key management system using grails.
Reflex Security, Inc., Atlanta, GA
7/2006 - 3/2008, Senior Software Engineer
- Rewrote our client/server networking layer to use the SSH2
protocol for encryption and authentication. Submitted several patches
to the jaramiko project as I fixed bugs in that library.
- Ported system from MySQL to PostgreSQL for the purpose of
implementing referential integrity and using ACID RDBMS features.
- Enhanced our embedded OS platform to support our middleware
components which made our deployment both easier and more flexible.
- Implemented C to Java messaging subsystem based on XML using XBinder and JAXB.
- Implemented user based Network Access Control functionality for our IPS product.
- Implemented Spring Remoting using embedded Jetty web container for
as the basis for future client/server (Java-to-Java) interactions.
- Strong advocate for agile development, particularly TDD. Used JMock
extensively to improve testability.
- Installed and managed Continuum continuous integration server.
- Implemented PXE based ESX installation process that automated almost
all manufacturing steps for our middleware platform.
The DBA Group, Alpharetta, GA
4/2005 - 2/2007, Senior Consultant
SITA INC, 8/2005 - 2/2007
- One of two engineers that architected and developed the Global
Customs Gateway service which enables electronic customs reporting for
airlines.
- Customized Middlegen to support Spring-based DAO and service layers.
- Customized Middlegen to support full database round tripping,
significantly improving development response to database schema
modifications.
- Used Middlegen, Hibernate and Spring as the underpinning for the DAO layer.
- Implemented Struts-based UI inside JBossAS.
- Used Jencks JCA container to implement message driven POJOs for
WebSphere MQ integration.
- Created XML schemas for document exchange protocol.
- Used JAXB to manipulate XML documents.
- Managed continuous integration build using Luntbuild.
- Managed defect tracking using Bugzilla.
- Used the Eclipse IDE.
SITA SC, 4/2005 - 2/2007
- Implemented global resource scheduler for SMTP-based fax service for
major network service provider.
- Used Oracle ADF to implement database access layer.
- Implemented fax service from scratch to production in two
months with no known bugs at release.
- Implemented network communications using IMAP via the JavaMail API.
- Implemented XML-based communications protocol using JAXB.
- Embedded Tomcat web container to provide SOAP-based thread
control inside a stand-alone Java application.
- Used the Oracle JDeveloper IDE.
- Designed and developed migration path from ADF to Hibernate in order
to promote rapid development and code maintainability.
- Moved IDE development from JDeveloper to Eclipse.
GuardedNet, Inc., Atlanta, GA
1/2003 - 4/2005, Senior Software Engineer
- Senior member of development team responsible for producing neuSecure,
an enterprise-level network security management product written
primarily using Java and C++.
- Sole developer of the UCM (Universal Collection Module) and XML Conduit
which were both stand-alone, multithreaded Java applications.
- Designed and implemented a staged event-driven architecture (SEDA) in
Java as a foundation for the next generation of our product.
- Designed and imlemented a generic Java-based communications framework
and routing mechanism at the application level.
- Implemented SSL/TLS communications framework in Java to provide a
secure data collections channel using OpenSSL and pureTLS.
- Implemented System V message queue framework in C++ for interprocess
communication bringing about a 15-fold increase in local communications
speed.
- Implemented an HTTP/S communications client for Cisco IDS 4.x devices
using the Cisco RDEP protocol. Also implemented the normalization logic,
using Xerces to parse the XML.
- Implemented an HTTP/S bridge to support remote JDBC connectivity.
- Developed a JMS bridge using JNI to allow cross-language message
passing between Java and C++.
- Redesigned key components of the system to make extensive use of
threads in order to increase performance and promote scalability.
- Implemented a thread-safe JNI link that allows perl to be called from Java.
- Implemented a remote process control mechanism allowing granular
start/stop capabilities via a JSP client.
Retek, Inc., Atlanta, GA
11/2001 - 12/2002, Software Engineer III
- Senior member of research and development team responsible for
creating the next generation of core functionality for our predictive
software applications. The new version is completely written in C++ to
run on Windows (MSVC) and Unix.
- Designed and developed a sophisticated calculation engine in C++ for
manipulating multidimensional arrays as part of a team effort.
- Designed and developed a custom function and procedure mechanism.
This allows C++ developers to add functionality almost trivially to
the calculation engine and to do this dynamically through shared
libraries.
- Implemented various spreading and aggregration algorithms that
manipulated data across mappings, particularly with respect to time
series data.
- Designed and developed a flexible database caching mechanism in C++ to
minimize disk access. This brought a 20-fold increase in speed to key
areas of the system.
- Designed and developed multithreaded (pthreads) session management
server in C++ using TCP/IP sockets.
- Made significant contributions to our C++ portability library,
including classes to manipulate FIFOs, files, processes, threads,
command-line arguments, and dates. This layer allowed us to support
Windows and three flavors of Unix on two separate compilers fairly
seamlessly.
- Rewrote build system to take advantage of gmake's parallelization. I
reduced the number of Makefiles by about 60%, simplified the process for
maintaining and adding Makefiles, and reduced the total build time by a
factor of 4.
- Made extensive use of STL including maps and multimaps, sets and multisets, vectors and lists.
- Used quantify to identify code segments that needed to be refactored to reduce CPU consumption.
- Used purify to identify and fix memory leaks.
- Ported multidimensional database system to Linux (written in C).
- Used Extreme Programming model (XP) to develop software in iterative cycles.
Silverpop Systems, Inc., Atlanta, GA
5/2000 - 8/2001, Senior Software Engineer / Team Lead
- Managed projects as a technical lead supervising up to three developers.
- Designed and lead development of a content management system written
in Java. This subsystem was a crucial component of the redesigned
enterprise product as our company shifted focus.
- Used JDBC to communicate to an Oracle backend.
- Used XML to communicate between business objects and database objects.
- Deployed subsystem through J2EE servlet/jsp architecture.
- Developed JUnit regression tests.
- Used Javadoc to provide internal documentation.
- Designed and lead development of a content management system written in C++.
- Designed and lead development of a distributed file system written in
Perl for the distributed network product. This system allows users to have
access to common content in a distributed environment. This file system
scales to over 100 million files without performance degradation. The
virtual file system structure resides in a database.
- Lead team of developers to optimize enterprise Perl system resulting
in a 50% reduction in the system's memory consumption.
- Performed substantial database and code tuning using explain plan and Optimizeit.
- Developed a Java slideshow applet and servlet pair for use in our enterprise product.
- Developed a system in Perl to retrieve email from web-based hosts (i.e.
Hotmail) and forward it via SMTP over TCP/IP sockets.
- Used Extreme Programming model (XP) to develop software in iterative cycles.
GenRad, Inc., Alpharetta, GA
7/1999 - 5/2000, Support / Developer Analyst
- Worked on porting enterprise, Oracle-based MES written in C from Solaris to Linux.
- Developed a means for and wrote a white paper on executing atomic
procedures using a voluntary locking mechanism. This procedure is similar
to thread synchronization except that it is designed to work for multiple
processes on multiple servers.
- Mentored junior-level analysts on development and debugging techniques.
- Developed a logic parsing system in Perl to aid debugging.
- Developed several custom enhancements including new transactions as well as modifications.
- Developed a debugging proxy in C using TCP/IP sockets.
- Performed on-site installations.
- Reduced the number of outstanding support issues for a major customer
by 75% and successfully minimized MES downtime, saving the company
millions of dollars.
- Debugged protocol-related problems at the socket communications level.
- Enacted performance testing/tuning in a lab environment for the port to Tru64.
- Supported SFDM 3 on SCO and SFDM 4 on Solaris and UX.
- Managed customer relationship for two Fortune 100 clients and was
responsible for maintenance development and enhancements.
- Available for 24-hour support for 2 clients via pager.
Computing Solutions, Chamblee, GA
4/1998 - 7/1999, Developer / Team Lead
- Full life-cycle responsibility for all projects.
- Managed projects as a technical lead supervising up to four developers.
- Implemented database-driven applications using MS SQL Server, Interbase, and Access.
- Developed client apps in VB, MSVC, Java, and Access.
- Developed server-side utilities in C/C++.
- Designed and implemented a database replication system written in C++
for Interbase on Linux which utilized the Borland Interbase C libraries.
- Designed and implemented a data collection and gate control system
using C++.
- Designed and implemented credit card authorization software that uses
the MAPP protocol. Written as a C library and used in a Delphi application
by a major travel company.
- Designed and implemented a customer database for a small CLEC used to
track contact information, payment history, and to generate bills and
disconnection reports.
- Designed and implemented a benefits tracking database for a
medium-sized consulting firm.
- Designed and lead development of a daily feedback system that tracks
employee performance, vacation, sick time, etc. Used by a major
telecommunications company to make performance-related decisions.
- Designed and lead development of a campaign contribution tracking
database for a gubernatorial campaign. The application tracked
contributions and commitments and was used for disclosure reports.
- Designed and developed a Perl-based mail-forwarding system using the
POP3 and SMTP protocols over TCP/IP sockets.
- Installed and maintained Linux email/database/file servers for
internal use as well as for two clients.
S2 Systems, Inc., Dunwoody, GA
1/1997 - 4/1998, Customer Support Engineer
- Focused on ensuring zero down time for Fortune 500 companies in
mission-critical financial services and logistics implementations.
- Used my knowledge of C to locate problem areas and submit patches to
the engineering group.
- Assisted customers with configuration and administration related issues.
- Developed a responsibility expectation agreement between professional
services and customer support related to our transaction-processing
software.
- Developed introductory and troubleshooting documentation for the
transaction-processing software.
- Developed a Perl script to export information from our original
call-tracking database so that it could be imported into the new
customer-support system.
- Supported customers on VOS, AIX, and FTX.