Summary


I’ve been working in software for over 5 years. Throughout my career my main focus has been on infrastructure automation and backend systems but I can also dig into frontend development with a focus on responsiveness and compatibility.

Experience


Senior Software Engineer at PUBG Mad Glory

March 2018 to Present
  • Built a system to push game events to eSports partners enabling real time displays at live events and overlays on streams
  • Managed production Kubernetes clusters
  • Built an automated deployment pipeline from Gitlab to Kubernetes utilizing Helm

Senior Software Engineer at Mad Glory

June 2017 to March 2018
  • Worked with Bethesda Softworks providing expertise in backend engineering and deployment automation

Site Reliability Engineer at Conduce

October 2016 to June 2017
  • Utilized terraform modules to standardize environment definitions
  • Implemented gitflow style automated deployment using Jenkins Scripted Pipeline
  • Rebuilt infrastructure to reduce costs by 1/3rd while maintaining high availability

Software Engineer at Agora Games

November 2014 to September 2016
  • Developed microservices for videogames using Python, Java, and Typescript
  • Designed data models backed by MongoDB and Elasticsearch
  • Managed deployments to AWS and Rackspace with SaltStack

Associate Software Engineer at CommerceHub

April 2014 to November 2014
  • Used the YUI Javascript library to build a UI matching design mockups
  • Implemented a microservice using Dropwizard to power the UI
  • Set up continuous deployment using Bamboo, Artifactory, and Chef

Software Engineer I at Tribune Media Services

November 2012 to April 2014
  • Introduced templates for ETL configurations to reduce copy-paste errors
  • Added LDAP authentication to a Spring web application to track user interaction
  • Used Ruby & Rails to prototype web-based versions of legacy systems

Skills and Tech


Languages

I’m currently most proficient in Python and Golang but I’d have no problem jumping back into Ruby, Java, or Groovy. Javascript doesn’t (entirely) scare me but I prefer Typescript. I can find my way around C++ and have even dug through a Scala codebase to fix a bug. And just for keywords: I do in fact know HTML and CSS (including preprocessors).

Other Tools of the Trade

When it comes to web frameworks I’ve worked with Rails, Grails, Meteor, and Spring.

I’ve fallen in love with Docker and have deployed to self-hosted Kubernetes with Helm as well as Amazon ECS with CloudFormation.

SaltStack is my favorite configuration management system. I’ve had over two years experience using Salt to manage deployments of between 100 and 1000 nodes. I’ve also written a few Chef cookbooks.

I’ve designed and implemented build pipelines in Jenkins, Gitlab, and Bamboo. Several of which included some level of continuous integration to one or more environments.

Most server I’ve worked with run Debian based distros of Linux but I’ve also worked with CentOS. I’ve deployed to AWS and Google Cloud. When available I love to use Datadog for monitoring, but I’ve also had peace of mind using Sensu for monitoring and Prometheus for metric tracking.

As a developer I’ve used Redis, Postgres, MongoDB, and DynamoDB. I’ve also managed all of the above and Cassandra as an SRE. I can help you scale out and optimize your database with or without SQL (The latter being NoSQL for you buzzword fans).

If you’ve got a problem, Yo I’ll solve it!

Open Source


Hashicorp’s Terraform

I added the ability to import several Google Cloud resources. Check out my closed pulled requests.

Vagrant GS Auth

The Vagrant S3 Auth plugin allows you to easily pull Vagrant boxes down from Amazon S3. When Conduce moved from AWS to Google Cloud we needed a similar plugin for Google Storage. It didn’t exist.. so I created it.

Syntaxic

This Chrome extension by Andrew Matheny adds syntax highlighting when viewing code files in your browser. I wanted a new feature in it so I added it.

Gitlab

I’m a huge fan of Gitlab’s platform and have submitted a few small UI and backend enhancements. Check out my contributions.

Swagger Codegen

While generating a Java client library from a Swagger spec I ran into an issue with how it handled an endpoint returning a List. I knew nothing about Scala but dove in head first to debug and resolve the issue.