I enjoy finding creative solutions to hard problems.
Proficiencies
Frontend
React
HTML
CSS
Javascript
Backend
Ruby on Rails
MySQL
Elasticsearch
Sidekiq
Cassandra
Redis
Datadog APM
AWS
EC2
S3
RDS
Hobby languages
Elixir
Lisp
Haskell
Rust
Experience
Senior Software Engineer
Kit is an email marketing platform focused on content creators.
Refactoring
Led a project to rebuild core of business email sending code. We improved performance, reliability, correctness, and business flexibility with no downtime.
Extracted high volume link click tracking to its own service, improving relability and security.
Redesigned Sequence email feature for observability and performance improvements.
Application Performance
Regularly solved stability compromising MySQL query and access problems.
Led an application wide performance project, significantly reducing page response times and timeouts.
Migrated MySQL-based email activity tracking to Elasticsearch, scaled out to 2.5 billion emails/month (~150bn total records).
Designed indexes to optimize SQL queries, including using Github's gh-ost tool for online schema migration.
Revised and rewrote SQL queries to address suboptimal query plans.
Cross-Team Collaboration
Regularly worked with product and design teams for successful feature planning.
Worked with account managers to fulfill specialized usage reports for large accounts.
Gathered requirements and pitched projects to support our account migrations team.
Software Quality
Principal contributor and maintainer for core of business email sending code.
Performed multiple Rails and Ruby migrations for 150kloc Rails application.
Frequent pairing sessions to share domain knowledge and seek better designs.
Popularized use of TDD for introducing regression tests in response to bugs.
Regularly successful at deducing bugs from user reports and data analysis.
Operations & On-Call
Participated in engineering on-call rotation.
Helped devise and refine incident response processes.
Frequently worked with infrastructure team to address system wide issues.
Championed use of pair programming practices during emergency response to avoid exacerbating issues.
Teaching & Leadership
Regularly gave organization wide project presentations.
Consistently conducted engineering team educational presentations.
Contributed technical discussion to the company engineering blog.
Frequent pairing and teaching on refactoring, performance optimization, and reliabiity.
Helped define and revise engineering interview process.
Additional Projects
Built asynchronous data syncing, reporting, and chart visualization for 600+ million subscribers using Elasticsearch.
Led a project to optimize importing email lists, resulting in 10x performance improvements and reusable data ingestion tooling.
Engineering Manager
Trimble is a GPS and geospatial hardware and software company. My department primarily worked on a storage and processing service for massive geospatial datasets.
Collaboration and Project Management
Guided geospatial storage service through post acquisition rebrand, working with product and design teams to improve functionality.
Oversaw multiple integration projects with other teams inside the company.
Conducted requirements interviews for ongoing integration support.
Organization & Leadership
Designed and executed hiring process.
Conducted performance reviews and advised on review process changes.
Oversaw ongoing revisions to development and planning processes.
Instituted formal code review process to improve software quality.
Software Engineer
Development Principles
Introduced continuous integration testing.
Introduced application performance monitoring.
Replaced live patching with build/deploy for emergency bug fix process.
Led long term project to expand test coverage (10% -> 80% coverage).
Principal designer and implementer for API abstractions around geospatial ETL pipelines.
Oversaw core database migration from MySQL to PostgreSQL.
Planned, implemented, and completed a zero-downtime switch from Solr to Elasticsearch.
Contributor towards a web map tile system capable of layering, caching, monitoring, usage tracking, and secure end-user distribution on top of upstream providers.
Worked with designer on redesign of pre-acquisition application (WeoGeo).
Self-taught Ruby and Rails to join web development team. Rose to team lead.