Blog

As your engineering teams understand more about the problem domain, and as product strategy evolves, the boundaries of your teams and technical architecture should evolve...
We use lots of heuristics to design (micro)services, but there is only one rule that really matters: maximising our ability to frequently deliver value to...
Breaking a large system down into smaller pieces gives teams the autonomy to iterate quickly by decoupling them from dependencies that cause conflict, bureaucracy, and...
As a community, or at-least on my twitter feed echo-chamber, we do love a good moan about broken hiring processes. Often for good reason and...
As more grey hairs start to appear on my head, more contentious opinions on the art of programming start to develop inside it. And I've...