---
title: "Employment History"
---

### Certifications
| Date | Certifcation |
| :--- | :--- |
| 2023/02 | [PagerDuty Certified Incident Responder](https://www.credly.com/users/daniel-mason.2a91e126/badges) |
| 2022/05 | [Hashicorp Certified Terraform Associate](https://www.credly.com/users/daniel-mason.2a91e126/badges) | 
| 2020/06 | [AWS Certified Cloud Practicioner](https://www.credly.com/users/daniel-mason.2a91e126/badges) |

### Open source contributions
| Date | Repo | Commit |
| :--- | :--- | :--- |
| 2025/04/06 | [LibreNMS (beb3560)](https://github.com/librenms/librenms/commit/beb356073d30fac74e928dac96ffa4a9d63036c6) | Add support for Grandstream GWN7822P Switch |
| 2023/05/28 | [OpnSense (25e2c0a)](https://github.com/opnsense/core/commit/25e2c0a301e1437a98c8958637ca405a5fab21fa) | Resolving static routes being created for on far gateways |
| 2023/01/29 | [Pixelfed (55dc9b0)](https://github.com/pixelfed/pixelfed/pull/4122/commits/55dc9b0aaa4623491387d06fcb83fc9e937e5e16) | Resolve issue with backticks in raw SQL for postgresql migrations |
| 2023/01/09 | [Pixelfed (52d6553)](https://github.com/pixelfed/pixelfed/pull/4067/commits/52d65538cdfbebc73456db15390af3cfb8ee2d46) | Update User artisan commands to match UserDelete |
| 2022/02/15 | [terraform-provider-aws (5c45fc1)](https://github.com/librenms/librenms/commit/beb356073d30fac74e928dac96ffa4a9d63036c6) | Allow S3 lifecycle 'days' parameter in S3 transition lifecycle to be >= 0 |
| 2022/01/06 | [Pixelfed (9cc18eb)](https://github.com/pixelfed/pixelfed/pull/3122/commits/9cc18eb82acb46d2d8da22c66d12e55c192dbdb8) | Fix for firstOrCreate failing hashtags with case differences on name column |

### Employment
<div style="display: flex;">
    <div style="flex-direction: row; margin-right: 20px">
        <img alt="ezyVet Logo" style="margin: 0.5em 0 0.5em 0;" title="ezyVet Logo" src="/img/ezyvet_logo.png">
    </div>
    <div style="flex-direction: row">
        <h3 style="margin-top: 10px">ezyVet</h3>
        <h4 style="margin-top: -12px; color: #afbac4">Senior Site Reliability Engineer</h4>
        <p style="margin-top: -10px">December 2022 - Current</p>
    </div>
</div>

Working with a wide range of technologies and teams to deliver resiliant, secure and performant services.

- Database migrations, maintenance and patching.
- Airflow to move and transform data between services.
- EKS Kubernetes Clusters.
- ElasticSearch migrations, maintenance and patching.
- Golang APIs deployed with Helm into EKS.
- Migrating legacy AWS resources into Terraform.
- Packer/HCL building custom Linux/Windows AMIs.
- Rebuilding existing platforms to scale with a focus on performance and reporting.

<br/>
<div style="display: flex;">
    <div style="flex-direction: row; margin-right: 20px">
        <img alt="ezyVet Logo" style="margin: 0.5em 0 0.5em 0;" title="ezyVet Logo" src="/img/ezyvet_logo.png">
    </div>
    <div style="flex-direction: row">
        <h3 style="margin-top: 10px">ezyVet</h3>
        <h4 style="margin-top: -12px; color: #afbac4">Site Reliability Engineer</h4>
        <p style="margin-top: -10px">August 2019 - December 2022</p>
    </div>
</div>

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<br/>&nbsp;&nbsp;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.

<br>
<div style="display: flex;">
    <div style="flex-direction: row; margin-right: 20px">
        <img alt="Catalyst IT Logo" width="90" style="margin: 0.5em 0 0.5em 0;" title="Catalyst IT Logo" src="/img/catalyst_logo.png">
    </div>
    <div style="flex-direction: row">
        <h3 style="margin-top: 10px">Catalyst IT</h3>
        <h4 style="margin-top: -12px; color: #afbac4">Devops Engineer</h4>
        <p style="margin-top: -10px">October 2018 - August 2019</p>
    </div>
</div>

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.

<br/>
<div style="display: flex;">
    <div style="flex-direction: row; margin-right: 20px">
        <img alt="ezyVet Logo" style="margin: 0.5em 0 0.5em 0;" title="ezyVet Logo" src="/img/ezyvet_logo.png">
    </div>
    <div style="flex-direction: row">
        <h3 style="margin-top: 10px">ezyVet</h3>
        <h4 style="margin-top: -12px; color: #afbac4">Cloud Environment and Application Engineer</h4>
        <p style="margin-top: -10px">March 2017 - October 2018</p>
    </div>
</div>

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.

<br/>
<div style="display: flex;">
    <div style="flex-direction: row; margin-right: 20px">
        <img alt="ezyVet Logo" style="margin: 0.5em 0 0.5em 0;" title="ezyVet Logo" src="/img/ezyvet_logo.png">
    </div>
    <div style="flex-direction: row">
        <h3 style="margin-top: 10px">ezyVet</h3>
        <h4 style="margin-top: -12px; color: #afbac4">Full Stack Developer</h4>
        <p style="margin-top: -10px">March 2016 - August 2017</p>
    </div>
</div>

Focused on building new features and improving our cloud environment and application.<br/>Working primarily with PHP.
