Skip to content

about

From the support desk to the servers.

I'm Ethan, 24, a self-taught Linux systems engineer. This is how I got here, how I work and where I'm going.

01

The story

  1. 2020
    Education

    National Senior Certificate, Jeppe High School for Boys

    Finished school and went straight to work. No degree.

  2. Apr 2021
    Work

    WhatsApp Support Consultant at Afrihost

    It started on a support desk: fibre, ADSL, mobile data, web hosting and email, answered over WhatsApp. I consistently ranked in the top 15 of about 150 consultants.

  3. 2022
    Project

    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.

  4. Sept 2023
    Work

    Junior Linux Engineer at Nclose (Integrity360)

    A managed detection and response provider, where I've since been promoted to SysOps Engineer. I help 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.

  5. 2025
    Project

    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.

02

How I work

  • 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

  • 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

  • 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

03

What's next

  • Kubernetes. I'm studying for the Certified Kubernetes Administrator exam, scheduled for 15 December 2026.
  • Then MLOps. Running the infrastructure that machine learning depends on is where I want to grow after that.
  • The role. A fully remote platform or observability role.