[HN Gopher] Systems design explains the world (2021)
       ___________________________________________________________________
        
       Systems design explains the world (2021)
        
       Author : craigkerstiens
       Score  : 103 points
       Date   : 2023-03-09 05:37 UTC (17 hours ago)
        
 (HTM) web link (apenwarr.ca)
 (TXT) w3m dump (apenwarr.ca)
        
       | mjb wrote:
       | I find it frustrating that this article doesn't explore the
       | tension between the "never rewrite" and ARM anecdotes. Iterating
       | is good, but iterating to a whole new place is often impossible,
       | and the biggest disruptions come from being in a different place.
       | It's a core tension in systems design, and one that this
       | (otherwise good) article doesn't acknowledge.
       | 
       | Do read "The Tyranny of Structurelessness", though. Great read. I
       | enjoyed the analogies to distributed systems here, too.
        
         | short_throw wrote:
         | Well I think if Intel had decided to start from scratch to make
         | "x86 only more power efficient, it'll only take one product
         | cycle" they would have failed miserably, but if they said
         | "let's make a phone cpu, that's our new top priority" that
         | program could have grown into making great laptop cpus a decade
         | later.
         | 
         | Making a new product that fills a new niche in a short timespan
         | is viable. Making a product to directly replace what the old
         | system does after decades of iteration is usually a delusion.
        
         | nerpderp82 wrote:
         | > Intel could never create a product like ARM
         | 
         | Intel's StrongARM (originally DEC) chip had the highest
         | perf/watt of any cpu in the industry. They later sold StrongARM
         | to Marvell for 600M. Not only couldn't they create it, they
         | couldn't continue to sell it even though it was widely
         | successful.
         | 
         | The "tyranny essay" is wonderful on many levels. It is mostly
         | about human social-political structures, if one wanted to be
         | true to "structurelessness" you would have to have a
         | constructed double-blind system to enforce it. Otherwise you
         | get fascist overlay that breaks along existing personal power
         | dynamics. The in-group, central cadre and then everyone else on
         | the periphery.
         | 
         | Structureless _movements_ can be extremely effect at scaling an
         | organization, but at some point you need to collapse that chaos
         | into something cohesive.
         | 
         | https://www.jofreeman.com/joreen/tyranny.htm
         | 
         | https://en.wikipedia.org/wiki/The_Tyranny_of_Structurelessne...
         | 
         | > This lack of structure, Freeman writes, disguised an
         | informal, unacknowledged, and unaccountable leadership, and in
         | this way ensured its malefaction by denying its existence.[3]
         | As a solution, Freeman suggests formalizing the existing
         | hierarchies in the group and subjecting them to democratic
         | control.
         | 
         | Due to the writing style, I found it really effective for my
         | understanding was to have chatgpt summarize and explain
         | passages, and then have it explain it again.
        
       | vajrabum wrote:
       | This is fun from the article: "Normally we think of the CAP
       | theorem as applying to databases, but it applies to all
       | distributed systems. Centralized databases do well at consistency
       | and availability, but suck at partition tolerance; so do
       | authoritarian government structures."
        
       | karmakaze wrote:
       | > Back in university, students used to tease the Systems Design
       | Engineers, calling it "boxes and arrows" engineering. Not real
       | engineering, you see, since it didn't touch anything tangible,
       | like buildings, motors, hydrochloric acid, or, uh, electrons.
       | 
       | Hey, I resemble that remark! Quite true though. The common paths
       | I saw was adding a specialization or continuing on getting an MBA
       | for others.
        
         | anonporridge wrote:
         | Even the nerds have an internal hierarchy where they tease the
         | deeper nerds.
        
           | p0pcult wrote:
           | ...and the shallower nerds.
        
       | woopwoop wrote:
       | In this context does the word "system" have a different meaning
       | than "thing"?
        
       | kilgnad wrote:
       | Seems like systems design is just studying a potpourri of
       | engineering disciplines and the job entails stringing it all
       | together the best that you can. Is there a formal theory about
       | systems? I don't think so, and if there is, there's definitely no
       | way to quantify if one system is "better" than another.
       | 
       | Since no formal theory about the field exists.. every conjecture
       | is just opinion. So someone working in systems design won't
       | necessarily come up with a better "design" then some other person
       | who doesn't specifically work in the field given that there's a
       | lack of a formal theory to prove it either way. In software these
       | guys who do "designs" are the system architects and I think the
       | ridicule is justified given that anyone can do it.
       | 
       | Category theory is the closest thing I've seen to a fundamental
       | theory of design and I'm positive it's not well known among
       | "systems design" engineers. Honestly it's not even that useful
       | either because the theory doesn't include any measurement to
       | determine if one structure is "better" than another.
        
         | sho_hn wrote:
         | > I think the ridicule is justified given that anyone can do
         | it.
         | 
         | Ouch, that hurts. I had to do 15 years of C++ programming and
         | put working code on 10bn devices to have a shot at a "System
         | Architect" position ...
         | 
         | That said, I don't know much of the theory - I do know software
         | and hardware from experience making and shipping it.
        
           | kilgnad wrote:
           | Maybe I shouldn't say "Anyone can do it."
           | 
           | I mean more like you don't need any "design" training or
           | specific "systems" training because no actual theory about
           | this stuff actually exists. It's bullshit.
           | 
           | You did 15 years of C++ so you have domain knowledge of C++
           | and whatever area you work in. You don't need any extra
           | "design" training to get good at it. So a better way to say
           | it is this: Anyone who is knowledgeable about whatever
           | they're working on can do "design" you don't need to hire
           | someone who's an expert in "design."
           | 
           | Your title "Systems Architect" is more of a symbol of your
           | rank and years of experience then it is your ability to
           | design.
        
             | righttoolforjob wrote:
             | Even though there isn't a formal theory, there definitely
             | is a big difference between a person capable of doing good
             | system design and one who isn't. I don't think all people
             | are capable of becoming a systems designer or architect. It
             | is not always required for projects, but when it is
             | necessary it can make a great difference, putting a project
             | on the right track from the beginning and keeping it on
             | track, making sure it all becomes something good in the
             | end.
             | 
             | I've done it enough to know that I couldn't do it while
             | keeping my IC-type role as well. For me, personally, I
             | approach systems design in a sort of breadth first search
             | for a solution to the entire problem space, whilst deep-
             | diving into particular areas where I am less certain. For
             | other parts my experience lets me brush over details quite
             | quickly.
             | 
             | However, that is quite different from an IC-type role,
             | where you'll typically run into a multitude of practical
             | engineering issues that can be frustrating and take a lot
             | of time. Tool issues, cloud issues, bug hunting, smoking
             | out every little detail, write unit tests, review others
             | code, etc. That would completely throw your mental cycles
             | in the wrong bucket.
             | 
             | I don't think you should do system design without having
             | plenty of experience from IC-type roles though. You have to
             | have understood so many different aspects; capabilities of
             | the people at hand, the organization at large, tools,
             | frameworks, technologies, etc, and be very, very willing to
             | communicate the picture over and over again and take in
             | feedback as the project progresses. It's technical
             | leadership at one of the hardest levels.
             | 
             | But realise at the same time that even software development
             | itself doesn't have anything resembling a universal theory,
             | common processes or frameworks. It's all changing, being
             | reinvented, and rediscovered on a continuous basis. It is
             | equally true that many things even in medicine or
             | construction aren't based on any solid science.
        
         | [deleted]
        
         | di4na wrote:
         | you can search "cybernetics" to see _one_ of the formal theory.
         | There is... quite some background in there.
        
           | kilgnad wrote:
           | This doesn't look formal at all.
           | 
           | Usually formal theories need a logical mathematical language
           | to fully characterize it. I scanned the wikipedia of
           | cybernetics and it's just not it.
           | 
           | Control theory or signals is the closest formal theory to
           | cybernetics. The problem with this theory is that it only
           | characterizes very specific systems that have ordinal values
           | as inputs and outputs. What if the input is text? What if
           | it's tuples of tree like tokens?
           | 
           | The closest theory that encompasses the intuition of what we
           | think of when we use the word "systems" is category theory in
           | my experience. And this theory is in fact sort of too general
           | to be very useful.
        
             | di4na wrote:
             | you consider scrolling through wikipedia a review of the
             | formality of the field? I think you may need to consider
             | how formal you are :)
             | 
             | And no, category theory is not even approaching explaining
             | this. At all.
        
       | yamrzou wrote:
       | Previously on HN:
       | 
       |  _Systems design explains the world_ -
       | https://news.ycombinator.com/item?id=25552267 - Dec 2020 (155
       | comments)
        
       | dgs_sgd wrote:
       | Funny anecdote from my time at the University of Waterloo:
       | 
       | The systems design engineering major was abbreviated to SYDE. It
       | was a popular joke to ask friends in that major "so what is
       | systems design engineering?"
       | 
       | They had a self deprecating chant in response: "S Y D E what is
       | systems? Don't ask me!"
        
       | zmgsabst wrote:
       | "Systems thinking" is why Seattle turned into a mess:
       | 
       | People patted themselves on the back for their "deep
       | understanding", failed to include all the voices, didn't actually
       | understand the complex dynamics, and drove straight into a wall.
       | 
       | Empirically, they're not good at what they do -- if a government
       | paying for their advice ends up with a disaster.
       | 
       | We don't call civil engineers who collapse skyscrapers
       | successful.
        
         | shaunkoh wrote:
         | Not familiar with what happened in Seattle. Are you referring
         | to this?
         | 
         | https://www.washington.edu/news/2021/07/09/dawn-lehman-on-th...
        
         | edgyquant wrote:
         | Just because the world is a system doesn't mean a bunch of
         | people high on morality actually understand that system.
        
           | zmgsabst wrote:
           | Yes -- that's my point.
           | 
           | The people who call themselves "systems thinkers" can't
           | produce results, when governments hire them for projects.
        
       | nerpderp82 wrote:
       | Great article.
       | 
       | I find systems design and complex adaptive systems fascinating. I
       | really recommend the book, "Hidden Order: How Adaptation Builds
       | Complexity" by John H Holland. It is technical but aimed at the
       | educated, non-technical reader, with enough description that you
       | could code along to his models. I really wish he had written more
       | books. RIP.
       | 
       | Another good source of systems thinking are the books by Jane
       | Jacobs on urban planning.
       | 
       | I think anyone wanting to study this area rigorously would need
       | to spend time doing detailed discrete event simulations,
       | understand probability theory, time series analysis, phase space
       | analysis, experimental design, graph theory and queueing theory.
       | 
       | Like databases or operating systems, complex systems embody many
       | fields of study simultaneously. One of the funnest parts is that
       | they can be modeled at so many different levels.
       | 
       | Complex Adaptive Systems
       | https://en.wikipedia.org/wiki/John_Henry_Holland
       | 
       | Urban Design https://en.wikipedia.org/wiki/Jane_Jacobs
       | 
       | Ants https://theconversation.com/e-o-wilsons-lifelong-passion-
       | for...
        
       | kerblang wrote:
       | On this second-systems effect: Okay, what if the initial system
       | has reached a point of being unmaintainable and a new system is
       | needed, and there just is no way to get it to where it needs to
       | go incrementally, because the pathways just aren't there; it's a
       | from-scratch do-over. Now what? Abandon hope? I don't get that.
       | 
       | I work at an organization where the second-system is being
       | attempted and jealousy, sabotage, resistance to change and more
       | come into play (why do they get to build it? we should build it!
       | let's tell everybody how much it's going to suck because those
       | guys are stupid! etc) but the danged thing is badly needed.
        
         | bcrosby95 wrote:
         | The second system effect is basically death by 1,000 cuts. You
         | avoid it by designing a new system that you need rather than
         | designing a new system you think you might need in the future.
         | 
         | It becomes a problem because you think "we're doing this whole
         | new system, lets add two dozen bells and whistles we don't have
         | or need yet, surely it won't affect time to delivery!" Bzzzt,
         | wrong.
        
         | bklaasen wrote:
         | That's part of the system. Management is failing if it's not
         | acknowledging and tackling this part of the system that's
         | prepared to destroy the whole to preserve itself.
        
       | _glass wrote:
       | In the social sciences you have Talcott Parsons, and Niklas
       | Luhmann, that see society as a social system. To some extend the
       | author does explain social systems, with taking the system theory
       | from technical systems, which is kind of the origin of those
       | theories. It is a very useful theory, but lacking in a lot of
       | ways. For example social systems theory doesn't account for the
       | dynamism of society. It more or less shows a static picture of
       | what we know. But societal structures have a history and a
       | movement in the future. Also human agency is absent, that we are
       | not determined by some laws like machines, but have agency.
       | Lastly what can be critisized is the inherent functionalism. In a
       | system everything is assigned a function, and mostly exists
       | because of its function. This doesn't need to be true in reality.
        
       ___________________________________________________________________
       (page generated 2023-03-09 23:00 UTC)