Senior Software Engineer2018 - 2021U.Group
Technologies: Java, PostgreSQL, Kotlin, JSON Web Tokens (JWT), Spring, Spring Boot, REST, GraphQL, Microservices, AWS S3, AWS ECS, AWS ECR, AWS API Gateway, AWS Lambda, Terraform, Concourse CI, Apache NiFi, Spring Data Elasticsearch, Spring Data JPA, SQL, JUnit, Testcontainers, Docker, Docker Compose, React, TypeScript, Python, PostGIS
- Developed an application to allow DoD Intelligence officers to track international financial transactions to determine national security risks from foreign investments. Utilized Spring REST microservices, Postgres, Elasticsearch, GraphQL, and React.
- Developed an application to help experienced government contractors mentor small companies who aspire to be government contractors. Used Spring REST microservices, Postgres, and React / Typescript.
- Developed a large data aggregation service that pulled data from government databases such as FPDS and SAM, and correlated it with public financial data sources such as Factset. Utilized Nifi, Postgres, AWS API Gateway.
- Built and managed CI/CD pipelines using Concourse for several projects which were triggered by private Git Hub repositories and sent notifications to Slack. Used Bash scripting as well as customized Docker images delivered with AWS ECR.
- Redesigned a large, monolithic Terraform deployment script to be more modular with less repetition and faster deployments to AWS (S3, ECS, ECR, RDS, Secrets Manager). Integrated this with a newly rebuilt Concourse pipeline.
Senior Software Engineering Consultant2012 - 2018I.S. Consulting
Technologies: Groovy, KeyCloak, AngularJS, Kubernetes, OpenShift, WildFly, PostgreSQL, GWT, Hibernate, JPA, Spring, EJB, SQL, Java
- Built a large enterprise application using Java, Postgres, and GWT from prototyping through maintenance. Made design and architectural decisions and provided guidance and code reviews for several offshore teams.
- Facilitated a large migration into a cloud architecture by building REST-based microservices with Java8, Spring Boot, Redis, and RabbitMQ. Created templates and scripts for automatic building and deployment of services and applications into an OpenShift/Kubernetes cluster.
- Implemented single sign-on with Keycloak and LDAP to function across multiple applications using Spring Security and OpenID. Authentication of REST endpoints utilized the same mechanism but created JWT bearer tokens.
- Performed performance analysis and optimization of Java and SQL code to improve overall responsiveness of the application, especially for an event-sourced data structure. Created documentation and guidelines for other developers to use for performance tuning and analysis.
- Created an android application for receiving payments and streaming advertisements on a tablet deployed into taxi cabs. Application interfaced with both a REST-based data service and the taxi-meter.
Senior Software Engineer2006 - 2007OpenLogic
Technologies: Bash, Sh, Groovy, Java
- Built testing and installation scripts for various collections of different open source projects. The scripts would configure different applications to work together so users could install a whole technology stack together.
- Updated Swing-based Java user interface for displaying and manipulating current installed software stacks.
Senior Software Engineer2001 - 2005Computer Research Inc.
Technologies: WebSphere, IBM Db2, Solaris, AS/400, SOAP, JSP, HTML, Python, Java
- Designed, implemented, documented and deployed a Java/JSP based web application for conducting online purchases of municipal bonds. Interfaced with legacy COBOL code and DB2 databases. Application handled multi-million-dollar transactions securely.
- Designed and implemented a system for handling Orders and Order Allocation requests from a FIX (Financial Information eXchange) data sources and interfacing with legacy COBOL applications. The application was a combination of Java and Python code, utilized raw socket programming, and was deployed to both Sparc/Solaris and Linux environments.
- Collaborated with developers on a project for handling high volumes of financial purchase orders via SOAP web services. Utilized Java, Customized Ant tasks, XML, XML-Schema, FIXML, Axis 1.1, JBoss, Apache, Linux.
- Primary system admin for five production Linux systems and one Sparc/Solaris. Also set up and acted as administrator for our internal CVS Repository. Designed and documented source repository branching and merging strategies.
- Mentored junior developers and led them on a project using screen-scraping technology to interface modern web applications with legacy COBOL applications.
- Worked closely with the QA department to develop, document and implement Release Management for projects, which required multiple components in different languages (e.g. Cobol, Java, and Jython).
Technical Team Lead1999 - 2001Exactis.com
Technologies: Solaris, Linux, LDAP, Oracle, JSP, Swing, Java
- Led a team of developers working with Swing, JSP, and Java-RMI to develop sophisticated user interfaces for content management.
- Spearheaded effort to bring Test-First techniques to the development team and to provide infrastructure for running automated tests.
- Worked on R&D team to find newer and faster templating tools for building high-volume email mailings.
- Supported QA and Perl development teams to interface with Java and Linux based products.
Software Engineer1996 - 1999I.T.I.C.
Technologies: SQL, HTML, C++, Delphi, Java
- Developed client/server applications and 3-tiered applications for Windows with Delphi, MS SQL Server, and Paradox databases.
- Contributed to a large, multi-threaded C++ application for handling huge collections of scanned images.
- Performed network and email server maintenance for the company.
- Built audio capture application for recording voice content in high-fidelity, then encoding and sending the audio files via email.
- Created reusable authenication and authorization framework for Delphi applications allowing for enabling, disabling, or hiding screen components dynamically.