Site Reliability Engineer
August 2019 - Current
My role at ezyVet is primarily focused on improving performance and response time across the full stack from PHP, MySQL and ElasticSearch improvements to optimizing AWS usage and cost.
- Pushing for latest versions of services to keep frameworks up to date and utilize any performance improvements (PHP, MySQL, Elasticsearch, Redis upgrades)
- Building automation pipelines through GitLab CI
- Experience building a cross-platform Go application utilizing Websockets with AWS API Gateway and SQS/SNS/DynamoDB/Lambda/Terraform
- Creating a full docker development environment for engineers to improve development workflows
- Reducing RDS load and improving SQL query response time via query restructuring to make better use of compound indexes and foreign keys
- Rebuilding Elasticsearch clusters to improve redundancy and response time with optimised indexes
- Writing custom service monitoring tools in Go that interface directly with Docker, ElasticSearch and PHP-FPM
- Optimising MySQL parameter groups to get the most out of each instance
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. Primarily working in PHP.