Portland OR, USA
Friendly and motivated software developer and leader. Excels in designing intuitive technologies that help automate problems away for users. Experienced open-source software and community maintainer with 10+ years in the industry. Loves automation tools, game development, and software security.
Vagrant community maintainer of 4 years. Implementing feature requests, inbound bug reports, enhancements, feedback on pull requests, questions, and more on one of the largest and most-used developer productivity tools.
Maintained Vagrant Cloud, a service that allows users to share and discover Vagrant boxes.
Built several new features for Vagrant (the first in a few years!) for managing virtual disks in a provider-agnostic way, and implemented a trigger system to run tasks before or after any Vagrant operation. Both of these were two of the most community-requested features.
Worked with other external open source maintainers for various Linux distributions to ensure Vagrant was working on their platforms.
Wrote a large bulk of unit tests around the core of Vagrant to ensure stability and maintainability.
Terraform Cloud (HCP Terraform) developer, working on solving complex issues that affected HashiCorps largest customers. Helped form a team where we designed and implemented a pragmatic solution for customers using multiple Terraform Cloud organizations and wanting a more streamlined solution for administering these organizations for their teams.
Met with large HashiCorp customers to discuss their pain points and offer solutions.
Worked closely with new teams and a new (to me) codebase to help solve complex issues.
Waypoint lead developer, working on a new developer tool that helps automate the deployment and self-service of applications. Worked on the initial design and implementation of the project, and helped grow the team to 10+ engineers. Built a pragmatic solution of helping brownfield projects adopt Waypoint by creating an Actions system that allows users to craft golden patterns and workflows that hook into their existing CI/CD systems.
Taught HashiCorp engineers how to maintain and contribute to open-source projects.
Worked with the HCP Platform team to design a functional RBAC system for Waypoint and other HCP products.
Met with customers to discuss application management needs and present Waypoint as a solution for feedback.
Engineering mentor to early software engineers looking to level up their skills in the field. Covered topics such as compilers, containers, and distributed computing.
Worked on a handful of projects at Puppet Labs, including the core Puppet product, facter, PuppetDB, and Puppet Enterprise.
While working on Puppet Enterprise (PE), I helped start a new project aimed at orchestrating application deployments through Puppet. We built a Clojure-based service as well as enhanced the Puppet language compiler to support ordering dependencies between resources. This project was eventually integrated into PE as the Puppet Application Orchestration feature.
President of the first cyber defense club at Kansas State. We competed in various regional cyber defense competitions which involved taking on already compromised infrastructure, hardening it and maintaining uptime while under attack from a red team as well as continuing to fulfill business operations. This team placed 1st and 2nd at regional competitions.
Ran various security audits of KSU’s network and web applications.
Gave several lessons and demonstrations around security pen-testing tools like Metasploit, nmap, Nessus, and Kali Linux.
C#: I have been using C# for game development for the last 10 years. I love the language and the Unity3D engine.
ruby: Ruby was my primary programming language at Puppet, and is what Vagrant was written. I’m not too excited to jump back into Ruby, but I’m very familiar with it and comfortable using it.
Basic knowledge of C/C++, Python, Java/JVM, Javascript, Common Lisp/Clojure, Ember.js
I have experience building compilers and interpreters, and have built a few small ones in my free time. I love programming languages and am quick to pick up on new ones.
Human Languages:
I am an active powerlifter and strongman competitor for the last 12 years.
I have a cat named Qubit, named after the quantum computing term for quantum bits.
I love music and have been playing piano ever since I was old enough to reach the keys. I also played saxophone, flute, and trumpet in high school and college, and taught myself guitar.
©2024 Brian Cain - Split Template by One Page Love