Design Pressure: The Invisible Hand That Shapes Your Code

57 NeutralForest 8 5/25/2025, 1:51:55 PM hynek.me ↗

Comments (8)

1317 · 1h ago
[video]
g958198 · 1h ago
i've cultivated the perception of what op calls design pressure my whole career as the primary driver behind code and her shape. i think it's the most important aspect of a successful architecture, and it's purely intuition based, which is also why there's no silver bullet. i've seen people take most well intended best practices and drive them into the ground because they lack the design pressure sense.

i believe that design pressure sense is a form of taste, and like taste it needs to be cultivated, and that is can't be easily verbalized or measured. you just know that your architecture is going to have advantageous properties, but to sit down and explain why will take inordinate amount of effort. the goal is to be able to look at the architecture and be able to see its failure states as it evolves through other people working with it, external pressures, requirement changes, etc. over the course of 2, 3, ... 10, etc. years into the future. i stay in touch with former colleagues from projects where i was architect, just so that i can learn how the architecture evolved, what were the pain points, etc.

i've met other architects who have that sense, and it's a joy to work with them, because it is vibing. conversly "best practices or bust" sticklers are insufferable. i make sure that i don't have to contend with such people.

skydhash · 1h ago
Code is for communicating with humans primarily, even though it needs to be run on a machine. All the patterns, principles, and best practices is to ease understanding and reasoning by other people, including your future self. Flexibility is essential, but common patterns and shared metaphors work wonders.
osigurdson · 44m ago
Zen and Art of Motorcyle maintenance is a good reference.

Also, it is good to remember what game is actually being played. When someone comes up with a popularizes a given "best practice", why are they doing so? In many cases, Uncle Bob types are doing this just as a form of self promotion. Most best practices are fundamentally indefensible with proponents resorting to ad-hominem attacks if their little church is threatened.

layer8 · 1h ago
This reminds me of the concept of “forces” [0][1][2] in design-pattern descriptions. To decide for or against the use of a given design pattern, or to choose between alternative design patterns, one has to assess and weigh the respective forces in the particular context where it is to be used. They are called forces because they collectively pull the design in a certain direction. Just a different physics analogy versus “pressure”.

[0] https://www.cs.unc.edu/~stotts/COMP723-s13/patterns/forces.h...

[1] https://www.pmi.org/disciplined-agile/structure-of-pattern-p...

[2] Chapter 19 in “Pattern languages of program design 2”, ISBN 0201895277

da39a3ee · 1h ago
I'm not sure I'd take design advice from someone who thought attr.ib and attr.s were a good idea. On the other hand he points out that DDD is a vacuous cult, which is true.
wilkystyle · 1h ago
> I'm not sure I'd take design advice from someone who thought attr.ib and attr.s were a good idea

Can you elaborate?

skydhash · 1h ago
DDD is nice especially in the first phase. All the concepts are actually rehashed from earlier principles. There’s nothing fully new there.