Certifications
![AWS Logo AWS Logo](/aws.jpg)
AWS CertifiedCloud Practicioner
OpenSource Contributions
2023/05/28 OpnSense (25e2c0a) - Resolving static routes being created for on far gateways2023/01/29 PixelFed (55dc9b0) - Resolve issue with backticks in raw SQL for postgresql migrations
2023/01/09 PixelFed (52d6553) - Update User artisan commands to match UserDelete
2022/02/15 terraform-provider-aws (5c45fc1) - Allow S3 lifecycle 'days' parameter in S3 transition lifecycle to be >= 0
2022/01/06 PixelFed (9cc18eb) - Fix for firstOrCreate failing hashtags with case differences on name column
Employment
![ezyVet Logo ezyVet Logo](/ezyvet_logo.png)
ezyVet
Senior Site Reliability Engineer
December 2022 - Current
- Architechting and building out microservices that interface with ElasticSearch for consumers.
- Rebuilding existing platforms to scale with a focus on performance and reporting.
- Implementing end to end Incident workflow and tooling.
![ezyVet Logo ezyVet Logo](/ezyvet_logo.png)
ezyVet
Site Reliability Engineer
August 2019 - December 2022
My role at ezyVet is primarily focused around performance, uptime and cost across the entire platform, primarily working with PHP, MySQL, ElasticSearch and Redis.
- Maintaining services and patching latest versions for security and performance improvements.
- Writing complete automation pipelines on GitLab CI.
- Building a Golang application utilizing multiple best practice AWS services including
API Gateway websockets/SQS/SNS/DynamoDB/Lambda/Terraform. - Incident response and improving process.
- Creating a docker engineering environment to improve development workflows and onboarding.
- Focus on reducing RDS load and improving SQL query times across the board.
- Completely rewriting Elastic Search service from the ground up to improve search times.
- Writing custom service monitoring tools in Go that interface with Slack/Pagerduty.
- MySQL performance optimizations and maintaining integrity across all environments.
- Introducing Grafana and reachitecting monitoring for observability.
![Catalyst IT Logo Catalyst IT Logo](/catalyst_logo.png)
Catalyst IT
Devops Engineer
October 2018 - August 2019
At Catalyst, I worked directly with several large corporate clients doing routine patching, performance improvements and general BAU. While primarily configuring CI/CD pipelines for full automated tested and deployments, I also gained experience with helm chart deployments into Kubernetes clusters hosted on OpenStack.I have also had the opportunity to gain more experience working with Puppet, Ansible and GitLab CI.
![ezyVet Logo ezyVet Logo](/ezyvet_logo.png)
ezyVet
Cloud Environment and Application Engineer
March 2017 - October 2018
At ezyVet, I was primarily in charge of reviewing and merging code into our production environment as well as being our in-house DevOps/Infrastructure person. I occasionally did development work as well. In this position I gained vast experience in multiple areas as outlined below.
The position currently included the following responsibilities:
- Setting up and improving our CI/CD processes.
- Maintaining and constantly improving our environment. (AWS/Terraform)
- Setting up custom alerts / metrics with Cloudwatch & Grafana.
- Responding proactively to the above alerts to fix potential issues.
- Heavily involved in rolling out new technologies to our stack.
- Revision, escalation and resolution of tickets and other critical issues.
- Mentored Junior Developers through their induction into ezyVet.
DevOps:
- AWS: Consistently Improving our infrastructure to be efficient and reliable
- Linux: Daily experience with Debian, Ubuntu and Arch.
- CI / CD: Setting up and maintaining GitLab runners to run our Unit Tests / Automatic deploy pipelines inside docker containers.
- Packer/Chef/Vagrant: Building custom AMI images for AWS & Vagrant for our development machines.
- Terraform: Assisted migration of our AWS environments to code.
- Virtualization: Setting up Vagrant / Virtual Box environments that mock our production environment.
Programming:
- PHP: Building small features and day-to-day bug fixes as well.
- MySQL.
- Shell / Bash: Created custom scripts to achieve specific goals.
- Python / Node.js: Lambda functions in serverless.
- HTML / CSS / JS / jQuery.
Management:
- Code Review: In charge of reviewing all code before it gets merged in to our production branches.
- JIRA / Confluence / Freshdesk: Primarily used JIRA for ticket-tracking and Confluence for In-house documentation.
- Mentoring: I have taken on several junior developers over the 2 years to train them and assist them in becoming familiar with out code-base and work-flow.
![ezyVet Logo ezyVet Logo](/ezyvet_logo.png)
ezyVet
Full Stack Developer
March 2016 - August 2017
Focused on building new features and improving our cloud environment and application.
Primarily working with PHP.