My lifelong passion is learning. I have an insatiable curiosity that leads me to dive deep on nearly every technical problem I've encountered, leading to a multitude of learnings that have been applicable far beyond the places they were found.
Experience
2022 — Now
2022 — Now
Originally a member of a 2-person team, I was responsible for all things Cloud Infrastructure, including CI/CD, infra for the Skydio Cloud product, developer/build tooling, analytics, and more. As the company grew, I specialized more on the Skydio Cloud product infrastructure, maintaining and scaling our Kubernetes clusters, S3 storage capabilities (including cost optimizations), networking, and livestreaming infrastructure.
I was the lead architect/sole engineer on a handful of important projects, including custom VPN infrastructure for a security-sensitive client, the migration to infra-as-code for our deployment pipelines, and even a couple that touched the entire software stack, from the drone to the cloud.
As one of the senior members of a growing team, I was also responsible for the onboarding and education of a number of new team members, helping improve documentation and processes to enable broader self-service updates to our cloud infrastructure.
2021 — 2022
2021 — 2022
Oakland, California, United States
As a Staff Software Engineer, I was largely responsible for all things infrastructure at Outlier. This included not only the underlying AWS/GCP resources, the Kubernetes layer, and some small amounts of database management; but also a complete rewrite of our workload management tooling to allow it to be extended beyond just the data analysis pipeline. This allowed us to greatly increase our throughput in several other areas that required asynchronous job management, while minimizing our spend on the underlying compute resources.
I was frequently consulted for architecture across the entire stack, to help maintain a unified approach across all teams, and to prevent any issues arising from siloed development across geographically disparate teams. In addition, I spent a portion of my time maintaining legacy parts of the stack that were not being actively developed.
2019 — 2021
2019 — 2021
Oakland, CA
In this role, I was responsible for leading or implementing a large number of technical changes to the stack. Primarily focusing on the backend, I worked in Ruby/NodeJS on Kubernetes in both AWS and GCP environments. One of my major projects during this time was the migration of all data from our RethinkDB clusters into Postgres, including the migration of several tables with many billions of documents without introducing any customer-facing downtime. This required learning about and implementing a partition management strategy for Postgres, in addition to writing highly-performant migration tools in Go, all while ensuring that a system approaching the limits of its capacity continued to function in a useable way.
I focused heavily on infrastructure and build/deploy tooling, backend optimization, dynamic resourcing for workloads, and workload management on Kubernetes.
2018 — 2019
San Francisco
As the Head of Infrastructure at AltSchool, I was responsible for both the infrastructure (AWS with Kubernetes), as well as the roadmap to ensure that AltSchool met its long-term scaling goals. As with any scaling challenge, managing complexity was easily the hardest part. There were many competing priorities, requiring tradeoffs and careful implementations to pursue the best path forward. With only a small team, I had to accommodate the increasing scale, while also being mindful that our resources were being spent in the most efficient way possible.
My other responsibilities included maintaining and upgrading our build and deployment tooling, to ensure that it stayed out of the way instead of getting in the way. Enabling peak developer velocity was always a high priority, and a clean, effective build system was a key component of that. Another important component was the ability to build and demonstrate prototypes, which required a deployment system that was flexible enough to accommodate new tools and methods.
2017 — 2018
2017 — 2018
San Francisco
As a Staff Engineer at AltSchool, I continued to work in very cross-functional manner, switching between Infrastructure, Product, and even DevOps-ish engineering roles. Over time, this became more focused on the Infrastructure side of things, due to my continued interest in Kubernetes, in particular. I worked closely with a small team of other engineers to enhance our deployment architecture to take better advantages of the resources available to us. Over time, we formalized and improved our testing and deployment infrastructure, making a more holistic shift towards a proper CI/CD environment.
As I transitioned my mix of responsibilities more towards the Infrastructure side of things, I also began assume more leadership responsibilities, including making important decisions on our scaling strategy from the Infrastructure side of things.
I built and maintained the tooling we use to provision new environments for new customers, recently shepherding it through a second iteration to take better advantage of tools available to us (Cloudformation, autoscaling, etc). Through this exercise, I learned a great many things about infrastructure on AWS in particular, allowing me to build a much more streamlined provisioning process.
A key result of working in a role that has traces of both DevOps and SRE responsibilities is a strong understanding of how to implement large changes without disruption. My philosophy can be summarized with a quote: "When you do things right, people won't be sure you've done anything at all."
Education
Harding University
Bachelor's degree
Harding University