Experience

Backend-focused full stack developer with 10+ years of experience spanning data engineering, infrastructure, and application development. Strong background in building scalable systems, streamlining workflows, and integrating large datasets to support data-driven decision making. Adept at collaborating across engineering, data science, and product teams.

View Resume (PDF) ↓

Senior Software Engineer (Contractor)

2026 - Present

Epic Games · Remote

Building internal tools to support engineering and production workflows.

Independent & Freelance Developer

2024 - 2025

Self-Employed · Portland, OR

Built full stack and data engineering projects to deepen expertise across Python, cloud infrastructure, and CI/CD, including an end-to-end ETL and REST API pipeline. Created Lexicon, a daily word puzzle game with a custom API backend. Developing a soccer management simulation in Godot with procedural world generation, complex data modeling, and RPG-style progression systems. Visit the projects page for a deeper look at these and other personal projects, including a playable browser-based soccer game on this site!

View my personal projects →

Software Engineer II

2021 - 2024

Comscore · Portland, OR

Highlighted projects

On-prem to AWS Migration

Served on a dedicated team responsible for migrating the company's core data infrastructure from an on-prem Perl stack with custom distributed processing to a modern AWS environment using Java, Airflow, and Spark. Contributed to decisions on API design, testing standards, and service structure that guided how the new platform was built.

Django REST API

Built a Python Django REST API from the ground up for complex query workflows in a modern AWS environment. Designed the service layer for testability with isolated services, deterministic test data, and automated unit and integration tests. Implemented a compatibility layer for a legacy Postgres 9.6/CentOS 6 system to bridge old and new infrastructure.

ClickHouse Analytics API

Designed and tested a Python API over ClickHouse for large-scale aggregation and joins of TV event and demographic data. Used deterministic fixtures, query-level validation, and automated regression tests to ensure correctness at trillion-record scale. Partnered with Data Science teams to produce analytics-ready datasets from trillions of raw records.

Ad Data Nationalization

Designed and implemented the nationalization logic for a TV schedule dataset using Java and Spark, solving the problem of creating a single national broadcast schedule from hundreds of market-level schedules with overlapping and conflicting data. Defined rules for when local market differences should override national defaults and handled edge cases where no clear precedent existed. The resulting dataset supported contracts with Amazon and was consumed by data science teams for extrapolation and projection models.

Data Pipelines & CI

Authored and maintained Airflow DAGs to orchestrate data ingestion, transformation, and validation workflows. Built and owned a Jenkins-based CI pipeline using CloudFormation that enforced automated unit, integration, and regression test gates, deployed to isolated test environments, and surfaced failures early while controlling AWS costs. Optimized pipeline runtime from over one hour to 20 minutes by parallelizing tests and removing unnecessary Docker image rebuilds. Led the upgrade of a legacy Java 8 application to Java 17 with zero downtime.

Data Monitoring Platform

Expanded the platform's user base to support new teams and use cases, optimized performance, and authored comprehensive documentation to lead the handoff to an overseas engineering team.

Software Engineer I

2019 - 2021

Comscore · Portland, OR

Highlighted projects

Data Analysis Platform

Developed a new cloud-based Angular product supporting data analysis teams. Worked across the full stack to deliver features that helped analysts work more efficiently with large datasets.

BI Tools

Continued development on a custom Redash instance, providing new features to a business intelligence platform. Created dashboards and alerts to serve internal teams and alert stakeholders to critical data issues. Provided documentation and support to train users on how to self serve and retrieve their own data.

TV Ratings Aggregation

Maintained and improved a large-scale Perl ETL pipeline running on a custom distributed processing framework, an early predecessor to container orchestration systems like Kubernetes. The pipeline produced the company's main client-facing TV ratings reports by combining demographic, schedule, and advertising data. Participated in a 24/7 on-call rotation to debug and resolve production issues under tight SLAs.

Data Monitoring Platform

Expanded the platform to approximately 50 analytical views with CRUD workflows for tracking and resolving data anomalies. Integrated additional internal and third-party data sources. Managed a 3-person team's kanban board, refined tickets, and served as liaison between stakeholders and engineers.

SQL and Python Training

Organized and led a weekly lunch meeting to teach SQL and Python to data entry specialists and data analysts. The sessions focused on practical skills to help colleagues automate repetitive work and engage more directly with the data they handled every day.

Data Analyst & Team Lead

2014 - 2018

Comscore · Portland, OR

Highlighted projects

Data Monitoring Platform

Created a web application using Angular, Flask, and PostgreSQL to monitor fluctuations in millions of data rows, saving a team of 15 over 40 hours per week each.

Workflow Tracking Tool

Designed and built a tracking tool using VBA in Microsoft Access to provide workflow improvements for the team.

Team Leadership

Led a team of 10-14 people, assigning tasks and managing workflows across client deliverables. Onboarded clients and served as a liaison between internal teams and client-facing staff. Also acted as QA for front-end developers, validating new features and debugging UI issues.