Career Profile

I am a Staff Software Engineer at Warner Bros. Discovery with experience in agile methodologies working in the Release and Delivery Engineering organization. I have professional experience with Golang, Python, and Java, as well as cloud native technologies like Kubernetes, Docker, and Helm. When working in cloud spaces, I primarily have experience with AWS and automation using Terraform and some experience with CloudFormation templates.

My passion is ensuring that developers have the tools they need to do their work in an automated fashion, ideally self service, and have them be secure by default.

Experiences

Staff Software Engineer

May 2021 - Present
Warner Bros. Discovery, Bellevue WA

At Warner Bros. Discovery I am a tech lead of the “Delivery” team within the Release and Delivery Engineering organization, helping accelerate the various product teams, and enable them to create better products, faster.

  • Regularly collaborate with partners in the application security teams to ensure that we are putting the right guard rails in place for our teams to create secure products. One inner source enhancement example I created for them was making their automated contianer image scan tool post comments to pull requests to prevent vulnerabilities from getting lost if they are not severe enough to be blocking issues.
  • Created and maintained tools for onboarding new users, teams, and repos to GitHub in a self service manner while ensure required corporate settings and files are put in place in the case of new repos, and that users are members of Warner Bros. Discovery in the case of user invites.
  • Successfuly migrated from SonarCloud to SonarQube across both legacy and modern GitHub organizations in less than 2 months. This included migrating roughly 3,500 projects across about 10 GitHub organizations.
  • Migrated all the backend services of Max from JFrog Artifactory to AWS Elastic Container Registry, reducing our data transfer related costs significantly, and providing more resiliency to localized outages.
  • Maintain and extend reusable workflows within GitHub actions that can be used to build, test, and deploy all backend services within Max.

Senior Software 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.

Skills & Proficiency

Programming Languages

Go

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 gh CLI extension to allow users to perform administrative operations without them having full administrator access.

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, and the occasional debugging of backend services build failures within Max to determine if the problem is with the CI pipeline, the application itself, or somewhere in between (like operating system changes or use of mutable docker tags).

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 and GitHub Actions 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, automating security scans, etc.

Kubernetes

Created and deployed kubernetes clusters using tools like Cluster API and k3sup. Also have experience developing applications that run on kubernetes, deploying them using flux.

Terraform

I have used terraform to provision things like cookie cutter GitHub repos, Artifactory repos, and pieces of AWS infrastructure.