Summary


I’ve been working in software for over 8 years. Throughout my career my main focus has been on backend systems and infrastructure automation 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
  • Lead the push to start a VDP and bug bounty program on HackerOne and was the main point-of-contact with security researchers.
  • Architected an Identity Management system to allow users to link identities on third party platforms with their PUBG account to earn rewards.
  • 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 (defunct)

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 (Now WBGames NY)

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

Recent Experience:

  • Golang

  • Python

  • Javascript / Typescript

Past Experience:

  • Ruby

  • C#

  • Java

  • Groovy

Build + Deploy Tools

Recent Experience:

  • AWS

  • Docker

  • Kubernetes

  • Helm

  • Gitlab

Past Experience:

  • Google Cloud Platform

  • CloudFormation

  • SaltStack

  • Chef

  • Jenkins

  • Bamboo

Data Storage and Processing

Recent Experience:

  • DynamoDB

  • Redis

  • MongoDB

Past Experience:

  • Postgres

  • Cassandra

Open Source


WSL - Golang Whitespace Linter

This linter enforces that you have whitespace separating different types of code to increase readability. I wanted the ability to also enforce the opposite: Error checks should be cuddled with the line that assigned the error. I added that ability and helped make the linter’s code cleaner. Check out my closed PRs

Planefence

I’m an aviation enthusiast and I have a RaspberryPi with an antenna that picks up messages from aircraft flying overhead. This open source project reads that data and sends tweets when it detects interesting aircraft. I expanded it to also send messages to Discord. Check out my closed PRs. Also, check out the community of Planefence users posting alerts to the SDR Enthusiasts Discord server.

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.