Live data from Hacker News

Ask HN: Any recommended resources to develop system thinking?

news.ycombinator.com

81–90 of 113 posts

Re: Ask HN: Any recommended resources to develop system thinking?

#81
post #74

If you're able to read in German I can highly recommend Haberfellner's Systems Engineering. So far I couldn't find the book translated. https://www.ofv.ch/lernmedien/detail/systems-engineering/145...

That book looks promising. My German's not the greatest, but I tend to have an easier time with reading it.

Re: Ask HN: Any recommended resources to develop system thinking?

#82

Earlier quoted context omitted.

Can you develop a file format plus API that is ACID compliant in C?

Careful with that word ("ACID"), it's ridiculously easy to get screwed by the filesystem arbitrarily lying about things like the order of system calls: https://queue.acm.org/detail.cfm?id=2801719

The file system does not lie, it just does not provide guarantees of ordering.

Re: Ask HN: Any recommended resources to develop system thinking?

#83

Gerald Weinberg has several books on the topic [0, 1]. Dorner [2] has a short, sharp, thoughtful book on our biases in analyzing complex systems. [0] 'An Introduction to General Systems Thinking', Gerald Weinberg [1] 'General Principles of Systems Design', Gerald Weinberg [2] 'The Logic Of Failure: Recognizing And Avoiding Error In Complex Situations', Dietrich Dorner

+100 "The Logic Of Failure" is a great starting point, and everything by Gerald Weinberg is worth reading.

Re: Ask HN: Any recommended resources to develop system thinking?

#84
post #13

Rich Hickey has some great talks on YouTube. If you are a software engineer: Build a simple database, a simple interpreter, and a simple web application (backend and frontend). Read about “distributed systems”, “devops”, “Conway’s Game Of Life”, and “fractals”. Read about these technologies/techniques (in whatever order is comfortable), how they work, their pros and cons, why they were created, how they compare to al…

Huh? I currently work with some of the technologies you mention, but fail to see the connection to systems theory. Can you elaborate why e.g. jq or Erlang are relevant here?

- There seems to be confusion here.

- There is general systems theory [0] and within that systems engineering[1] where you will find software systems [2]

- OP is most likely talking about how to use of general theory of systems in different domains and not specifically software systems.

- If one considers JQ, SED and "One input stream, one output stream" and then compares that to a model of a system using a CLD (Causal Loop Diagram). A CLD is effectively "An input, followed by an output"

- Another word that could be used for "input stream" would be 'flow' from system dynamics [3]

- One could apply general systems theory (the abstract concept) to just about anything

[0] https://en.wikipedia.org/wiki/Systems_theory

[1] https://en.wikipedia.org/wiki/Systems_engineering

[2] https://en.wikipedia.org/wiki/Software_engineering

[3] https://en.wikipedia.org/wiki/System_dynamics

Re: Ask HN: Any recommended resources to develop system thinking?

#85
post #18

Rich Hickey has some great talks on YouTube. If you are a software engineer: Build a simple database, a simple interpreter, and a simple web application (backend and frontend). Read about “distributed systems”, “devops”, “Conway’s Game Of Life”, and “fractals”. Read about these technologies/techniques (in whatever order is comfortable), how they work, their pros and cons, why they were created, how they compare to al…

Where does one get started building a simple database?

Something like a kv store with a btree or sstable. https://github.com/antirez/otree simple example I think

Re: Ask HN: Any recommended resources to develop system thinking?

#86
I suggest three interesting exercises:

- design a QA process for a software product. How important is "blame" vs team learning? What are the tradeoffs of a blame-oriented approach vs a systems oriented approach?

- build something using AWS or App Engine infrastructure that makes you have to work around the various constraints imposed by the system designers. Consider how to make a system reliable when building it using "unreliable" services.

- consider a Marxist interpretation of the US legal system. I'd argue that it constitutes a reasonable systems oriented critique, and makes it clear how (at least for me) pre-existing biases made it at first seem absurd. I suggest this mainly to highlight how biases can impact systems thinking. The QA process example is also deeply emotionally charged for many engineers but should not be.

Re: Ask HN: Any recommended resources to develop system thinking?

#88

The box-and-arrows paradigm for systems, built in the 50s and enjoying popularity briefly in the 80s, is overrated, and has been outmoded by the likes of complexity theory. This is due to the fact that box-and-arrows systems like those made by Club of Rome to predict civilizational collapse carry strong assumptions as to the nature and structure of underlying variables and as such become very brittle as the size of t…

Seconding the recommendation of Herbert Simon, especially Sciences of the Artificial.
Post reply on HN