Martin Fowler

I've been kidnapped by Robert Caro

I've always enjoyed reading, and for most of my life I've particularly e...

The role of developer skills in agentic coding

As agentic coding assistants get more capable, Birgitta Böckeler is tryin...

Commenting on removing "X" on US passports

The new US administration has decided to eliminate the “X” option for gender/sex...

GenAI Patterns: Fine Tuning

While RAG is the most common way to focus a foundation model on material...

GenAI Patterns: Guardrails and RAG overview

Gen AI systems are gullible, and can easily be tricked into responding i...

What role does LLM reasoning play for software tasks?

Recent LLM models have provided “reasoning” capabilities. Birgitta Böckel...

GenAI Patterns: Reranker

LLMs struggle with large amounts of context. Bharani Subramaniam and I e...

GenAI Patterns: Query Rewriting

Users often have difficulty writing the most effective queries. Bharani ...

Posting on Bluesky, and other thoughts on social media

With the recent uptick in tech activity on Bluesky, I've decided that I w...

Design Token-Based UI Architecture

Design tokens are fundamental design decisions represented as data. And...

Generalizing the design of data products

Having got an initial data product, Kiran Prakash leads us through the ...

Fixing Common Pitfalls of Codemods

So far the codemods that Juntao Qiu has described are fascinating, but r...

GenAI Patterns: Retrieval Augmented Generation (RAG)

A pre-trained GenAI model lacks recent and specific information about a ...

Podcast with Luca Rossi

Luca Rossi hosts a podcast (and newsletter) called Refactoring, so it's ...

The DeepSeek Series: A Technical Overview

The appearance of DeepSeek Large-Language Models has caused a lot of discu...

Onboarding to a "legacy" codebase with the help of AI

Much of the attention to generative AI in software development is about g...

Governing data products using fitness functions

Decentralized data management requires automation to scale governance e...

Rewriting Strangler Fig

Two decades ago, I posted that I found that the strangler fig plant was an inter...

Bliki: Cycle Time

Cycle Time is a measure of how long it takes to get a new feature in a softwar...

Legacy Modernization meets GenAI

Most of the talk about the impact of GenAI on software development is ...

Using GenAI to extract low-level details and high-level...

Alessio Ferri, Tom Coggrave, and Shodhan Sheth use their combination of...

Using GenAI to build a capability map and translate leg...

Alessio Ferri, Tom Coggrave, and Shodhan Sheth complete their article o...

Interviewed by Book Overflow podcast on Refactoring

I was interviewed on the Book Overflow podcast about the Refactoring book...

Using the Strangler Fig with Mobile Apps

My colleagues are often involved in modernizing legacy systems, and our...

This site uses cookies. By continuing to browse the site you are agreeing to our use of cookies.