Hacker News new | past | comments | ask | show | jobs | submit login
Ask HN: Any recommended resources to develop system thinking?
365 points by febin on March 29, 2018 | hide | past | favorite | 106 comments
I have read Thinking in Systems by Donella Meadows, anything else?

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 alternatives: “TCP”, “Open Sound Control”, “Plan9”, “REST”, “Lisp”, “Erlang”, “Smalltalk”, “Forth”, “Datomic”, “event sourcing”, “reactive programming”, “communicating sequential processes”, “APL”/“J”/“K”, “Ansible”, “jq”, “graph databases”, “Apache Kafka”

The idea is not to become an expert in any of these, but to digest the wisdom that lies in their design and surrounding literature. Each was created after lots of careful thought by brilliant people about how to build sustainable systems.

This is how it worked out for me. I tried to build the system myself and note the abstractions, edge case. It didn't make me an expert in all things but gave me the right questions to ask. As you do enough of these your expertise will crystallise in a particular domain.

Started by building my own build system, monitoring solutions, taking at stab orchestration problems, graph databases etc.

The problem statement would be super simple like how do I install my application on 100 servers? And I will start off with bash, tar, ssh and work my way up.

The goal isn't too finish. You want to discover the problems first hand, decide upfront how you would evaluate an acceptable solution, attempt a naive solution, and then look at an open source system, note the family of algorithms + data structures then loop back and move onto the next set of problems in the domain.

Ideally the system you're building is distributed.

Mostly I work from the outside going in and counterintuitively I start with the two non-functional requirements, as questions: how fast do you want it to go, secondly how badly can the system fail. I find that I'm peculiar in this approach.

This won't work for everyone. It has for me because it's allowed me to build a handy library of interrogative and evaluative heuristics and develop strong understanding system architectures and design

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

There's also linear system theory, which control theory is related to.

Most of those technologies are known for either how they handle complexity, or the coordination between asynchronous actors with shared resources

Uhhh what? jq is basically an updated sed. One input stream, one output stream, no awareness of anything else

You don't see how a simple input/output streaming model would be helpful in understanding systems theory and design?

There are a _lot_ of systems out there that tie together various components with tools that behave a lot like jq (or literally are jq...)

Yes this is how every Unix command line utility works.

There is nothing unique about jq in this regard, and there is nothing particularly “systems thinking” about any of them. You can and people have used them for decades without doing any special “systems thinking”.

The Unix model is really useful in my systems thinking precisely because thousands of components all use the stream in/out approach. This made then reliable within a system to be used together in many different combinations and interactions.

Also a good example of loose coupling that allows for good thinking of systems.

In school we watched the 1990 movie [MindWalk](http://www.imdb.com/title/tt0100151/). You can watch it on YouTube https://youtu.be/Uec1CX-6A38

> There is nothing unique about jq in this regard

Does there have to be?

It's simply an example of a good systems pattern/approach.

I took your "e.g." to mean inclusive of jq and Erlang, but extensive to the entire list. What I said applies to Erlang, OSes, and LISP, but maybe not to jq (I wouldn't know).

Perhaps they meant it as a good example of the type of component to build systems out of, simple input->output. Unsure though.

Missing the thing that has had the single biggest impact on how I personally think about programming: Learning a properly typed language (e.g. Haskell).

I'd also substitute Ansible with Nix/NixOS because the conceptual takeaways are much greater there.

> how to build sustainable systems

Well, except for reactive programming

Where does one get started building a simple database?

I found Martin Kleppmans book - Designing Data-Intensive Applications (http://martin.kleppmann.com/) to be a great primer.

An absolutely _fantastic_ book. It was also one of the scariest books I've read recently. Made me realize just how much I don't know (and don't know that I don't know!) about the failure modes of distributed systems.

This is a must read book even if you're not building a database :)

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

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.

To me, systems thinking is all about accepting that _most_ thinking that isn't physics contains interactions that wouldn't pop naturally in the mind during analysis.

So the first step to thinking in systems is the acceptance that there are more interactions out there in the world than what can fit in our mind or what jumps to us through intuition.

I find sketching diagrams helps. I also try to see feedback loops and bottlenecks.

My recommendation would be to try breaking down systems. For example, I do that on my blog:

- https://invertedpassion.com/revenue-requires-investment-prof...

- https://invertedpassion.com/science-of-setting-achieving-goa...

- https://invertedpassion.com/what-food-delivery-companies-can...

Reminds me of Frederic Bastiat's "that which is seen and that which is not seen".


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.

I second the recommendation of Weinberg, its a classic.

A few cool reads in this area that are varyingly-related to software:

* Architecture of Open Source Applications (http://aosabook.org/en/index.html): always a nice reference for brief overviews of how various OSS projects are architected.

* Counterintuitive Behavior of Social Systems (https://ocw.mit.edu/courses/sloan-school-of-management/15-98...): primarily an argument by Jay Forrester (the "father" of system dynamics) for using computer models to test social policy changes, but also serves as a primer for how systems are complicated, and how to approach reasoning about complex systems.

* A City Is Not A Tree (http://en.bp.ntu.edu.tw/wp-content/uploads/2011/12/06-Alexan...): ostensibly a paper about the structure of cities, but but really a deeper insight into the limits of using tree-like structures to describe systems.

I had never heard of "Architecture of Open Source Applications". Nice, and free online!

Systemantics: How Systems Work & Especially How They Fail by John Gall. https://www.amazon.co.uk/Systemantics-Systems-Work-Especiall...

The writing style is kind of unusual, but there is a lot of wisdom to be found in it.

That book is half commedy, but does give some interesting things to think about. I enjoyed reading it, and have been meaning to read it again.

I find the visibly distinct split in recommendations to be fascinating.

Of the books I've read, Sterman's Business Dynamics: Systems Thinking and Modeling for a Complex World is the best all-round introduction to both the theory and practice of systems thinking.

There are a lot of books and as a family of related fields, systems have historically attracted creative and iconoclastic thinkers. That can be fun, but also frustrating. I think Sterman strikes the right balance.

It can be surprisingly difficult to lay your hands on a copy; Amazon tends to list 2nd-hand copies at high prices ($200+). I waited several years before seeing one on sale for $90.

As an aside, I see that while amazon.com currently lists them quite highly priced right now, alibris.com can find some much cheaper versions. Second hand prices on amazon are sometimes surprisingly high, and sometimes, their new prices too - I routinely check bookdepository, wordery, booksplea.se, agreatread, thriftbooks, abebooks and alibris - each of them bests the others and Amazon frequently enough to keep checking them all. My list of sites to check is UK focused, but I expect there are US equivalents.

Looks like alibris will do a copy of the book in question for a bit under 20 USD as I type, with some searching around.

Piranhas.co does the same, though with less sites. It also includes shipping costs.

I can only support the recommendation. It not only has good insights on systems thinking, it also pays a lot of attention on communicating systems thinking and recommendations based on it to others since, as a rule, to get any meaningful changes done at least half of the work is convincing other people.

Abebooks lists several copies in the 20-25 USD price range though. Some even with CD-Rom... they all seem to be “International Edition” whatever this means.

"International Edition" generally means printed significantly more cheaply, and not intended for sale within "rich countries"; generally countries where they can realistically push the expensive version. International Editions often say on them "Not for sale in the US" or some such, depending on the publisher; they sell in poorer countries at a lower price.

The quality is often, in my experience, significantly lower; the paper is thinner, the ink cheaper, sometimes the alignment of the printing is a little off. Colour plates are missing or decoloured, hardbacks become softbacks, and so on. But, the words are the same, and sometimes the International Edition is actually pretty reasonable quality. I've got some that are clearly pretty shoddy, and some that you wouldn't actually know were Internationals. I suspect that sometimes publishers don't reprint it cheaply; they just stamp some of them "International Edition, not for sale in countries <x y z>" on it and ship them abroad to sell, much as some semiconductor manufacturers' cheaper chips actually come off the same line as the expensive ones, and then get tweaked (or even just labelled down). A sale is a sale.

If you are interested in systems theory, I would recommend Ross Ashby's Introduction to Cybernetics. It's a short book and free to download: https://archive.org/details/introductiontocy00ashb

Much of the pioneering work in systems theory was done in the 1930-40's by different (but related) groups of academics in the fields of Systems Theory, Cybernetics, as well as Operational Research. Bertalanffy and Wienberg are progenitors of those fields, but I would stick to people like Ashby, who are much better writers. The work they produced is profound and laid the foundation for much of our modern academic disciplines and industrial practices.

There are a lot of fascinating people and fascinating work that came out of those academic groups during that period. They are too many to list, but I would give William Grey Walter and his robotic tortoise's as an example: https://www.youtube.com/watch?v=lLULRlmXkKo

This might be beyond the scope of what you want, but I would also heartily recommend Carver Mead's Analog VSLI and Neural Systems: https://www.amazon.com/Analog-VLSI-Neural-Systems-Carver/dp/...

The Santa Fe Institute[0] has some courses, tutorials, and publications[1] mainly, it seems, around complexity science. Complexity science isn't the same as systems theory/science, but most (all?) systems are complex so systems thinking usually necessitates some grasp of complexity. It's probably a good place to start.

They also have short courses on information theory, differential equations, and such.

[0] https://www.santafe.edu/ [1] https://www.santafe.edu/research/results/books

I, actually have no idea what this really means. Does anyone have a good explanation?

Systems Thinking redirects to Systems Theory on wikipedia: https://en.wikipedia.org/wiki/Systems_theory

Is that what we're talking about?

from the book page 2:

So, what is a system? A system is a set of things-people, cells, molecules, or whatever-interconnected in such a way that they produce their own pattern of behavior over time. The system may be buffeted,constricted, triggered, or driven by outside forces. But the system's response to these forces is characteristic of itself, and that response is seldom simple in the real world.

Donella H. Meadows. Thinking in Systems: A Primer (Kindle Locations 89-90). Kindle Edition.

This is one of the most important books I've ever read, if you want the way you think about the world to change read it. It's a very short read to.

I am similarly confused, 'system' is a very overloaded term..

Yes. So it is systems theory applied in multiple domains, can be used as a framework to understand or model the world around you.

See my other posts.

It is a way of thinking about the world, and contrasts with traditional linear thinking. It is where interaction and interrelationships are understood to drive outcomes and behaviours of the system under study.

As mentioned it is a massive field.

The NASA Systems Engineering Handbook is one of my favorites: https://www.nasa.gov/sites/default/files/atoms/files/nasa_sy...

In addition to reading about systems thinking, I would recommend actively practicing it. I’ve found that looking for and cataloging abstract patterns has developed my ability to recognize and reason about real-world systems.

For an example of what I mean, take a look at this project: https://github.com/perspectivesonatheme/patterns

Perhaps this would interest only EU hackers .. but I think it’s going to be extremely interesting as a “system design/theory” problem.

There is the GDPR regulation going to kick off in May 2018. Simply put it regulates how an organization has to handle personal data. And that is a huge deal.

The task is: Make the organization GDPR compliant.

Does anyone has a suggestion how to approach such a task from the most general “system design/theory” perspective?

GDPR interests US hackers too. I'm currently working on a SAAS that helps companies manage their data privacy, with GDPR being the main driver. I can't say much about our approach just yet as we're in stealth mode still, but imho the approach should be centered around awareness of what, where, and how data is stored. That's the very first step.

I'd read books that contain case studies of systemic phenomena. Like books on evolution (I'd recommend those by Dawkins and Dennett) or economics (even something like the Planet Money podcast). Reading about specific cases is good for honing your intuitions about systems, which is important for being able to think in systemic terms.

I don't know your background but I also think learning programming is valuable.

Thinking in Systems: A Primer

by Donella H. Meadows (Author),‎ Diana Wright (

ISBN-10: 1603580557 ISBN-13: 978-1603580557

"Introduction to Agent-Based Modeling" Course.


It is an introduction to NetLogo (a free simulation software and a Programming Language), but in hindsight I think the couse and the book teach some useful concepts.


Building Evolutionary Architecture

The Checklist Manifesto

The Half Life of Data

How Buildings Learn

I recommend looking into anything around processes or process-building/management, project management, how incentives work, and how the brain works. The natural world and the corporate world are great examples of systems in action.

See also Jane Jacobs, "The Death and Life of Great American Cities"


Seconded the Checklist Manifesto.

Checklist Manifesto is a great (and short/easy) read that I also recommend, but I don't think it's going to be especially helpful to someone looking for techniques to develop new systems thinking models.

At most, it's a recounting of someone else's very specific systems work that has some unexpectedly strong outcomes from surprisingly simple drivers.

Thinking and Deciding by Jonathan Baron: https://www.amazon.com/Thinking-Deciding-4th-Jonathan-Baron/...

General System Theory by Ludwig von Bertalanffy: https://www.amazon.com/General-System-Theory-Foundations-App...

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 the system scales. The norm is not the closed-loop circuit models that initially inspired systems thinking, but open-loop energetic models where any structural element is more like a rarified pattern than an ontological atom.

The result is a discipline that has transformed into managing uncertain outcomes in large heterogeneous models, i.e. complexity theory, rather than reducing everything to balls-and-sticks. Meadows was famous for devising "12 basic places to intervene in a system", nowadays the focus is on hedging bets adequately such that interventions don't catastrophically fuck up.

That said, some of the basic tooling is still flexible enough for basic business problems and some of the old gems are able to explain important concepts found in other fields without getting bogged down in the math.

https://www.amazon.com/Early-Retirement-Extreme-Philosophica... is my favourite, it's not about retirement, it's about using systems thinking to devise a robust lifestyle.

https://www.amazon.com/Introduction-General-Systems-Thinking... will make a good complement to Meadows and should give you a calculus to rigorously think of systems with.

https://www.amazon.com/Introduction-Cybernetics-W-Ross-Ashby... for its explanation on entropy, I mean requisite diversity, which will you give you an approximate mental quantity of how "powerful" any given system is.

https://www.amazon.com/Sciences-Artificial-Herbert-Simon/dp/... and https://www.amazon.com/Design-Rules-Vol-Power-Modularity/dp/... I haven't read either of these, but Herb Simon is extremely influential and has great thoughts on the notion of system hierarchies (nearly-decomposable systems is a great concept for design). The second book is about the properties of modular systems, which will help grok the reasoning behind a lot of refactoring techniques.

Good luck.

"complexity theory" is very important!


my favorite: New England Complex Systems Institute (NECSI) website!

* About Complex Systems : "Concept Map" http://www.necsi.edu/guide/concepts/conceptmap.html

* Learn: http://necsi.edu/learn.html

* "Dynamics of Complex Systems" - Full PDF: http://necsi.edu/publications/dcs/index.html

* NECSI Seminar Video Library: http://www.necsi.edu/events/vidlib/

* Research: http://necsi.edu/research.html

As much as I love NECSI and Santa Fe Complexity Institute, the way the science is taught is a bit of a grab bag. Way too much emphasis on models that aren't widely applicable to engineering problems, like cellular automata.

Nassim Taleb's collaborations with NESCI are worth their weight, though, and W Brian Arthur out of SFI produces works that I consider actionable for CTOs to get a conceptual handle on their craft. UoM's Scott E Paige is also a good resource on Complex Adaptive Systems in a way that is more unified.

Came here to post Dynamics of Complex Systems. Just the information on renormalization groups and multi-scale behavior makes it worth the time. And it's Free!

Seconding the recommendation of Herbert Simon, especially Sciences of the Artificial.

Very interesting. Can I ask from which background you came to be interested in systems (e.g. biology or electrical engineering)?

Philosophy and Design, I wanted to understand the world in the most general way possible to be flexible enough to adopt to any problem. I also like thinking clearly and being right

The good ole Gerald Weinberg always has wisdom to share: https://leanpub.com/generalsystemsthinking

Science, Strategy and War covers the OODA loop which has a lot of similarities with systems thinking which I found useful in terms of orienting business and attacking problems.

Paras Chopra's blog - https://invertedpassion.com/

I highly recommend this now free book: https://www.gilb.com/p/competitive-engineering A metric-based approach to systems engineering focused on continuous improvement and adding value.

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.

I don't have any specific links, but ISTR that INCOSE has a lot of publications & recommended practices, etc. However, nothing beats working with an experienced Systems Engineer (as in: someone with a degree in Systems Engineering who has practiced it for many years) if you have the opportunity. I learned something every day working with those guys.


Their 'handbook' is a great source, older versions can be found online for free:

[pdf] http://disi.unal.edu.co/dacursci/sistemasycomputacion/docs/S...

This is a bit of a non answer, but there was an early MOOC delivered on this topic. I remember this was back in 2010/2011 and the topic was System Thinking.

The course was delivered by a political scientist, but focused entirely on systems thinking.

I will look for it and return; But for now I don't have the name of the course, or the university. I can remember is the year :).

Edit: Found it; https://www.coursera.org/learn/model-thinking

A lot of folks liked Just Enough Structured Analysis by Yourdon. Yourdon's methods date back to the 1970's with a lot of real-world application. That approach was also used in at least one high-assurance system (Tenix Data Diode).


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.


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

In case you wanna dig really deep, check out:


... and have a look at their handbook. Older copies should be available for free online:


[pdf] http://disi.unal.edu.co/dacursci/sistemasycomputacion/docs/S...

Haven't read it myself but:

The Fifth Discipline: The Art & Practice of The Learning Organization

is one I've heard a lot of systems people recommend

Honestly, play a bunch of videogames and pay attention to the mechanics and optimal play strategies. They're doing a fantastic job of giving even young children an extremely deep intuitive understanding of system thinking concepts. Stay away from twitchy multiplayer competition-based games, though, those teach nothing.

Some video games, like SimCity 4, can't be played well without being a systems thinker. Everything connects to everything else in the game. If you change a factor (such as a residential tax property tax rate, or the number of roads in a neighborhood) there will be cascading effects on other game factors (such as city revenues for police, or neighborhood air pollution).

The book Making Things Work by Yaneer Bar-Yam

Russ Ackoff's "Ackoff's Best: His Classic Writings on Management" di Russell L. Ackoff.


And also Ackoff's talks on Systems Thinking:


Oh how I remember Ackoff. Required reading for undergrad Systems Design Eng. What is a system..., Good times

Read 'Domain driven design'. Read about product development and talk to non-technical product owners, CEOs, and so on. One of the major challenges in building functional systems is to understand the domain as that's what going to constrain you in the real life.

The work of John Holland, Melanie Mitchell, Geoffrey West, most anyone at the Sante Fe Institute.

I try to maintain proximity to insights I read in this space with a fortune database tailored to the area: http://github.com/globalcitizen/taoup

Along with Meadows' Thinking in Systems I read Mitchell's Complexity: A Guided Tour, which is just that - a reasonably superficial tour over many examples. It's a very good starting point since it's got a long bibliography.

What were your key takeaways from "Thinking in Systems"?

What is your goal with systems thinking?

I got an idea of system thinking, but I found it difficult to understand some concepts. I simply want to get good at building great systems.

Does this pretty much boil down to "if we poke it here, what will it do?"

Do object oriented programming. On the way you'll create systems of objects and with ongoing experience you'll also learn to move the abstraction layer around.

I think while doing this for some time it's a little easier to think about other (real world) problems as systems and you may find parallels between software development and this real world.

introduction to cybernetics. it is a great book with exercises and it is free.


The answer below assumes the following:

- You are talking about the application of general systems theory. https://en.wikipedia.org/wiki/Systems_theory

- You would like to learn to apply 'systems thinking' principals and analysis in many domains or to new problems

- You would like to learn to model systems

- It is also important to note in many domains there are specific branches of systems theory that may be more applicable. https://en.wikipedia.org/wiki/List_of_types_of_systems_theor...

- You could spend an entire lifetime learning in this field as many have done.

Types of systems:

Systems can be broken down by multiple dimensions:

- Complex

- simple

- unitary

- pluralist

- coercive

Systems thinking approaches:

- Hard systems thinking

- Systems dynamics

- Cybernetics

- Complexity Theory

- Soft Systems

- Emancipatory systems thinking

- Postmodern systems thinking

Learning More about Systems Thinking:

- A great website is the systems thinker, that covers quite a bit of topics. The articles are actually archives of a newsletter called "The systems thinker" https://thesystemsthinker.com/

- To get an overview of various approaches to systems thinking from an organizational perspective:

Systems Thinking: Creative Holism for Managers by Michael C. Jackson. https://www.amazon.com/Systems-Thinking-Creative-Holism-Mana...

- For general systems theory: An Introduction to General Systems Thinking by Gerald M. Weinberg https://www.amazon.com/Introduction-General-Systems-Thinking...

- For systems thinking and the learning organization:

The Fifth Discipline: The Art & Practice of The Learning Organization by Peter Senge https://www.amazon.com/Fifth-Discipline-Practice-Learning-Or...

- There is a great course that covers soft systems methodology, specifically to solve social problems: https://www.plusacumen.org/courses/systems-practice

- Habits of a systems thinker: https://www.watersfoundation.org/systems-thinking-tools-and-...

- Systems thinking resources: http://donellameadows.org/systems-thinking-resources/

* Update added additional resources.

+1 for The Fifth Discipline, and I also recommend The Fifth Discipline Fieldbook.

Thanks for recommending stuff no one else did.

Inside the Aquarium: Making of a Top Soviet Spy -Viktor Suvorov

I suspect a strong background in Physics leads to systems thinking.

Especially since a couple of my favourite system thinkers are Jacob Lund Fisker and Elon Musk. They both have degrees in physics.

I looked up Fisker and it appears he is someone who combined personal austerity with a decent income in order to retire early. A couple of books, a blog, and several interviews, but that's literally all they're about. How are you interpreting "systems thinking"? What's the difference between "systems thinking" and "analysing and making informed decisions according to one's goals"?

Honestly you'd have to read his book or some of his posts on the forum or blog to get a sense of his system thinking. I can't immediately point out any good links though, the book is a good start. It's not so much a personal finance book but about systems and models, I highly recommend it. At least you'd get the sense of what it looks like when a physicist writes a "personal finance book"

Since when did Musk get a PhD in anything? He has a BS in physics

Read 'The Fifth Discipline'

Read Peter Senge's work.

Learn by watching and reading materials released by great system thinkers.

Ludwig von Bertalanffy


John Seddon




Theory of Constraints

https://www.amazon.com/dp/B002LHRM2O The Goal / Eli Goldratt

https://www.amazon.com/dp/B00KYW1L66 Necessary but Not Sufficient / Eli Goldratt

https://www.amazon.com/dp/0884271137 It's Not Luck / Eli Goldratt

https://www.amazon.com/dp/B00408ALES Isn't it Obvious? / Eli Goldratt

https://www.amazon.com/dp/B002LHRM2E Critical Chain / Eli Goldratt

https://www.amazon.com/dp/B004THZ9VK Be Fast or Be Gone / Andreas Scherer

https://www.amazon.com/dp/1499660901 Hanging Fire / Jeff Cox

https://www.amazon.com/dp/1439158932 Velocity / Dee Jacob

https://www.amazon.com/dp/B00XKX1FEO Epiphanized / Bob Sproull & Bruce Nelson

https://www.amazon.com/dp/B0185JFYEO Focus and Leverage / Bob Sproull & Bruce Nelson

A full list of books on ToC here http://www.tocico.org/?page=toc_books

Russell L. Ackoff


Gerald M. Weinberg


Philip B. Crosby


Peter M. Senge


And many more, most of which are mentioned by the above in their work.

There's actually a lot of great material available, here are a few of my favorites:


- Introduction to Systems Thinking (https://thesystemsthinker.com/introduction-to-systems-thinki...)

- Tools of a Systems Thinker (https://medium.com/disruptive-design/tools-for-systems-think...)

- The Mythical Leverage Point (https://blog.kumu.io/the-mythical-leverage-point-d582ce4b8b4...)


- Peter Senge Introduction to Systems Thinking (https://www.youtube.com/watch?v=eXdzKBWDraM)

- I Used To Be A Systems Thinker (https://www.youtube.com/watch?v=3Ymt_TbNNwE)

- The (Failed) Promised of Systems Thinking (https://www.youtube.com/watch?time_continue=614&v=aelqgvFXGi...)

- Systems Practice Mindsets (https://vimeo.com/212281432)


- +Acumen Systems Practice Course (https://www.plusacumen.org/courses/systems-practice)


- Thinking In Systems: A Primer by Donella Meadows (https://www.amazon.com/Thinking-Systems-Donella-H-Meadows/dp...)

- Fifth Discipline Fieldbook (https://www.amazon.com/Fifth-Discipline-Fieldbook-Strategies...)

- Systems Thinking for Social Change (https://www.amazon.com/Systems-Thinking-Social-Change-Conseq...)

Articles on Leading Systems Change:

- Dawn of Systems Leadership (https://ssir.org/articles/entry/the_dawn_of_system_leadershi...)

- Acting and Thinking Systemically (https://thesystemsthinker.com/acting-and-thinking-systemical...)

- Transforming the Systems Movement (https://thesystemsthinker.com/transforming-the-systems-movem...)

Relevant Tools and Websites:

- Kumu (https://kumu.io) - Web-based tool for building interactive system maps.

- The Systems Thinker (https://thesystemsthinker.com/) - Complete library of all "The Systems Thinker" publications over the past 30 years

(Disclosure: I'm a cofounder of Kumu)

Step 1: get out of the habit of thinking “systems” means “computers”. People and processes (not Unix processes!) are the major components of systems in this context.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact