Chris Dickinson

I'm a software engineer with 18 years of experience. I've shipped software across a variety of contexts: from newsrooms and local radio stations to the biggest software package registry in the world and the open source project behind the most popular serverside JavaScript platform.

I believe that a well-aligned, high-trust team with a clear vision can accomplish amazing things. I help build that environment wherever I work. I love to teach, to learn, and to work with teams to build tools and frameworks that reflect their technical values.

Experience

Engineer @ Seaplane, Inc from Jun 2022 to Apr 2023

I worked with a small team to define & build a compute product, understand & implement security boundaries (including networking), and speed up shipping iterations. Got a crash course on networking. Built an on-line management system for Nomad using Rust. Additionally: built internal development environment tools to unblock multiple teams. These tools formed the basis for the CI system. Used multiple cloud providers during the course of this work: Hetzner, GCP, NetActuate, AWS, Azure, through a combination of in-house and external tools (e.g., Terraform, Pulumi.)

I approached each task with a laser focus on automation in the aim of maximizing return on effort, while validating the results of my work with peers.


Principal Engineer @ Eaze Solutions, LLC from Apr 2018 to May 2022

Replaced the deployment system at Eaze. This cut monthly infrastructure cost in half, took the average service deploy time down from one hour to two minutes, improved morale across teams by reducing contention on shared environments, and allowed us to scale the department by decoupling teams from one another.

I endeavoured to ensure that, beyond being a technical improvement, the system would be adopted by engineering successfully: I validated the new deployment systems across teams, making sure to incorporate their feedback so that they could see their values reflected in the tool. Further, I made sure all engineers felt ownership over the tool by working with them to make changes to it. See "Deploying at Eaze" for more.

Additionally, I built platform tools to ensure a base level of capabilities across our services, ensuring all teams had access to quality monitoring, logging, and observability. As teams began adopting TypeScript, I ported JavaScript internal tools for their use.

Finally, I worked to give the team porting our monolithic C# application tools to validate their changes. This involved coordinating a 30 person team in the construction of a series of high level integration tests across multiple areas of software engineering (mobile eng, website engineering, & backend engineering.) I gave a well-received presentation on the results to Honeycomb.


Staff Engineer @ npm, Inc. from Jul 2015 to Apr 2018

Kept the npm registry running as it scaled from 400 million to 9 billion downloads a week between 2015 and 2018.

Worked primarily as a high level individual contributor, responsible for development on the ACL system, publish flow, static asset serving (package.json and tarball), billing system, and React-based website. Coordinated team efforts as a project manager and acted as an engineering manager as needed.

I successfully shipped major migrations of the billing system, the content delivery network (To Cloudflare Edge Workers from Fastly VCL), the ACL system, the website, and the package publication flow. I assisted in infrastructure work, provisioning servers using Terraform and AWS and building deploy tooling in Node and Ansible. I participated in on-call rotation using Pagerduty and was relied upon to fix operational problems when both on- and off-call and was the primary responsible individual for multiple high-profile on-call incidents.


Node.js Technical Steering Committee @ Walmart Labs from Jun 2014 to Jun 2015

Walmart representative on the open source io.js Technical Committee, Node.js Technical Committee, and the Node.js Technical Steering Committee, run through the Node Foundation.

Focused on optimizing JavaScript for the V8 engine, building partial evaluators for pre-TypeScript ecosystem static analysis, and the streams subsystem.

Coordinated early efforts to add promises to core, added history support to the Node REPL, and helped define the initial charter system for working groups. Continued on in my role on the TSC until mid-2017.


Senior Engineer @ Airship from Mar 2012 to May 2014

Defined standards and testing practices for frontend JavaScript; developed a dashboard for push notification (& html-based "rich push") authoring. Built a five-person team of JavaScript developers through hiring and cross-training; evangelized JS use through the company.

Web Developer @ Mediaphormedia from 2010 to Feb 2012

Web Developer @ Domain51 from 2009 to 2010

Junior Developer @ Absorbent, Inc. from 2008 to 2009

Technical Skills & Education

East Asian Languages and Cultures (B.A.) — University of Kansas 2009

  • Rust
  • JavaScript
  • TypeScript
  • Node
  • React
  • Next
  • Bash
  • Site Reliability Engineering
  • OpenTelemetry & observability
  • OLTP databases
  • Postgres
  • Aurora
  • MySql
  • Sqlite
  • KV Databases
  • AWS Dynamo
  • Redis
  • CouchDB
  • Change Data Capture
  • Cloud infrastructure
  • AWS
  • GCP
  • Azure
  • Hetzner
  • NetActuate
  • Illustration & graphic design
  • Refactoring large legacy applications
  • Docker
  • LXC
  • Kubernetes
  • Terraform
  • Nomad
  • Consul
  • Functions as a service
  • Cloudflare workers
  • AWS Lambda
  • Python - Django

References

Available upon request.