From the support desk to the servers
~ $ From the support desk to the servers
The story
2020
School · Dec
Finished school, Jeppe High School for Boys
National Senior Certificate. No degree: everything since has been self-taught and learned on the job.
2021
Job · Apr
Joined Afrihost
WhatsApp Support Consultant. It started on a support desk: fibre, ADSL, mobile data, web hosting and email, answered over WhatsApp.
2022
Project · Mar
Hosting triage CLI for the support desk
The same hosting problems kept coming back, so I wrote a Python tool that checked a client's DNS, email and website in one pass and printed the fix, ready to paste into the chat. About 10 consultants ended up using it, and it's what got me noticed when I applied to Nclose.Case study →
Achievement · Dec
★ Top 15 consultants of the year at Afrihost
Ranked in the top 15 of about 150 consultants for 2022.
2023
Achievement · Apr
★ A thank-you from a client
A client bought me a bottle of Johnnie Walker Green Label for solving a problem no one else had.
Job · Sep
Joined Nclose (Integrity360)
SysOps Engineer at a managed detection and response provider. I co-run the platform their security monitoring depends on: the Elastic and OpenSearch clusters, the log pipelines that feed them, and Puppet across the Linux estate. Fully remote for over a year now.
2024
Project · Mar
Orca Security event ingestion pipeline in Python, deployed with Puppet
Turning noisy cloud security alerts into events analysts can actually use.Case study →
Achievement · Oct
★ Incident Response
Recognised by Nclose's CEO for my log analysis during a major healthcare security incident.Case study →
Project · Nov
IP swap scripts with a timed automatic rollback
Two Bash scripts that move a server's IP to its replacement and put everything back by themselves unless someone confirms the change.Case study →
2025
Acquisition · Jan
Integrity360 acquires Nclose
Integrity360 acquired Nclose, announced on 8 January 2025.
Project · Jan
Applying an updated ISM policy to existing OpenSearch indices
Why the team kept deleting old indices by hand, and the fix that made retention run on its own.Case study →
Project · Mar
Phased Ubuntu to Debian migration of log collectors across three offices
How I moved a financial asset manager's log collectors to new Debian machines, one kind of log source at a time.Case study →
Project · Jun
Puppet, Foreman and Wazuh homelab
Rebuilt the patterns I use at work on my own hardware: Puppet, Foreman and a SIEM pipeline across five machines, to practise outside of client environments.Case study →
Project · Nov
OpenSearch diagnostics and capacity forecasting tooling
Built so the team stops firefighting the OpenSearch clusters and starts planning for them.Case study →
2026
Certification · Dec, booked
Certified Kubernetes Administrator (CKA)
Exam booked for 15 December 2026.
How I work
- 01
Phased Ubuntu to Debian migration of log collectors across three offices
Change safely. Every change has a way back.
Moving a financial asset manager's log collectors from Ubuntu to Debian across three offices, I used an IP swap script with a health check and a timed auto-revert, which kept disruption to a minimum.
Read case study
- 02
Applying an updated ISM policy to existing OpenSearch indices
Find the root cause. I don't stop at the symptom.
The team kept deleting old indices by hand on the compliance clusters. I found why: updated ISM policies were never applied to the indices that already existed. I aligned them with the change policy API on every compliance cluster.
Read case study
- 03
OpenSearch diagnostics and capacity forecasting tooling
Automate the second time. If I've done it twice, I script it.
Diagnosing an OpenSearch issue used to be a manual, multi-step investigation. My Python triage tooling takes it from about 45 minutes to about two minutes and warns us before a cluster runs out of capacity.
Read case study
What's next
- Now · exam 15 Dec 2026Kubernetes
Studying for the Certified Kubernetes Administrator exam.
- NextDevOps
Moving into a fully remote DevOps or platform role.
- The futureMLOps
Running the infrastructure that machine learning depends on.
Looking for: a role that supports my career development, curiosity and autonomy.