Career Profile

I am a software engineer at Discovery with experience in agile methodologies working on the global release tooling team. I have experience with Golang, Python, and Java, as well as cloud native technologies like Kubernetes, Docker, Helm, and a little bit of serverless.

Experiences

Software Development Engineer 2

May 2021 - Present
Discovery Inc, Seattle WA

At Discovery I am a member of the Global Release Tooling team to help accelerate the various product teams, and enable them to create better products, faster.

Senior Sotware Engineer

Sep 2015 - May 2021
F5 Networks, Seattle WA

At F5 Networks I designed, tested, and implemented custom and off the shelf solutions to problems that product development faces around reporting, source control, and artifact/package management.

  • Leverage cloud native tools like Helm and Cluster API to create automation enabling developers to deploy kubernetes clusters for dev/test environments, as well as our common infrastructure team to deploy production clusters quicker, as well as to make managing the cluster lifecycle more straightforward.
  • Create custom integrations between products for example ServiceNow and Artifactory to enable automated creation of repositories for teams.
  • Setup GitLab instance for product development and configure generic GitLab-CI runners for all teams to use. Current usage is over 100,000 CI/CD jobs/week.
  • Help other developers learn about new ways to do their current workflow which may be more efficient via office hours, as well as help coordinate internal hackathons.
  • Discovered and responsibly disclosed CVE-2019-10205 - Red Hat Quay stores robot account tokens in plain text.
  • Spoke at GitLab Commit San Francisco about best practices for GitLab Runners in Kubernetes, https://www.youtube.com/watch?v=Hks5ElUxkP4

Software Engineer

Jun 2013 - Sep 2015
CA Technologies (acquired by Broadcom), Framingham MA

At CA Technologies I worked on a product called CA Performance Management, working on the data collection as well as the installation procedures.

  • Reworked how devices were certified for polling to allow customers to override the way metrics are collected and calculated from the stock configuration.
  • Maintained and extended the InstallAnywhere installer used to install and upgrade the product.
  • Designed and installed a light to display the status of the build to everyone in the office to prevent long term build breaks.

Projects

Some of my side projects both for work as well as outside of work.

LIFX Controls - An application used by streamers to control their LIFX brand devices fron an Elgato Stream Deck. This work has included creating my own SDK for interracting with the Stream Deck API in Go as well as maintaining and extending a library in Go for communicating with LIFX devices.
F5 Cloud Functions - A library of lambda functions for managing resources and alerting on an AWS account, including sending GuardDuty alerts to Microsoft Teams and automatically pruning AMIs over a certain age.
F5 Go Redirector - Internal redirector used by F5 Networks which I took over, and have made some enhancements to.
The Spaghetti Detective - The Spaghetti Detective is an AI system for detecting and acting on failures when 3D printing. I’ve made some contributions around the user workflow, improving build times for the docker images, and investigating security vulnerabilities.

Skills & Proficiency

Programming Languages

Go

4 years of experience creating CLI, Web Services, and Libraries in Go both professionally and in personal projects. Some examples of projects include LIFX Controls, an API to integrate ServiceNow and Artifactory, and a hackathon project implementing the Terraform Provider Registry Protocol.

Python

Python experience is mostly writing/editing scripts used in automation, with a little bit of exierience using python for webapps via Flask. An example webapp is one created at F5 to automate code signing for various types of binaries.

Java

2 Years of professiona experience working on Java at CA Technologies working on backend services that used the Spring Framework.

SQL

Experience with PostgresQL, Microsoft SQL Server, and MySQL, both self hosted as well as using a managed service. I've used a mix of raw SQL queries in projects as well as ORMs.

HTML, CSS, and Javascript

HTML, CSS, Javascript experience has been minimal as most of my work is geared towards backend projects, but I do have a bit of experience with vanilla javascript, and have used react a little bit on a project at F5.

Tools

Git

Used git personally since 2011, and professionally since 2014. Created many CI/CD Jobs leveraging GitLab CI to automate the testing, building, and releasing of applications.

Docker

Both professionally and personally create docker images that are secure and follow best practices, like not using root, limitting the number of packages installed, etc.

Kubernetes

Created and deployed kubernetes clusters using tools like Cluster API and k3sup. Also have experience developing applications that run on kubernetes, and creating the manifests that define them.

Terraform

I have used terraform to provision infrastructure, using both the terraform CLI as well as Terraform Cloud to allow for collaboration.

Volunteering

Industry Mentor

Aug 2019 - Jan 2021
Ada Developers Academy, Seattle WA

As an industry mentory I am a mentor to a student trying to enter the tech industry that doesn’t already have family or friends that work in tech.