David Celis

Portland, Ore.

+1 813.468.9737

I’m an empathy-driven backend engineer specializing in designing elegant APIs with a keen eye toward usability and maintainability. I strive for a user-first approach, understanding that users come from a variety of backgrounds that differ from my own, while also producing readable, well-tested, and well-measured code. Outside of work, I’m an avid Open Source Software advocate. I maintain several open source libraries and have contributed to many more, including Ruby on Rails, bundler, Discourse, Hanami, and fish.

Proficiencies

Code: Ruby/Rails/Sorbet, GraphQL, SQL, JavaScript/TypeScript

Tools: PostgreSQL, MySQL, Redis, Docker, Git(Hub)

Experience

FireHydrant July 2021 - Now Staff Software Engineer

I'm the lead engineer of FireHydrant's Incident Management team, which is responsible for incidents and all parts of their lifecycle: declaration, automation, resolution, retrospectives, and our Slack application that enables robust incident response from the comfort of a powerful chatops tool. As team lead, I have a highly collaborative relationship and partnership with our manager and head of product to guide the team's roadmap, architecture, and overall process/health.

Stripe November 2019 - May 2021 Staff Software Engineer

I began at Stripe on the API Platform team, responsible for the framework used by product engineering teams to create and maintain the API that has firmly planted Stripe as a developer-first company. On this team, I led a company-wide audit of Stripe’s heavily-used feature flagging system, determining the purpose, ownership, and intended lifecycle of every single feature flag that had been created. This audit had immense and lasting impact on how Stripe engineers approached their use of feature flags, drastically reducing the number of flags being created for private, one-off features. After my time on API Platform, I moved to work on Stripe’s Issuing product. There, I acted as engineering lead for the launch of a brand new Commercial Payout Card product, a five month project spanning almost ten separate workstreams and over a dozen other engineers.

HashiCorp November 2017 - November 2019 Senior Software Engineer

At HashiCorp, I worked on Terraform Cloud (TFC). Terraform is a free and open-source utility that allows engineers and teams to automate the process of provisioning infrastructure by defining that infrastructure as code. Terraform Cloud is essentially to Terraform as GitHub is to Git, adding remote state storage and collaborative features to Terraform. When I joined HashiCorp, I was on the team responsible for TFC’s JSON API, its integration with Sentinel (an embeddable policy-as-code framework) and, occasionally, tinkering with its Ember frontend or surrounding Go microservices. At HashiCorp, I lead several large projects, including preparing version 2 of the API for exiting its beta status, a new administration API for Terraform Enterprise, Sentinel Policy Sets , and Cost Estimation feature.

GitHub January 2016 - October 2017 Ecosystem Engineer

As a member of GitHub’s Ecosystem Engineering organization, I shared responsibility for building and maintaining GitHub’s developer APIs, third-party integrations, webhooks, and developer documentation. I was a member of the team that shipped the pre-release of GitHub’s GraphQL API, after which I spent my time on the Identity Access Management (IAM) team shipping Business accounts and GitHub Apps. I also onboarded myself onto GitHub’s main on-call rotation after only three months on the job. At my final performance review, I was told that my on-call logs were consistently amongst the best at the company.

IMMUNIO April 2015 - December 2015 Software Engineer

At IMMUNIO, I designed the Ruby API that powered their front-end Angular dashboard. I also helped implement features to aggregate data on customers’ most important security vulnerabilities. Prior to this project, suspicious events would be displayed in long, paginated lists. I worked closely with the front-end developer to roll up suspicious events into clear, ongoing attacks so customers could easily find them and fix them in their application’s code base.

DigitalOcean August 2014 - March 2015 Software Engineer

I helped improve response times by hundreds of milliseconds in some of the least performant Cloud dashboard pages and developer API endpoints. I also worked on an effort to re-implement and re-design DigitalOcean’s DNS product. DigitalOcean’s backend was previously a series of Perl scripts running in a loop. As part of a larger effort to re- architect their backend as a network of Go microservices, I aided the rewrite of DNS so I could gain experience in Go. Finally, I was part of a team focused on improving the usability and functionality of various internal tools, including a custom CMS used heavily by their Customer Support team.

New Relic October 2012 - August 2014 Senior Software Engineer

I worked on the customer-facing dashboard for their flagship product, the APM dashboard, which received billions of metrics from millions of applications each day. My team developed popular features such as Key Transactions and X-Ray sessions. After acting as the PM on a minor feature, I joined an internal effort to lay the foundations for New Relic to migrate to a service-oriented architecture, developing several identity services.

DECK Monitoring May 2011 - July 2012 Software Engineer

I worked on a dashboard to display solar energy usage and generation metrics to thousands of residential and business customers who would report 100-200 pieces of data each minute. My major contribution to DECK Monitoring was the automation of reporting this data to California utility companies on behalf of customers seeking tax benefits.

Projects

Sparkles October 2021 - Now

Sparkles is an open source Slack application that replicates a silly points bot that I missed from my days at GitHub. It simply provides a command (/sparkle) that lets you recognize a teammate or coworker for helping you, saying something funny, or any reason at all, in the form of a meaningless sparkle point. I added my own flavor by creating a web frontend to keep metriculous track of each detail about each Sparkle, even providing a link back to the Slack message that originally created it for context.

Nook Stop API October 2021 - Now

In June 2022, I delivered a tech talk to coworkers at FireHydrant about GraphQL, a technology I'm passionate about and wanted to introduce internally. In order to provide an in-depth demonstration on everything I love about GraphQL, I wrote a way-too-comprehensive API using data from Animal Crossing: New Horizons. The code is, of course, open source, and the demo site remains live for anybody who is interested in GraphQL and who wants to play around with some queries.

goodbre.ws January 2011 - March 2014

goodbre.ws was a project borne out of my last year in the Rollins College Computer Science department. As a senior in the honors program, I was expected to produce, present, and defend an exceptional capstone project for and to the faculty. I chose to build my own collaborative filtering system based on the Jaccardian Similarity Coefficient. To provide a practical application for this system, I created goodbre.ws, a recommendation website for beer written in Ruby on Rails. The site was unexpectedly featured on Lifehacker and The Huffington Post.

Recommendable 2012 - 2018

Recommendable is a Ruby library that I extracted from goodbre.ws. It is a drop-in recommender system for Ruby applications using Likes and Dislikes. Ratings and recommendations are stored in Redis to utilize fast set mathematics for collaborative filtering.

rack-console 2014 - 2018

rack-console is a Ruby gem to provide an interactive Ruby interpreter for any Rack-based web application. Think of it like rails console for everything but Rails.

Crepe 2013 - 2017

Crepe is a lightweight API framework designed to help you write clean, fast web services in Ruby. I joined as a maintainer in 2013 and provided pieces to Crepe’s surrounding ecosystem such as Creperie (a project generator and CLI) and a plugin to report performance metrics to New Relic.

Sunscreen 2014 - 2016

Sunscreen is a macOS app that I wrote for fun. A lightweight menu bar app that changes your desktop wallpaper based on local sunrise and sunset times, Sunscreen was my first (but hopefully not last) foray into Swift and Xcode.

Education

Rollins College 2007 - 2011 Computer Science, B.A.H.

I graduated summa cum laude with a B.A.H in Computer Science. I graduated in the top 5 of my class with a 3.99 GPA (4.0 Major GPA) and was on the President’s List for all terms.