Matthew Olenik
[email protected]
https://github.com/mattolenik
https://olenik.io
B.S. Software Engineering
Rochester Institute of Technology
Summary
- 11+ years of experience in software engineering with a focus on devops, backend services, infrastructure, builds and CI/CD pipelines, developer tools
- 5+ years working with AWS and building infrastructure within AWS, especially with building secure complex network and VPC topologies
- Deep expertise with Terraform, including writing new Terraform providers and building custom tooling around Terraform
- Wide language experience with deep expertise in Go and C#, high competency in TypeScript/JavaScript, Java, C++, strict Bash, and good familiarity with Python, Ruby, Scala
- Solid understanding of computing fundamentals including networking, operating systems, distributed systems, security, programming language theory, software correctness and testing
- Consistently identifies engineering problems and solutions, owning projects from spec/design phase, build, test, document, deployment and support
- Comfortable with high pressure on-call support e.g. live debugging, production incident response, and root cause analysis
Harpoon Principal Software Engineer
May 2023 — November 2023
No-code Kubernetes Platform
- Built out complete infrastructure-as-code solution for deploying the product into Amazon EKS
- Responsible for technical direction of all staging and production infrastructure
- Base of Terraform for all essential AWS infra, such as VPC configuration, security groups
- Terraform for creating and managing the EKS cluster, including all the extra work for deploying EKS plugin Helm charts, integrating with ALBs, Secrets Manager integration
- Helm chart for Harpoon itself, allowing us to deploy product infra changes in an atomic manner
- Full CI/CD with instant deployments using GitHub Actions and Keel
- All IaC following Terraform and HCL2 best practices, clean modularization, easy management of AWS/k8s secret sync, just add a few lines of config in TF to get secrets synced/imported
- Product Development
- Built autodeploy functionality allowing customers to push deployments directly to Harpoon, using a from-scratch Docker Registry proxy in Go
- Rewrote container build service to use Buildkit with Kubernetes jobs, vastly improving scale and reliability from old method of shelling out to Docker
- Converted JavaScript codebase to TypeScript, refactoring and repairing problematic JavaScript
- Nodejs service modernization, rewritten to use async/await, removing promises and complex callback chains
- Miscellaneous frontend work with AngularJS
- Developer Productivity
- Built new developer experience using Devbox, creating a local dev environment that is isolated and reproducible
- Improved build workflow so that all services could be built with a single `make` instead of many by-hand individual builds in each project
Pulumi Senior Software Engineer
May 2022 — October 2022
Developer Tools
- Modernized crd2pulumi, a Go CLI tool for generating Pulumi code from Kubernetes Custom Resource Definitions
- Refactoring from hackathon project to a standardized CLI application with full E2E tests and code coverage
HashiCorp Senior Software Engineer
November 2021 — April 2022
Terraform Enterprise
- E2E test framework development, rewriting Ruby RSpec tests into a custom Go test framework
- Implemented code coverage for E2E tests, providing developers with coverage of their Rails app even when run from within Go tests
eSentire Inc Software Engineer
April 2018 — October 2021
DevOps/Infrastructure Team
Developer Tools
- Designed, implemented, and tested escli, a swiss army knife for engineering tasks
- Git repo composition that works as a replacement for submodules, simpler for devs to understand and use, with a focus on CLI usability
- Enforces deprecation of repos to encourage keeping dependencies up to date
- Templating system for creating new projects using Go’s text/template engine
- Custom, simple package manager for internal tools, cross platform, powered by Artifactory
- Used by all of engineering for composing repos of any complexity
Terraform and Automation
- Created solution for multi-account VPC networking CIDR block management with NetBox
- Wrote Terraform provider for NetBox, focus on e2e tests against real NetBox
- Made upstream contributions to NetBox for race conditions
- Automated deployment and update of NetBox into AWS with Terraform and Jenkins
- Owned design and implementation of infrastructure for esINSIDER
- Automation for generating Terraform code from existing prod resources then importing the state
- Created Terraform state management CLI tool to work around state bugs in Terraform 0.11
- Jenkins scripted pipeline work, such as refactoring old multi-stage Jenkins jobs into scripted pipelines
- Provided support for the engineering org in their day-to-day use of our development pipeline
- Made upstream contributions to NetBox
Curalate, Core ServicesDevOps Engineer
April 2017 — Febuary 2018
- Overhauled ECS cluster management with blue/green cluster deployments and autoscaling
- Automated ops tasks (e.g. backups, syncs, migrations) with Terraform and AWS Lambda
- Internal dev tools for working with Terraform, internal CLI development
VMware, Photon Controller Software Engineer, MTS III
January 2014 — May 2016
Open source multi-tenant IaaS for on-premise management of VMs and containers
- Wrote new CI process for building VM images using Jenkins, Packer, and Vagrant
- Build optimization of VMs, reducing builds from tens of minutes to 30sec, image size improvements
- Designed the API for and implemented the Photon Controller Go client SDK, used in the project’s CLI
- Wrote the plugin for Bosh, Cloud Foundary’s platform-as-a-service
Microsoft, Xbox Live Commercial Services Software Development Engineer
June 2011 — January 2014
- Refactored legacy Xbox 360 services to run on modern CI/CD with Autopilot (internal Microsoft IaaS)
- Implemented, tested, and deployed features in services for: user accounts, billing and offering, in-game DLC, TV-on-demand, and others
- Owned user email preference services, consisting of a REST API, and background jobs for exporting and migrating bulk data
- Implemented revenue reporting using COSMOS (like Hadoop but with a SQL-like language)