Bill Kaguru Wanjohi

Software Systems Engineer

Summary

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.

Experience

CivicActions

08/2020 - Present

DevOps Engineer

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).

Spantree Technology Group

12/2017 - 07/2020

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

Civis Analytics

01/2013 - 07/2017

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

Obama for America

11/2011 - 11/2012

Database Administrator

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

Education

Swarthmore College

09/2001 - 05/2005

Bachelor Engineering (Electrical)