Scaling and the Friction of Dimension

Michael Feathers
December 03, 2019

If you’ve been in software development for a while, you know that small web applications are ill-suited for massive load. I’m writing this a few days after Black Friday in the US. This year, another large retailer had a site outage, losing tens of millions of dollars in expected sales. The retailer definitely didn’t have a small system, but . . .

Read More

The Simulation Argument and the Simulation Barrier

Michael Feathers
November 24, 2019

I can’t recall when I first heard Nick Bostrom’s Simulation Argument, but I know that it was a long time ago. It seems to resurface in the popular consciousness every few years — often when it is tied to the plot of a movie, or when a celebrity or entrepreneur makes reference to it.

The core of the argument can be found in the . . .

Read More

Socio-Technical Seeing

Modeling The Dynamics Of Code And Attention

Michael Feathers
September 11, 2019

In conversations about software development, I often ask people whether they’ve heard of Conway’s Law. It’s a doorway to a richer conversation. We can talk about the dynamics of design — how our environment affects us as designers and how the things that we design become part of that environment in a broad feedback loop. Without this . . .

Read More

Toward a Book of Form

Exploring Structural and Behavioral Abstraction

Michael Feathers
July 16, 2019

I’m fascinated by correspondence – when we see the same pattern in more than one place, or even a very different domain. A good example is Postel’s Law, sometimes known as The Robustness Principle. Postel's Law states that when you are designing components in software you should design them so that they are open to accepting many kinds of . . .

Read More

Groups Are About The Other

Michael Feathers
June 20, 2019

One of my favorite essays from the early 2000s is Clay Shirky’s A Group Is It’s Own Worst Enemy. It describes a dysfunction of on-line communities that is very familiar to us now in the age of social media.Communities often start as free spaces, but eventually chaos and harassment appear. Once they do, quite a bit of the group’s activity . . .

Read More

The Cognitive Tech of Technical Discussions

What can we do when we glitch?

Michael Feathers
February 28, 2019

How do you think?

It’s an odd question.

People think about thinking all of the time but they seldom talk about how ideas come to them. To the extent that I’m aware of my own process, I recognize that there’s a strong visuospatial component to my thinking. In my mind’s eye I see colors and shapes. When someone is talking, . . .

Read More

Testing Yourself

Growing Through Refactoring

Michael Feathers
December 06, 2018

These are interesting times for people who care about refactoring. The 2nd edition of Martin Fowler’s book Refactoring has just been released. As if that weren’t enough, Kent Beck recently wrote up a workflow called test && commit || revert, which can be seen as a new alternative to Test-Driven Development.

It might not be . . .

Read More

Archive
   Subscribe by email and never miss a post.