Dieter Rams is still the clearest example I know on this.
Simple is hard. It is extremely hard.
That is one of those sentences I used to understand too quickly. I now think it takes years to understand properly. In design and in engineering, simplicity is often the last thing I arrive at. It comes after false starts, ornament, cleverness, features that seemed necessary until they were not, and architectures that looked impressive until I had to live inside them.
Early in my career, I made the usual mistake. I thought simple meant basic. I thought minimal meant naive. I thought a thing with fewer visible parts must have required less thought.
I learned the hard way it's the completely other way around.
At Braun, Rams designed objects that did not try to announce themselves. Radios, calculators, record players, shelving systems. They sat there with a kind of moral calm. Buttons were placed where the hand expected them. Surfaces were left alone. Labels did not shout. Nothing appeared to be performing design. Yet everything had been designed.
See Braun's "World Firsts" for the full lineage.
That is the trick I keep returning to.
The stackable systems are pure genius. On the surface: clean, neat, almost obvious. Underneath: constraint, modularity, extension, future use. As an engineer, I recognize the move immediately. Components. Interfaces. Customization. Scalability without visible disorder. A system that can grow without becoming a pile.
I see the same thing in older Apple products. The iPod click wheel, for example, was not simple because it lacked thought. It was simple because so much thought had been compressed into one gesture. Scroll, select, move, play. A small circle that absorbed a large amount of complexity.
I keep coming back to Rams for this reason. The art of his is what he exposed and what he hid. I look at the affordances of the buttons. I look at where the object gives instruction without explaining itself. I look at how constraint becomes ease.
This matters to me in engineering too.
A good API can feel like that. A backend can feel like that. A frontend architecture can feel like that. The best systems do not make their internal difficulty someone else’s problem. They offer a small number of good moves and make the wrong moves hard.
That is why simplicity takes time.
I add. I test. I remove. I rename. I split. I merge. I look again. I realize that what seemed essential was often only defensive. I delete it. Then I delete again.
The finished thing, if it is any good, will not show this labor. It will look as if it had to be that way from the beginning. That is the strange injustice of good work. The clearer it becomes, the easier it looks.
But simple is not easy.
Simple is earned.
Salam.