Software Engineer
January 2020 - Present
Lithic (formerly known as Pay with Privacy, Inc; Privacy.com)
New York, New York
Backend systems engineering across the company's ecosystem.
Uses C++, Python, Rust, Postgres, AWS, Pulumi, Docker
-
Implemented the buildout of multiple staging
deployments.
-
Migrated multiple services from legacy environments
to a containerized platform.
-
Designed an internal service translating a
proprietary protocol to HTTP in Rust specifically
so engineers without experience in Rust could add
features easily.
-
Designed reusable components for engineering teams
to use for consistent, reproduciable systems
operations.
-
Mentored Engineers in designing fault-tolerant
services during a massive re-architecture breaking
up a critical monolith application.
-
Found and fixed issues in systems monitoring
granularity, uncovering persistent micro-outages
affecting realtime transaction processing.
-
Designed and built deeper instrumentation of the
realtime transaction processing system to better
understand latency bottlenecks.
-
Uncovered and optimized numerous issues with data
retrieval to reduce latency by a factor of
10x-1000x.
Data Engineer
August 2015 - December 2019
Squarespace
New York, New York
Engineered data pipelines and data warehousing for technical analysts and data scientists.
Uses Python, Postgres, SQLAlchemy, Spark, HDFS, AWS, Docker
-
Consolidated data from around the business for cohesive analysis.
-
Built a dataflow extraction pipeline, parsing datasets out of our legacy
python pipelines and loading it into Neo4j to
analyze the graph of dependencies between pipelines.
-
Migrated legacy pipelines written in an in-house framework based on cron
to Apache Airflow by reusable
Operator to minimize boilerplate between the legacy codebase and the new
workflow system.
-
Built a generic pipeline for replicating snapshots of vendor datasets as
type-2 dimensions, preserving versioned history for historical analysis with
with SQLAlchemy's internal SQL
compiler.
-
Wrote infrastructure to automatically scale up
an internal interactive computing environment
for analysts and data scientists to explore and
process data in Jupyter,
Apache Spark,
and Kubernetes.
-
Wrote pytest fixtures
to house components in Docker
containers to facilitate automated testing of data transformations
and pipelines under the same conditions they would operate under
on production.
Data Science Engineer
Summer 2013 - August 2015
Data Science & Engineering - Dow Jones
Minneapolis, Minnesota and New York, New York
Designed and maintained systems for collecting,
storing, and processing large quantities of data for
data science and analysis.
Uses
Python, Scala, Apache Hadoop, AWS Elastic Compute Cloud, AWS Elastic Map Reduce
- Ingested data from a menagerie of legacy
systems for centralized analysis
-
Wrote a declarative system for ingesting data
from spreadsheet-based reports through
predicate coordinates. It was for getting data
from non-technical departments that had reports
which would often change formats, so it was
necessary to build an ingestion system that
would adapt to manually-crafted reports.
-
Developed numerous dashboards that displayed metrics
from around the business, giving you a cohesive,
consistent view where before you had to look for
that data across several different departments.
-
Designed a new approach to getting machine
learning models to production by rewriting them
to leverage Google Big Query.
By converting common transformations
to raw SQL automatically with SQLAlchemy, a
process that took several hours would often complete in
minutes.
Junior Software Developer
Fall 2011 - Summer 2013
FoundationIP -
CPA Global, Minneapolis, Minnesota
Fully-featured webapp for managing intellectual property and coordinating between teams of Attorneys, Paralegals, Docketers and Laypeoples.
Uses Java, Struts2, Spring, Maven, Hibernate, Quartz, MS SQL Server
-
Implemented a toolset to feed the product's codebase from its numerous repositories to a central OpenGrok search engine.
-
Worked on a team of motivated developers fixing bugs, writing features, and refactoring legacy implementations into understandable, performant, new ones.
Student Computing Technical Staff Manager
Fall 2010 - June 2011
Student Computing -
Carleton College, Northfield, Minnesota
- Organized and supervised a staff of 10 hardware repair and 5 networking staff.
- Managed computer repair shop with an average 3 day turn-around.
- Developed automated tools for repair staff to use latest anti-virus software.
- Maintained two terabytes of personal student data backups.
Student Computing Hardware Repair Technician
Fall 2009 - June 2011
Student Computing -
Carleton College, Northfield, Minnesota
- Repaired a variety of student computers with problems ranging from viruses to two-story falls.
Networking Assistant
Fall 2009 - June 2011
Sysnet -
Carleton College, Northfield, Minnesota
- Assisted Carleton College system administrators in maintaining the campus-wide data infrastructure.
- Everything from troubleshooting bad connections to climbing a rickety bookcase to hang a wireless hotspot.
Student Computing Summer Break Worker
Summer 2010
Student Computing -
Carleton College, Northfield, Minnesota
- Repaired student and college-owned computers
- Modified open-source LDAP authentication software for deployment on over 500 workstations
- Rebuilt and fabricated custom cabling for a campus computer lab