Symlach

The beauty in simplicity

“Complexity is multiplicative. In a system, like Google, that is assembled from components, every time you make one part more complex, some of the added complexity is reflected in the other components. It's complexity runaway.” ― Rob Pike

Towards the end of 2025, I decided it was time that I finally created a blog. Somewhere to document my thoughts, experiences and anything I’m currently learning related to software. Maybe even showcase one of the many personal projects from my project graveyard.

I spent the year deep diving into building real-time data pipelines on Google Cloud Platform (GCP). While doing so, I noticed there seemed to be far fewer people blogging about building on GCP than on Amazon Web Services (AWS). My initial thought for the blog was to build something that focused on sharing my knowledge of building solutions on GCP. I spent a couple of months building the blog on weekends and eventually came up with the following:

A short demo of the GCP blog I built. Check out Gee blinking!

I had a lot of fun building the GCP blog, maybe too much fun. These are some of the highlights:

In the end, as so often happens with my personal projects, I was left thinking “now what?”. I’d built something I enjoyed building, it had kept me entertained for a couple of months, but I’d kind of achieved what I wanted. After the improvements to LLMs towards the end of last year, I figured fewer people would be interested in the blog now that they could ask their robot friend instead. Another project added to the graveyard.

Since then, I’ve created another more generic blog, but a similar problem emerged. I would get so engrossed in building a blog, that I kind of lost sight of actually blogging about what I was learning. There just aren’t enough hours in the day.

This brings me to the blog you’re reading today. A super simple blog. No animations, no unnecessary dependencies to upgrade, no agnosing over formatting. A way to focus my energy on the thing that really matters, its content.

I love the idea of keeping things simple. One of the first questions I usually ask myself when reviewing a solution is, “can this be made simpler?”. Keeping things simple is hard. Far harder than making something complex. I’ve found it takes an order of magnitude more effort to find ways to reduce complexity within a system than it does to add more. I find the urge to add will always be there because the opportunity cost is not always clear at the time the decision is made. That said, essential complexity (fundamental to a problem) will always be an unavoidable part of the equation when designing solutions for a given domain. Identifying what is essential complexity upfront helps clarify where accidental complexity (not inherent to the problem itself) lies. The simpler the solution, the more I can focus on understanding the problems users face. After all, software is supposed to help users, right?

Anyways, what can you expect from this blog going forward? After almost a decade learning about building reliable, testable software, and the many ways it can be sliced and diced to be delivered so that it provides value to customers as soon as possible, I’ve taken a bit of a break from focusing on that. I’ve always had a keen interest in developer experience and building software that is observable. This has led to me recently learning more about platform engineering. Maybe I’ll post some stuff around building observable systems, or what I’ve learned about providing a platform as a product. I’m not too sure, perhaps I’ll just build a fourth blog…