I have deep experience in web services, relational databases,
batch data processing pipelines, and the support systems needed to deploy,
maintain, and secure them. I always want to be helping and improving.
At CivicActions I operate High Risk Public Trust web application
systems for a U.S. federal government agency.
- Transition traditionally administered LAMP VMs to be provisioned automatically with modern tools.
- Build continuous integration pipelines to speed development and find bugs pre-deployment.
- Write python scripts to automate compliance tasks intrinsic to project authorization.
- Support and sometimes contribute directly to applications based on the Drupal CMS, the Moodle learning platform (both PHP), and the CKAN open data management system (Python).
Software Engineering Consultant
Wrote greenfield web services for small to medium-sized
companies before they have an internal dev team.
I was also embedded in clients' tech departments,
modernizing legacy systems and teaching new approaches.
- Built REST and GraphQL APIs in Kotlin, Node.JS, and Go
- Built and enhanced data pipelines leveraging Apache Airflow, Apache Spark, Pandas, Papermill (Jupyter executor), SnowflakeDB, S3 and more
- Participated in GV-style design sprints, DDD-style event storming, and XP-style technology spikes to kick off new development efforts
- Declared desired system architecture with Terraform, Helm, and Serverless frameworks
- Defined Docker images for consistent code execution across environments
- Wrapped technology-specific build tools with Make and/or Jenkins files to ease continuous integration
- Contributed data-oriented React components to front-ends
DevOps Technical Lead
One of three founding engineers in this software/consulting data analysis firm.
At times focused on client work,
at others contributing to our core web application codebase,
my responsibilities eventually settled on leading our technical operations.
I instituted a culture of continuous improvement,
configuration as code and shared responsibility.
We tackled diverse challenges with agility,
while maintaining an obsession with quality and data security.
- Built a cloud-based technical infrastructure from zero to millions in billing.
- Implemented an API-only, version-controlled, 100% peer-reviewed configuration process for all production systems, using git, Ansible, CloudFormation, cloud-init and several Linux distribution package managers.
- Facilitated continuous delivery using SaaS and open-source tools, including Capistrano, Docker, Packer, CircleCI, systemd, and supervisord
- Instrumented systems for active and passive monitoring and actionable alerting with tools like PagerDuty, CloudWatch, DataDog, SumoLogic, statsd and Elasticsearch/Kibana.
- Information security responsibility for all products and services.
- Managed the company-wide HIPAA and SOC 2 certification processes
- Fostered a culture of living documention of procedures, with all team members actively following and editing our Confluence wiki.
- Contributed to Ruby, Java, and Python application codebases, particularly our Rails monolith
Administered both the core web services application database (MySQL)
and the analytics database cluster (Vertica).
- Performed regular maintenance, tuning, backups, recovery and capacity upgrades of production analytics cluster, under heavy and increasing load.
- Managed the live sync of data from disparate transactional database to Vertica.
- Constructed ETL pipelines and data models in order to, for example, improve the campaign donor pipeline.
- Provided round-the-clock support for system availability issues.
- Performed complex data processing to aid analysts in answering key leadership questions