Experience
DevOps EngineerNov. 2018 to Present
Q2
Working on Q2 Open products Biller Direct and Card Swap
Overview
Our small team at Q2 develops and maintains a PCI-compliant SaaS product that enables financial institutions to pay bills on behalf of their members. As principal devops engineer on this product, I am responsible for building out and maintaining the infrastructure where it runs.
Responsibilities
- Develop and maintain staging and production environments.
- Design and continually improve the CI/CD build pipeline through which the product is eventually deployed into production.
- Perform frequent release deployments to production.
- Assist with development environment issues.
Key Technologies
- AWS
- Serverless
- CloudFormation
- JIRA
- Docker
- GitHub
- npm
- MongoDB
- Firebase
- Linux
- Ubuntu
- Bash
- Python
Release EngineerNov. 2011 to Nov. 2018
Starmount / Infor
Release Engineer for retail point-of-sale software written for iOS and java platforms.
Overview
Starmount hired me as their configuration management and release engineer. I was initially responsible for overhauling their build environment to better support development efforts, as there was no one dedicated to this prior.
I am responsible for maintaining Starmount's continuous integration and build infrastructure, ensuring formal release processes across many products and services, maintaining code repositories, and assisting with devops-type issues that arise.
Starmount was acquired by Infor on August 1, 2016 and my job responsibilities did not change.
Responsibilities
- Architect and manage build environment. Includes all aspects of the servers and the software living on them. Environment configured and provisioned using Chef.
- Provide and maintain a stable ecosystem of tools for developers to make use of: code repositories (Bitbucket, Gitlab, Github), continuous integration (Bamboo), artifact storage (Sonatype Nexus).
- Manage GitHub organization for the company.
- Manage Apple Developer Enterprise Program for the company.
- Develop, maintain, and enforce an overall software release versioning process that encourages reliable maintenance by following a predictable software development lifecycle.
- Develop a maintainable continuous integration build infrastructure that scales alongside multiple development teams.
- Develop and maintain project build configuration that ensures successful builds not only in our own environment but in customer environments as well.
- Provide developer support for investigating failed builds, problems with development strategies, and code repository usage.
Key Technologies
- AWS
- Chef
- Bamboo
- Bitbucket
- JIRA
- GitLab
- Nexus
- Docker
- GitHub
- Maven
- Fastlane
- Java
- iOS
- Linux
- Ubuntu
- Bash
- Ruby
- Vagrant
- Virtualbox
Release EngineerOct. 2005 to Nov. 2011
Collaborative Fusion, Inc.
Sole Release Engineer for Collaborative Fusion with the primary responsibility of ensuring all software releases and patches for client systems are versioned and deployed properly. Spent 5 years in a split role as both software engineer and release engineer. In November 2010, shifted full focus to release engineering.
I was brought on board in the company's infancy as a software engineer, implementing web-based software designs via html and css on top of a php backend. Shortly after, I took on the role of the company's release engineer in addition to my role as "the css guru". I wrote custom deployment scripts, managed code repositories, and owned the release process by which all of our software was deployed and upgraded.
At Collaborative Fusion, we wrote software to aid in emergency response preparedness, primarily through implementing the guidelines of a federal program called ESAR-VHP, or the "Emergency System for Advance Registration of Volunteer Health Professionals". Our customers were state and local governments who used (and continue to use) our software as a registry of health professionals to meet the ESAR-VHP requirements. We integrated with accreditation boards to ensure emergency relief coordinators could verify the identity, licenses, and credentials of volunteers before an emergency happened, saving both time and hopefully lives through rapid deployment.
For industry professional development to better serve our customers and their users, I completed a series of FEMA's online independent study courses. Through these, I became knowledgable of a variety of topics relating to emergency response management, incident response, disaster relief, and emergency operations.
Responsibilities
- Management and implementation of Subversion-based version control system from the ground up for multiple code repositories.
- Design, develop, and maintain tools used to deploy and upgrade PHP web software. Using Phing as our main deployment platform, wrote custom tasks in PHP and various Bash shell scripts to provide easier and faster deployment to our servers for upgrades as well as initial launches. Also designed and helped develop internal software to track server information for each client site for use in deployments.
- Responsible for all Collaborative Fusion software deployments and upgrades.
- Provide strategic direction and planning for software release schedule and versioning.
- Provide developer support for software build processes and environments.
- Assist with client support.
- Maintenance of automated build software and environments.
- Work closely with Systems Operation department to maintain server software and network infrastructure.
Key Technologies
- Hudson
- Phing
- PHP
- PHPUnit
- FreeBSD
- Subversion
- Bash
- PostgreSQL
- Slony-I
- Mediawiki
Software EngineerOct. 2005 to Nov. 2010
Collaborative Fusion, Inc.
Software developer for a large code base focusing on front-end development.
Responsibilities
- Design the original web app document framework for primary product, still partially in use today.
- Utilize CSS, JavaScript, AJAX, and XSLT technology to provide dynamic, browser-based applications.
- Manage a scrum team of three other developers. Planned for team sprint goals and deliverables. Adjusted team priorities as needed.
- Creation of unit and regression tests.
Key Technologies
- PHP
- XSLT
- CSS
- Javascript
- HTML
- Subversion
- PostgreSQL
- Mediawiki
- Selenium
- PHPUnit
Education
Slippery Rock University of PennsylvaniaAug. 2000 to Dec. 2004
- Bachelor of Science, Information Technology
- Minor, Computer Science
Hobbies and Interests
- Cycling: I am a cyclist, both recreationally and competitively. Cycling plays a significant role in my life and health and is what takes up a majority of my spare time. I have a Category 4 road racing license and compete in most criterium and road races in and around Austin.
- Personal Finance: I have a strong interest in my own personal finances and have spent a considerable amount of time researching the topics of retirement planning, tax planning, and investment strategies.