Bill Kaguru Wanjohi

Software Systems Engineer

profile-pic

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. While I've performed many different operations duties over the years, I now primarily write software, whether that be customer-facing, admin-oriented, or fully automated. I'm comfortable leading or taking direction, but in all situations I want to be learning, improving and when possible teaching.

Experience

Spantree Technology Group

12/2017 - Present

Software Engineering Consultant

At Spantree we write greenfield web services for small to medium-sized companies before they have an internal dev team. I have also been in embedded in clients' tech departments, modernizing legacy systems and teaching new approaches.

  • Build REST and GraphQL APIs in Kotlin, Node.JS, and Go
  • Build and enhance data pipelines leveraging Apache Airflow, Apache Spark, Pandas, Papermill (Jupyter executor), SnowflakeDB, S3 and more
  • Participate in GV-style design sprints, DDD-style event storming, and XP-style technology spikes to kick off new development efforts
  • Declare desired system architecture with Terraform, Helm, and Serverless frameworks
  • Define Docker images for consistent code execution across environments
  • Wrap technology-specific build tools with Make and/or Jenkins files to ease continuous integration
  • Contribute 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 data security and quality.

  • 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

Seyfarth Shaw LLP

08/2009 - 11/2011

Data Analyst / DBA

Worked for a large national litigation firm as an analyst and database administrator in their electronic discovery practice. We were responsible for facilitating all technical aspects of electronic evidence management for our partner attorneys.

  • Performed complex data transformations of (often dirty) tabular data, primarily via SQL and regular expressions.

Debevoise & Plimpton

01/2007 - 07/2009

Litigation Support Analyst

My role here was similar to Seyfarth. Debevoise was foundational in one respect: the department's insistence on accuracy set my professional standards for work product high.

  • Wrote and administered training modules to onboard new peer colleagues.

Education

Swarthmore College

09/2001 - 05/2005

Bachelor Engineering (Electrical)