2020 — 2023
San Francisco, California, United States
Along with continuing the work described below, helped hire and train new software developers. Hosted regular office hours where all team members could drop in on a zoom call and pair program or ask questions. Planned work to be executed by the team. Lead sprint retrospective meetings, guiding the team to suggest and implement process changes to improve productivity.
Worked with customer success team and clients to onboard our largest customers, developing new integrations and improving system to meet enterprise needs.
2017 — 2020
San Francisco Bay Area
As the first engineering hire, I designed and built much of the core of the Pathlight app.
Built ETL pipeline, ingesting data from dozens of sources into Postgres databases. Built application allowing users to query data from Postgres, Redshift, Snowflake, and live APIs. Results of these queries were sampled and stored as time-series data and visualized for users.
Used Javascript (React) on the front-end and Python (Django) on the back end. Used Redis for caching, locking, and orchestrating distributed workloads.
Managed all infrastructure in AWS. Deployed Docker images to AWS ECS. Ingested log data using AWS Lambda. Administered our Postgres database, partitioning large tables and deploying PgBouncer to scale our product.
Analyzed slow queries, rewriting them to be faster or managing indexes as needed. Explored data in Postgres and Splunk to deliver business insights, reports, and discover root causes of production issues.
2014 — 2017
San Francisco Bay Area
Maintained a library of data visualizations suitable for viewing time-series and geographic data. Designed and implemented testing system using python and imagemagick to generate images from SVGs produced by the library and diff current images with master images. Massively sped up writing tests for chart behaviors.
Developed a SQL validation library using Java and Antlr. New validator was several orders of magnitude faster than the previous solution in worst case scenarios (from several minutes down to a few seconds in some cases).
Using Python, designed & implemented parser and interpreter for a simple template language. This replaced an old regular-expression based version, making it easy to extend for other team members. Made syntax more regular and correctly migrated about a million templates.
Maintained a React-based single page application hosting the client-facing features. Built API features in Python, Django, and Postgres.
2013 — 2013
San Francisco, California, United States
Cleaned up messy PHP caching system, leading to improved stability. Other team members could understand the code better, making it easier to modify it without breaking things.
Rapidly developed features during holiday rush using PHP and backbone.js. One major focus was improving page load times, which directly led to revenue increases.
2011 — 2013
Utah, United States
Lead frontend developer for the PricingTrends product from its inception. Implemented javascript-heavy UI features, such as a data table that loads (and garbage collects) rows lazily as you scroll.
Education
Brigham Young University