Versatile Application Development Professional with a proven track record in diverse roles, encompassing Project Manager, Team Lead, and Senior Software Engineer, adept at implementing agile development practices and creating and maintaining comprehensive project plans. Demonstrated expertise in constructing durable, lean, and well-structured Java-based applications, accompanied by exceptional code craftsmanship that withstands the test of time. Excellent written and verbal communication skills, complemented by extensive experience in end-to-end web application development and a deep understanding of agile methodologies and full life-cycle software development.
My Work
Education
B.S., Computer Science, University of Maryland at College Park, 1987
Work Experience
(see below)
Hobbies
Travel, Adventure, Sports, Music, Politics
Senior Developer, Account & Card Services, 2021 - 23
Work Experience
Senior developer on account and card services team, responsible for working with architecture lead and business process owner to design and implement system enhancements spanning a complex set of back-end components, micro-services, and consumer applications.
Successfully completed challenging assignments that delivered core functionalities related to accounts, cards, and card owners in company software.
Worked in a scrum-based agile team with QA team and others to scope work, develop solutions, mentor junior developers, and provide testable software to meet business requirements.
Spearheaded efforts to investigate and fix failing regression tests that resulted in a 50% reduction in test cycle failures.
Lead Developer, Application-Level Encryption DDA (ALED), Fiserv, Inc., 2020-21
Lead developer on a project at client (Fiserv) that implemented data encryption/decryption of data at rest in several existing legacy applications.
Within the first 90 days, led a three-person development team in the enhancement of the Nasco DRS application to implement encryption of sensitive data, including:
Encrypting all sensitive data elements in the database (via an application that was later converted into a script).
Sensitive data that appeared on the User Interface (UI) was decrypted after it was read from the database and then encrypted before it was saved to the database.
Application was updated such that any sensitive data that was logged was now written in a structured format containing encrypted values.
Also, within that three-month timeframe, conceived of and created an application to encrypt and decrypt sensitive values and files containing sensitive data elements so as to support development and operations teams when dealing with encrypted data.
Completed analysis and began development on the encryption implementation for DDA Feds (a web service) accessible via REST or SOAP.
Extracted the mapping component from the previous encryption effort into a separate project that could then be consumed by the existing projects and the new project.
Expanded and enhanced the mapping component to support extended requirements, including an XML file-based configuration.
Created a separate log parsing utility to consume, analyze and parse log files so as to identify potential sensitive data by application, client, and field.
Senior Software Engineer, Customer CMS & Site Application, 2011-14
Leader of the development staff for the DISS Enterprise responsible for hiring, training, providing guidance, managing assignments, and reviewing team members. Also scoped work to fit release schedules and tracked and reported on progress. In addition to lead responsibilities, served as senior developer to triage issues, improve code base, fix defects and review changes.
Overhauled issue workflow process that resulted in a 50% reduction in the number of steps. Subsequently tailored JIRA to conform to the project and process in place. Regularly scope, organize, and track development tasks using JIRA issue & project tracking system.
Completely re-wrote the reporting module which had been a regular source of problems. After the re-write, the reporting module was completely stable and rarely required maintenance.
Spearheaded the effort to convert the Change Management System from SVN to git, a change which eliminated the frequent merge issues that had been plaguing the project.
Revamped the data service layer in all applications using Java Generics to consolidate and simplify the classes so they conform to a common standard using common data service and object classes.
Revitalized unit and integration tests that had languished and re-wrote the testing infrastructure for the integration tests. Also overhauled a headless testing module that improved performance ten-fold.
Created an automated Status Dashboard utility that integrated with Jenkins to regularly report on the Status of builds and deployments for the local development and test environments.
Enhanced and revised the structure of application exception classes, internal logging mechanisms, common date and formatting utilities, and unit and integration classes.
Senior Software Engineer, Defense Information System for Security (DISS), 2014-15
Designed and developed secure software solutions for defense information systems, ensuring compliance with industry standards and driving innovation in cybersecurity measures to safeguard sensitive data.
Provided technical guidance and support for various new efforts associated with the DISS applications.
Created an independent screening application using components of the existing application together with enhanced custom code that was fully functional.
Investigated the integration of an ESB into the existing application.
Used Mule ESB to develop components that provide for integration with external systems to exchange and update subject data.
[Java, Kotlin, Oracle, Gradle, & git]
[Java, Java EE, JSF/PrimeFaces, EclipseLink, Oracle 11/12, WebLogic, Maven, SVN -> git]
[Java, J2EE, JSF/PrimeFaces, EclipseLink, MySQL, Tomcat, Maven, SVN & git]
[Java, Java EE, JSF/PrimeFaces, EclipseLink, Oracle 11/12, WebLogic, Maven, SVN]
Senior Software Engineer, Customer CMS & Site Application, 2011-14
[Java, Spring Data JPA, Hibernate, Postgres, Tomcat, Maven, git]
Core member of a small development team that built a browser-based content management system (CMS) and media website. The bulk of the system was written in Java using the Spring Framework including Spring Data JPA with QueryDSL and Hibernate 4.0 on top of a Postgres database.
Developed the initial architecture for the application based on Spring MVC, ReST, and Spring Data JPA best practices.
Wrote significant portions of the application from front-end controllers to service implementations to model and entity classes, and many of the other resources in between.
Additionally, integrated Shiro for authentication/authorization, Orika and Dozer for object mapping, Jackson for object - JSON mapping, Lucene for searching, Joda Time integration.
Also integrated the application with various third-party social media platforms including Facebook (using RestFB), Twitter (using Twitter4J), Google and Dropbox (using their APIs), and Gigya to handle logins with social media.
Built RSS feeds, sitemap generation, and most of the test harnesses to support the JUnit testing.
Senior Java Engineer, Online Financial Planning Application, 2010-11
[Java, Spring, GWT/UiBinder, MySQL, Maven, git]
Senior software engineer on a six-member team that completely overhauled the beta version of the company's online financial planning application in seven months. The team followed the scrum approach to agile development and work was time-boxed into two-week sprints.
Coded roughly one-fourth of the rich client application, which was written in Java and XML using the GWT framework and UiBinder on the front-end.
Also built out part of the client-server RPC interaction based on the GWT RPC mechanism.
Updated the server-side portion of the application as well including implementation of business tier processing and enhancements to the persistence model.
Back-end enhancements encompassed changes to the MySQL database, and the development of DAOs and entity classes with annotations using Spring and JPA.
Project Manager / Senior Java Engineer, Knowledge-Based Authentication (KBA) Application, 2004-10
[Java, J2EE, JSP, Sun One LDAP, BiRT, MySQL, Maven, CVS]
As Project Manager, organized and coordinated the replacement of the application’s sole data provider – an effort that followed agile development methodology and spanned three releases within a five-month period and reduced the company’s data cost from 62 cents to 22 cents per transaction. Used MS Project Plan to plan, track and manage the effort.
As Senior Java Engineer:
Designed and developed roughly a third of the user interface and the supporting java classes, including transaction entry, user and account management, system customization screens and various utilities (using technologies such as EJBs, RMI, JNDI, JMS, XML, and other J2EE components). The UI was mostly JSPs using action classes as support and also included limited AJAX functionality to support certain features.
Coded a significant portion of the account and user management functionality. Originally this functionality was home-grown, but it was later converted to work with Sun One Directory Server, an LDAP implementation, to manage permissions, roles and access to various capabilities of the application.
Overhauled the infrastructure of BiRT-based reports such that it reduced the level of effort to build new reports by roughly half.
Wrote extensive unit test classes using JUnit and coded portions of new system functionality using test-driven development practices to ensure quality.
Consultant, Recourse Analysis Processing System (RAPS), 2002-04
[Objective C, Enterprise Object Framework, Web Object Framework, CVS]
RAPS was the system of record at Fannie Mae to manage the remediation of loans that became deficient. RAPS was the first Fannie Mae application to be developed using Objective C using EOF. It used a Sybase database and originally ran on a NeXTStation before it was ported to Sun Solaris.
Lead technical expert responsible for maintaining the viability of a system that was an integral part of the loan lifecycle process.
Lead Developer, Postal Equipment Operations Tracking Application, 2002
[Java, MySQL, Maven, CVS]
The equipment monitoring system was developed to monitor the status of a variety of U.S. Post Office equipment in local and remote sites. The new application was written in Java on an Oracle 8 database making extensive use of XML to configure the data transfer process.
Served as the sole developer completely responsible for re-writing the application into Java. The system tracked operating status of various postal machines in both local and remote locations and provided end-users with near real-time feedback. The system integrated an open-source logging framework that also provided operations staff with detailed feedback as to the status of the application itself.