Rally Health – Washington, D.C. - December 2016 - present
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.
Dexisive Inc. - Fairfax, VA May 2005 - August 2005
Help Desk Support
Provided help desk support/administration of a Windows network with 25 users. Replaced more than half of the aging hardware with new systems, and moved entire IT infrastructure to company’s new facilities.
BMC Software - Tyson’s Corner, VA - July 2004 - August 2004
Edited RFI responses and assisted in design of company website.
- Programming Languages: Python, Ruby, Go, Java, Groovy
- Web Frameworks: Ruby on Rails, Flask, WSGI, Zope3
- Databases: MySQL, PostgreSQL, DynamoDB, SQLite, ZODB
- Version Control: git, Subversion
- Continuous Integration: Jenkins, Github Actions, Gitlab CI
- Cloud Environments:Amazon Web Services, Google App Engine
- Platforms:Kubernetes, Mesos/Marathon, Linux (Ubuntu/Debian, CentOS), Android, OSX
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