AWS CertifiedCloud Practicioner
OpenSource Contributions2023/05/28 OpnSense (25e2c0a) - Resolving static routes being created for on far gateways
2023/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
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.
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.
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.
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.
- 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.
- PHP: Building small features and day-to-day bug fixes as well.
- Shell / Bash: Created custom scripts to achieve specific goals.
- Python / Node.js: Lambda functions in serverless.
- HTML / CSS / JS / jQuery.
- 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.
Full Stack Developer
March 2016 - August 2017
Focused on building new features and improving our cloud environment and application.
Primarily working with PHP.