About Me

Hi, my name is Jonathan.

I am a developer educator from Cape Town, South Africa with a passion for open-source software.

Picture of me speaking at WordCamp Europe contributor day in 2023
Profile photo courtesy Nilo Vélez

Developer Educator at Automattic

In May 2022 I joined Automattic as a full-time sponsored contributor to the WordPress project, working with the Training team on Learn WordPress. We create educational content for the WordPress community, and my focus is on developer-related content.

Joining the dotorg team at Automattic was a “coming home” of sorts, as I’ve made many friends in the WordPress space who work at Automattic, and now I get to be part of the open-source team that works on the WordPress open-source project full time.

Senior Technical Writer at Delicious Brains

In 2021 I decided to take my love of writing, my experience as a software developer, and my interest in the fields of education and developer communities and accepted a position as Developer Educator at Delicious Brains. About halfway through my time there the role changed to Senior Technical Writer.

Delicious Brains is a dedicated team of experts who love making software for their fellow WordPress developers. My job is to help them build amazing technical documentation and insightful developer-focused content that informs and delights our developer community.

Development Lead at Castos

From 2017 to 2020, I was Development Lead at Castos. Castos is a podcast hosting and analytics service that powers and supports the Seriously Simple Podcasting plugin for WordPress

When I left, Castos had grown from just Craig and me to a distributed team of 12, the plugin was used by over 20,000 podcasters around the world, and over 10,000 active customers using the Castos service.

Expert at Codeable

From August 2016 to September 2020, I solved technical problems for clients from around the world through Codeable. I focused on plugin development (both custom plugins and plugin extensions) and theme development, specifically adding custom functionality to themes via child themes or plugins. As of the 1st of October 2020, I left active freelance development to focus solely on Castos.

Writer, Blogger, and Podcaster

Besides this blog, I have also written for the WordPress.com Go blog, the Jetpack blog, as well as Smashing Magazine, and WP Tavern.

In my spare time, I host a small WordPress focused podcast where I interview folks from all over doing interesting things with WordPress. If this is you, let’s chat.

Speaker

Whenever the opportunity provides itself, I try and speak at local events about various topics, including development, freelancing, PHP, WordPress, and Laravel. So far, I have spoken at WordCamp Europe (2019, 2023), WordCamp Cape Town (2016, 2018), WordCamp Johannesburg (2018, 2019), PHP South Africa (2017), and DevConf (2022).

WordPress contributor

WordPress has given me so much, so I do what I can to give back. I’m a community deputy, and I’ve been on or led the WordPress Cape Town organising team for three years. In September 2020, I stepped down from organising local WordPress meetups to focus on the WP Notify project.

Get in Touch

If you want to chat, feel free to find me on any of the following networks.

Alternatively, email me if you want to discuss a project, have a question, or want to say hi.

If anything you’ve found on this site was useful to you, and you want to say thanks, you can always buy me a coffee. I generally order an almond milk flat white because I like the steamed milk texture but get a stronger taste of the espresso.

Latest Posts


  • Divi Page Builder Cache

    The latest versions of the Divi Page Builder includes very smart caching. This can sometimes lead to problems where users find they can’t add or delete rows or modules or use custom modules. Disclaimer: I’ve only really experienced this issue when developing module customisations. So this may not work for your specific Page Builder caching…

  • 5 SEO Mistakes to Avoid

    SEO

    A little background… Recently I was in the interesting position where plugin I had always used started giving me some hassles. For basic SEO functionality my go to install is the Yoast SEO plugin as it gives me the basic features I need and comes highly rated on WordPress.org. For my first client of the year I…

  • Getting ready for 2016

    Digital Resolutions. 2016 sees a new direction for me. For the first time since I started programming in 2004, I will be 100% self employed. This doesn’t mean that I have always been employed by a boss for the last 12 years. There were some attempts at working for myself in the past, but each time…

  • Digital Marketing Workshop

    As an entrepreneur, small business owner or freelancer, one of the most important skills you need to have, after being amazing at what you do, is digital marketing. The biggest learning curve I had as a developer was when I launched my Jiu Jitsu school. I soon learned that ‘If you build it, they don’t…

  • Word Camp Cape Town 2015

    So this year I was fortunate enough to attend my first Word Camp. I’ve been meddling (at best) with WordPress for the better part of the last decade, I’ve set up a few blogs and sites and even completed some custom development using WordPress as the base but I’ve never been someone who was ‘focused’…

  • Stopping unresponsive programs in Ubuntu

    This is a simple problem, with a simple solution. Which I will forget. Hence the post. The following command will list all running applications on a Linux system. The first two columns are the user running the application, and the applications program id or “pid”. Example output However, it would be ideal to search for…

  • Tis the season…..

    Its that time of year again, where we look forward to family gathering, presents and stuffing our faces with copious amounts of food. In the meantime, we have the PHP Advent Calendar, to count down the days to Christmas and learn some new PHP goodies for the new year.

  • Mozilla Add-ons you can't live without.

    As a PHP developer there are a hoard of Mozilla Firefox add-ons that will not only make your life easier, but will make you a better developer. These are the list of add-ons that are installed by default in my Firefox Browser. Firebug – absolutely the best way to debug javascript (and therefore also ajax)…

  • Easy CakePHP in Ubuntu

    I’ve always setup a new CakePHP project by extracting the current stable build into a project directory and editing the core.php and database.php files manually. I usually then change to the /cake/console directory of the project and run php cake.php bake (having already installed the php-cli) to bake my code. I know there are other…