Hi 👋🏻 I'm Matt

I'm a software engineer and technical author specialising in PHP, Go, and DevOps, based in Bundaberg, Australia. I've been developing web applications for over twenty years.

I've also been teaching developers how to build web-based applications (mainly in PHP) for over ten years, through my tutorials, content created for others, and my books and courses. If you're keen to grow your skills, definitely check them out.

I help businesses build web apps they can depend on, showing organisations (and their teams) how to build and deploy well-tested web apps that are maintainable, easy to deploy, and excellently documented. If you'd like to work together, you can find out more here.

And, I craft compelling, informative, and engaging technical tutorials, showing developers how to use a range of services and technologies in their web applications. If your business could benefit from them, you can find out more here.

Otherwise, you can find me me on LinkedIn, GitHub, YouTube, Mastodon, and Bluesky.


Don't miss a single tutorial!

Join up to the mailing list so that you're always the first to know when a new tutorial is published.

You can unsubscribe at any time by clicking the link in the footer of the emails you'll receive. Here's my privacy policy, if you'd like to know more. I use Mailchimp to send emails. You can learn more about their privacy practices here.


Latest from the blog

If you're short on time, but keen to grow your software testing, deployment, and documentation skills, check out the latest tutorials below. Check out all the tutorials on the blog if you're keen to learn more.

Three Ways to Handle 404 Errors in Mezzio
Fri, Mar 28, 2025

Three Ways to Handle 404 Errors in Mezzio

When you need to handle a 404 (not found) error in Mezzio, how do you do it? It’s trivial in Laravel, Symfony, CakePHP, and other, larger PHP frameworks. But, it’s not so clear in Mezzio. In this tutorial, I’ll show you three ways to do so.

Composer. Beyond the Basics
Mon, Jan 20, 2025

Composer. Beyond the Basics

Are you getting the most out of Composer? In this short tutorial, you’re going to learn about more of its functionality including removing and updating dependencies, and configuring autoload namespaces.

How to Get Started With Composer
Mon, Jan 20, 2025

How to Get Started With Composer

Composer is one of the best package managers available for any, modern, software development language. In this short tutorial, you’re going to learn the essentials of how to use it, so that if you’re just getting started with it, you can get up and running quickly.

How to Start Learning PHP in 2025
Mon, Jan 20, 2025

How to Start Learning PHP in 2025

If you’re getting started learning PHP or want to get started, this post is for you. In it, I step you through the essential things you need and things you need to know to start your learning the right way.


Do you need to get your head around Docker Compose quickly?

What about needing to dockerize existing applications to make them easier to deploy, reducing the time required for developers to get started on projects, or learning how to debug an existing Docker Compose-based app? Then this free book is for you!

Listen to the podcast

Short on time or want to learn on the go? Tune in to the podcast.