maCDzP
an hour ago
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.
shoo
44 minutes ago
> I haven’t seen those thoughts about community when I have read about patterns in SWE
Maybe 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.
jmalicki
an hour ago
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.