Senior Software Engineer
Senior software engineer focused on DevOps. Primary responsibilities are providing support for a team of Java/web developers and maintaining a complex server environment. Extensive background in full software life-cycle, particularly deployment and production support/troubleshooting.
- Java architecture and development of high-availability, high-security web systems
- TC Server, Ivy, Git and SVN management, Atlassian JIRA, Bamboo, and Bitbucket administration
- F5 BIG-IP administration - load balancer, application firewall, certificate management
- DB2, Oracle, and assorted RDBMS, NoSQL and RESTful web service integration
- Information security and policy management
- Code review and management of software development standards
Lead Software Engineer (Contract Position)
SBS Creatix / Enterprise Holdings
Saint Louis, MO, 2016-present
General Responsibilities include development and maintenance of an extremely high-throughput web service on a customized Java/WebLogic/Apache stack as part of an agile SCRUM Team, including analysis, design, coding, code review, test automation, security, deployment and production support. Worked closely with business analysts and C/Tux-stack developers to provide application solutions.
Projects and Responsibilities:
- WebRes Decommission - provided technical leadership for a major effort to retire a legacy system with no disruption to partners by designing and implementing a technical architecture that routed and transformed messages to an alternative system, transparent to the end user. This design focused on creating opportunities for test-driven development and intensive parallelization of developer effort, allowing the team extraordinary agility under considerable time and resource pressure.
- Hackathon Initiative - lead a “20%” initiative to host internal hackathons to sponsor new innovation in the organization. Activities include “selling” the proposal to management, planning, facilitation, coaching teams during the event, and hosting the opening and closing ceremonies. This resulted in the department’s first hackathon to resounding success, with all teams presenting a working prototype at the end of the event and the winning team going on to put their idea into production as an approved project.
- EU Commission/Ancillary Pricing - participated in a major compliance effort to provide complete pricing accuracy to meet new requirements imposed in the European Union, working with our Fareoffice partners. This was a new challenge for our agile team, to add many new optional features to the app under a critical deadline while ensuring that our existing partners were unaffected.
- Performed extensive remedial refactorings and other code clean-up activities to fix design, implementation, and security issues with a large legacy application. Also wrote supporting unit tests and assisted testing team with analysis of unit test coverage.
- Provided on-call production support for OTA and related applications, including deployments.
- Performed substitute SCRUM Master duties on an as-needed basis.
Web Systems Architect (Information Technology Specialist I)
Central Technology Services
Jefferson City, MO, 2011-2016
General responsibilities included architecture and infrastructure of a high-availability, high-security suite of banking applications. Managed an environment mixing multiple application stacks - Java/Tomcat and .NET/IIS - across the 13 domains of Central Bancompany’s affiliate banks, including analysis, design, coding, code review, automated testing, security testing, deployment, software and configuration management.
Projects and Responsibilities:
- Bank Name Changes - lead web architecture section of project to change the legal names and domain names of our member banks. I worked closely with operations, database, firewall, and business unit teams to coordinate release and testing of changes. Our environment manages multiple server architectures hosted simultaneously under multiple domains, making this a major architectural restructuring.
- Android App / Remote Deposit - developed Android Internet banking applications for our 13 banks, including implementation of remote deposit capture. Acted as the lead developer from design through release, responsible for dividing the project into units of work, completed them with junior developers, and integrated their work. Worked closely with the QA team and business leads in the testing and release stages, particularly focusing on the stringent performance demands of processing large images with older versions of the Android OS and the findings of a third-party security audit. Continued to support the application after the production release based on user feedback and error reporting.
- Developer Toolchain - administered the tool chain for our Java development teams, including packages for installation on developer workstation, internal web-based build and deployment tools, and source repositories (transitioning from SVN to Git). Maintained and tested internally developed build tools (JADE), evaluated third-party tools, and managed migration to Atlassian build stack.
- Security Auditing - managed various software tools to produce automated scans of the applications and servers the Java/Web team held responsibility for. Evaluated and reported on potential vulnerabilities on a quarterly basis with the other members of the architecture team. Trained developers in remediation techniques and secure coding practices.
- Certificate Authority - managed an internal certificate authority focused on providing integrity to the communications between the various elements of our application stack and developer tools, including our WAF/load balancer, and database connections. Worked closely with mainframe, network, vendor, and business unit teams to secure and troubleshoot connections.
- Document Archive - developed library and application code allowing smooth transition between two document database architectures providing statements, tax documents, and reports.
- Business Intelligence - architected and developed first-party super-cookie tracking system, coordinating with marketing department and third-party web developers to serve shared needs.
Java Developer (Information Technologist IV)
State of Missouri - Office of Administration -Information Technology Services Division
Jefferson City, MO, 2007 - 2011
General Responsibilities included development of internal web applications in JEE and SQL reports. Mentored and advised other software developers and interviewed candidates for related positions. Conducted code reviews and evaluated bid specifications and proposals.
Projects and Responsibilities:
- MOCWIS - Worked with contractors and EPA as technical lead in developing Missouri’s ICIS-NPDES system. Designed, developed, documented and tested in-house DNR JEE/DB2 web applications such as the Staff Planning System and Missouri Clean Water Information System.
- Issue Tracking - Pioneered, customized, and administered the use of the JIRA issue management system.
- ECM - Developed support software for and acted as technical advisor to other programmers working with Enterprise Content Manager.
Scattered Blue Communications
Springfield MO, 2005 - 2006
Developed back-end software and user interface for web search application. Created system for rendering preview images of searched web pages.
Missouri State University
Bachelor of Science majoring in Computer Science
Focused on Java programming, with advanced coursework in software engineering, operating systems, databases, graphics programming, and artificial intelligence.
- Served as departmental tutor in computer science.
- Founding President of UnityARC, an ecumenical campus religious organization.
- Dean's List, National Honor Society