Hi, I'm Jonathan Wilkins, a Senior Software Engineer with over 9 years of experience building robust, scalable systems. I specialize in full-stack development, with a deep expertise in Python, TypeScript, AWS, and Linux.

I thrive on tackling complex technical challenges—whether it's optimizing database performance, designing seamless payment integrations, or automating infrastructure. I'm passionate about writing clean, maintainable code and fostering knowledge sharing within teams.

Currently, I work remotely as a Senior Software Engineer at Slice. Previously, I've held senior and lead roles at Administrate and PODFather, where I led B2B portal implementations and modernized legacy systems.

Beyond my professional work, I'm a dedicated tinkerer. You can often find me experimenting with my Homelab, managing a local Kubernetes cluster, or automating my home with Home Assistant.

Tech Stack

Education

Running Tailscale on a Kobo Clara 2E

read more →

Differences between compilation types

Something I've never really known enough about was how the code (mostly PHP) I was writing day-to-day was actually executed. I had a high-level view of what this meant for PHP (translated into opcodes and executed), but I was more interested in what it really meant for all languages and which types of interpreters and compilers were available.

read more →

Creating a custom ZSH prompt

How to create a custom ZSH prompt for your editor using oh-my-zsh and a couple of handy tools. By the end you should have a good idea of how to create one of these for yourself - or at least where to look for further reading/inspiration

read more →

Installing Neovim on a Raspberry Pi

How to install neovim on any Raspberry Pi model. The default neovim that comes installed on a Raspberry Pi is not suitable for every day use since it was released in 2016. This post details a method for installing the latest neovim version on a Raspberry Pi but should work on almost any linux operating system

read more →