dagblog.
← Archive

The sculptor and the stone


Today I won't comment on any “political” event or rumor, or get into some great framework. Instead, I'll try to share a little of the programming know-how I still have left, though know-how may be too grand a word for it. Some things you don't think about. You just do them automatically. Have you ever stopped to think about how you tackle the tasks you're given when you program? I've noticed something in my own work that I call shaping things gradually. I use the metaphor of a sculptor and a stone to describe it.

Imagine how a sculptor goes about making a statue. They start with a rough piece of stone, a chisel and a hammer, and begin by cutting away the roughest parts. First the statue takes on the basic outlines of a body. Here are the head, the torso and the limbs. As the work progresses, the sculptor starts to go into finer detail. Here they need to carve the fingers, the eyes and the nose. Little by little they approach the final shape, with each new strike adding detail.

Whenever I program, I follow the same process as the sculptor. I start with rough outlines and gradually add detail. I try to avoid getting sidetracked by details until the basic outline is in place. A beautifully carved hand is of little use if you can't see that it belongs to a body. The result we want is the statue as a whole. We have to keep that in mind, however beautiful the hand, head or leg might be on its own. Programming works the same way.

My advantage over the sculptor is that I can undo several blows of the chisel almost any time. By developing iteratively, I don't have to keep unnecessary details in my head. There will be time for them later, or they may never come up at all because my perspective or the requirements change. Everything has its time. I can also hand over something at any point that resembles the statue we want more or less closely, depending on how many iterations I've done. It may be imperfect, but it is a statue.

Medium version

Related articles

Related CZ Podcast episodes