Live data from Hacker News

Ask HN: Any recommended resources to develop system thinking?

news.ycombinator.com

71–80 of 113 posts

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

#71

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…

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

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

#72
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

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

#76
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).

http://zimmer.csufresno.edu/~sasanr/Teaching-Material/SAD/JE...

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

#77

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 d…

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

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

#79
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

Post reply on HN