Architecture is gardening.

Large software projects are living things. They grow, adapt, and sometimes run wild. The way we design them - and the way we design the organisations that build them - determines whether they flourish or wither. Over the years, I’ve come to see architecture not as a static blueprint or a master plan, but as an act of cultivation. This article is the first in a series exploring my personal philosophy of architecture: how we can guide complex systems, human and technical, with the same care and intention as a gardener tending a landscape. ...

July 8, 2024 · 11 min · Alex

A framework for creating strategy

Recently, I wrote my very first technology strategy. Overall I’d say the process went pretty well. Of course writing the strategy is intimidating to begin with, but once I started I quickly realised that the much more intimidating thing is actually working to implement the strategy after it’s written. I felt and still at times feel like fleeing to the woods to live as a wolf as a result of this realisation but I’m pretty sure my life insurance has exclusions for fleeing to the woods in order to live as a wolf. It’s not the family oriented response you think it could be, despite wolves being good family members that live in packs. ...

June 15, 2022 · 20 min · Alex

The Role of a Software Developer

What if the role of the software developer is not actually about writing software? What if the most important thing I can do today isn’t to write a sweet recursive function that delights and confuses the next human that reads it in equal measure? As our industry has matured, the roles of technical staff in an organisation have changed. Increasingly, companies require that technical folk interact with customers. Some people like this. Some don’t. Let’s have a brief chat about the opportunities and costs of this happening and what that might mean for your progression through the industry and your life. ...

June 1, 2022 · 6 min · Alex

Good Teams, Why Care?

I build teams. I build teams good. Good teams that do well, and they also do good. Technical teams mainly, but I’m branching out. It’s good. That’s all well and good, but what is the point? The point is that good teams are rare. That is to say, a team that you can leave alone, with the trust that they can self-regulate, self-correct and grow without you is very difficult to find, such that the effort to grow one (if you can) is a far simpler thing by comparison. ...

July 13, 2018 · 3 min · Alex