Critical Thinking in the Age of AI

How AI shifts critical thinking for software engineers—from generation to evaluation and theory building—covering code, architecture, product, prompting practices, and techniques to embed analysis, assumption checking, and judgment in daily workflows.

How To Ask For Help

Helping other people to help you by asking the right questions in the right place in the right way

The Standard Model: Fundamental Forces of Software Engineering

Just as the universe is governed by a handful of fundamental forces, software engineering is also shaped by three irreducible forces, drawn from the deep structure of our discipline; they define what is possible, what is difficult, and why certain patterns of success and failure recur.

The Hard Truths of Modernising Legacy Applications: Costs, Complexities, and Cloud-Native Benefits

Insights into the real-world challenges engineers and organisations face during legacy application modernisation, based on my hands-on experience across multiple modernisation projects

Prompt Driven Development What I learnt vibe coding for a real project in the real world

A guide to programming in the age of AI and LLM assistance

Is your company ready for AI?

As a consultancy, we are expected to have strong and well-formed opinions on all new technologies arriving on the market. So we often get asked, “What should I be doing with AI? Should I be using it? What should I...

Transparent borders for element states

It’s quite a common design requirement to have a border on some states of an element but not others. For example a set of tabs where the currently active tab is highlighted with a top border, or a button where...

Creating a Retrieval Augmented generative AI chatbot

I’ve said before that using the cloud feels to a certain age of developer like a kid in a sweet shop. Talking to a colleague of a similar age recently about how he wrote his own message bus in C,...

Accelerating AWS Native Development with LocalStack & Docker: A Real-World Case Study

Some of the benefits of using LocalStack to emulate AWS environments on a developer's local machine, based on real-world project experience.