7/23/2026 at 7:17:07 AM
I work in civil engineering and tinker with computers as a hobby. I found Alexander’s work delightful. It really helped me think about my profession and my hobby and how they tie together.He also talks about community in a city, so it walks across all scales in the build world. That really helped me think about ”scale” and what phenomena emerges at different scales. I haven’t seen those thoughts about community when I have read about patterns in SWE.
Patterns mostly revolves around solving specific problem in programming, but I haven’t yet found something that uses the same thoughts on a larger scale explicitly. I believe there are patterns for how to architect multiple softwares, but what’s beyond that scale? Say how to integrate different SWE communities.
by maCDzP
7/23/2026 at 7:45:32 AM
> I haven’t seen those thoughts about community when I have read about patterns in SWEMaybe a bit of a tangent to your point:
one major difference that jumped out at me about Alexander's work vs the software engineering 'patterns' is how much emphasis Alexander places on involving the people who will live & work in the buildings in the design process. Some of this involved including the building's eventual inhabitants during rapid prototyping -- it's really cheap to experiment with different building outlines when it's just folks standing around in an empty plot of land prototyping the outlines with pegs & string.
I first read about Alexander's work in the book _Peopleware_, they described this aspect of it as "local control of design by those who will occupy the space". A space that can be customised to the needs of those who use it.
That's something completely absent in the software engineering 'pattern language' stuff, which tends to feel more like ivory tower big design up front by the architect / throw it over the fence to the users.
by shoo
7/23/2026 at 6:10:00 PM
There was a talk by M. J. Dominus ... "Design Patterns" Aren't https://perl.plover.com/yak/design/samples/slide001.htmlWhile the narration of the talk itself is likely lost to time and "people weren't recording everything in 2002"... the slides linked are reasonable signposts of the author's ideas.
The key points I believe occur on slide 12.
Patterns vs. "Patterns"
The pattern language does not tell you how to design anything
It helps you decide what should be designed
You get to make up whatever patterns you think will lead to good designs
---I believe that people read the GoF Design Pattern book as a textbook or bible rather than what the authors were doing of "these are things that we discovered while writing a word processor" ... and are useful ways of looking at those problems. But then those patterns got enshrined in some holy temple as you need to do these things and this is how you build software".
Patterns got turned into a prescriptive thing that people do to build software and for a long while people were often coming up with the question "did I discover a new pattern" ... which when you read Alexander's book becomes a silly question.
My own rant on the cult of pattern... https://the-whiteboard.github.io/2016/09/02/patterns.html
... One of my favorite pages to link on career advice is Find the Hard Work You're Willing to Do https://news.ycombinator.com/item?id=26209541 ... The previous blog post that shows up on that same page is "Why Patterns Failed and Why You Should Care" https://www.cs.uni.edu/~wallingf/blog/archives/monthly/2018-... which is also a good read (which in turn links to another talk - https://www.deconstructconf.com/2017/brian-marick-patterns-f... which has transcript and video)
by shagie
7/23/2026 at 7:39:14 AM
A lot of people talk about building software "ecosystems". But that's more management/marketing than SWE, but that's where you build similar scale. You have Linux, products built on Linux, software written for Linux, sub-communities like KDE, etc. and how you build those communities and allow both diversity for different ideas, but with a shared common core and how that evolves.But that's like an upper management type concern, you usually don't call that "SWE" anymore.
by jmalicki
7/23/2026 at 12:01:27 PM
The larger systems that contain software, or which software comprises, are the workflows that software sustains. Those workflows then comprise departments, organizations, businesses, and eventually cross-business interdependencies, supply chains, etc.I.e. just like C. Alexander's patterns quickly leave the realm of laying brick, the same logic appled to software quickly leaves the realm of writing code.
by estearum