Secunetics – Reston, VA - October 2021 - present
Senior Consultant (October 2021 - present)
Migrated production and development environments to an Infrastructure as Code solution using Ansible and Terraform.
Introduced Gitlab to organization and managed Gitlab infrastructure. Introduced code review and CI process to software development lifecycle, and maintained CI pipelines for all software artifacts.
Implemented product functionality to monitor configuration compliance of network of over 2000 network routers and switches.
Maintained organization Nessus scanner for security and compliance.
Implemented policies and gathered evidence to fulfill FedRAMP compliance technical obligations.
Received CISA AES RVA (Risk and Vulnerability Assessment) Operator certification.
Rally Health – Washington, D.C. - December 2016 - September 2021
Principal Operations Engineer (April 2020 - present)
Senior Operations Engineer (December 2016 - April 2020)
Migrated company tooling for Terraform-based ephemeral development environment creation from ad hoc collection of scripts and Jenkins jobs into unified, well-tested, well-documented, idiomatic Python tooling.
Authored and maintained standard pipeline for Docker image builds for company incorporating testing and security scanning. This pipeline was subsequently used as the inspiration for the company standard Amazon Machine Image build pipeline.
Served as primary Jenkins maintainer and expert for organization of over 1,000 engineers, growing infrastructure as organization grew: from one Chef-managed instance serving entire organization to fleet of over 60 Jenkins instances running in Kubernetes (EKS). Wrote company documentation on Jenkins administration and usage, and provided consulting services to teams as needed to assist in CI efforts.
Opower – Arlington, VA - June 2014 - December 2016
Senior Software Engineer in Test (June 2014 - December 2016)
Led quality efforts on Opower's Outbound platform, powering millions of email, SMS, IVR, and print communications. Took team from a primarily manual quality assurance process to a fully automated one involving unit, integration, and high-fidelity end-to-end tests in a microservices environment. In addition, contributed to Opower's Ruby-based test automation infrastructure, and helped guide Ruby coding standards and best practices.
Zope Corporation – Fredericksburg, VA - January 2008 - May 2014
Senior Software Engineer/Team Lead (July 2010 - May 2014)
Led small team working on Zope's flagship CMS product. Integrated tests and packaging with Jenkins continuous integration platform allowing more frequent and higher quality deployments.
Contributed to established open source projects, including the Python standard library, the ZODB database, and Zope 3 web framework.
Implemented hybrid Squid/WSGI-based caching mechanism: improving cache hitrate and speed of cache invalidations. Implemented zookeeper-based configuration and deployment tool, enabling hands-free deployments. Developed new mobile products using the Phonegap framework as well as the native Android platform in both Java and Scala.
Software Engineer (January 2008 - July 2010)
Developed features for Zope’s flagship CMS product, including client-side features such as an easy to use multiphoto uploader, and server-side features including a powerful server-side include mechanism.
College of William and Mary – Williamsburg, VA – August 2003 – December 2009
(See below for graduate/undergraduate education)
Assistant System administrator (September 2005 – December 2007)
Provided help desk support and network administration of School of Mathematics and School of Computer science systems, a heterogeneous Linux/OSX network of approximately 150 machines. Implemented lightweight networked asset monitoring tool.
Teaching Assistant (September 2005 - December 2005)
Led and graded introductory computing lab instruction sessions with 25 undergrads.
Undergraduate Assistant (August 2004 – December 2005)
Provided help desk support for the William and Mary School of Business IT department.
Consultant (August 2003 - Dec 2005)
Tutored first-year Computer Science students with course material comprehension and labs/projects completion.
- Programming Languages: Python, Ruby, Go, Java, Groovy
- Platforms:Amazon Web Services, Google Cloud Platform, Kubernetes, Linux (Ubuntu/Debian, Red Hat/CentOS)
- Automation Tools : Terraform, Ansible, Chef
- Web Frameworks: Ruby on Rails, Flask, WSGI, Zope3
- Databases: PostgreSQL, MySQL, DynamoDB, SQLite, ZODB
- Version Control: git, Subversion
- Continuous Integration: Jenkins, Github Actions, Gitlab CI
- Cloud Environments:Amazon Web Services, Google App Engine
Murphy, John and Coppit, David (2007). Random Generation of Test Inputs for Implicitly Defined Subdomains. International Conference on Software Engineering Workshop.
M.S., Computer Science December 2007
Focus on software engineering and testing.
Thesis: Automatically Generating Random Test Data for Relevant and Implicitly Defined Subdomains
B.S., Computer Science - Cum Laude December 2005
Coursework included: Systems Programming, Computer and Network Security, Programming Languages, Finite Automata, Web Programming, Software Engineering